+2003-02-28 Zoltan Varga <vargaz@freemail.hu>
+
+ * ILGenerator.cs (Emit): Add fixup for already created methods and
+ fields. Do not add fixup for types since their table index do not
+ change any more.
+
2003-02-26 Zoltan Varga <vargaz@freemail.hu>
* TypeBuilder.cs (DefineInitializedData): Removed unnecessary assignments.
int token = abuilder.GetToken (constructor);
make_room (6);
ll_emit (opcode);
- if (constructor is ConstructorBuilder)
+ if (constructor.DeclaringType.Module == module)
add_token_fixup (constructor);
emit_int (token);
ParameterInfo[] mparams = constructor.GetParameters();
int token = abuilder.GetToken (field);
make_room (6);
ll_emit (opcode);
- if (field is FieldBuilder)
+ if (field.DeclaringType.Module == module)
add_token_fixup (field);
emit_int (token);
}
int token = abuilder.GetToken (method);
make_room (6);
ll_emit (opcode);
- if (method is MethodBuilder)
+ if (method.DeclaringType.Module == module)
add_token_fixup (method);
emit_int (token);
if (method.ReturnType != void_type)
public virtual void Emit (OpCode opcode, Type type) {
make_room (6);
ll_emit (opcode);
- if (type is TypeBuilder)
- add_token_fixup (type);
emit_int (abuilder.GetToken (type));
}