public virtual void Emit (OpCode opcode, Type type) {
make_room (6);
ll_emit (opcode);
- emit_int (0);
- Console.WriteLine ("Emit (opcode, type) not implemented");
+ emit_int (abuilder.GetToken (type));
}
public void EmitCall (OpCode opcode, MethodInfo methodinfo, Type[] optionalParamTypes) {
+
+Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
+
+ * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
+ * String.c: eliminate 64k+ method calls in search.
+ * Type.cs: handle byref and array types in ToString ().
+
2002-01-09 Duco Fijma <duco@lorentz.xs4all.nl>
* Guid.cs: created first version
public Type[] interfaces;
public Assembly assembly;
public TypeAttributes attrs;
+ public int rank;
}
internal class MonoType : Type
return _impl;
}
}
+
+ public override int GetArrayRank () {
+ MonoTypeInfo info;
+ get_type_info (_impl, out info);
+ return info.rank;
+ }
}
}
throw new ArgumentNullException ();
/* if the search buffer is shorter than the pattern buffer, we can't match */
- if (count < needle.Length)
+ if (count < needle.length)
return -1;
/* return an instant match if the pattern is 0-length */
- if (needle.Length == 0)
+ if (needle.length == 0)
return startIndex;
/* set a pointer at the end of each string */
- ne = needle.Length - 1; /* position of char before '\0' */
+ ne = needle.length - 1; /* position of char before '\0' */
he = startIndex + count; /* position of last valid char */
/* init the skip table with the pattern length */
+ nc = needle.length;
for (i = 0; i < 65536; i++)
- skiptable[i] = needle.Length;
+ skiptable[i] = nc;
/* set the skip value for the chars that *do* appear in the
* pattern buffer (needle) to the distance from the index to
skiptable[(int) needle[nc]] = ne - nc;
h = startIndex;
- while (count >= needle.Length) {
- hc = h + needle.Length - 1; /* set the haystack compare pointer */
+ while (count >= needle.length) {
+ hc = h + needle.length - 1; /* set the haystack compare pointer */
nc = ne; /* set the needle compare pointer */
/* work our way backwards until they don't match */