public void Emit(OpCode opcode, FieldSpec field) { if (IsAnonymousStoreyMutateRequired) { field = field.Mutate(CurrentAnonymousMethod.Storey.Mutator); } ig.Emit(opcode, field.GetMetaInfo()); if (TrackStackTypes) { switch (opcode.StackBehaviourPush) { case StackBehaviour.Push0: // nothing break; case StackBehaviour.Push1: SetStackType(field.MemberType); break; case StackBehaviour.Pushi: SetStackType(ReferenceContainer.MakeType(Module, field.MemberType)); break; default: throw new NotImplementedException(); } } }
public void Emit(OpCode opcode, FieldSpec field) { if (IsAnonymousStoreyMutateRequired) { field = field.Mutate(CurrentAnonymousMethod.Storey.Mutator); } ig.Emit(opcode, field.GetMetaInfo()); }
public void Emit (OpCode opcode, FieldSpec field) { if (IsAnonymousStoreyMutateRequired) field = field.Mutate (CurrentAnonymousMethod.Storey.Mutator); ig.Emit (opcode, field.GetMetaInfo ()); }
public FieldInfo Mutate (FieldSpec fs) { // TODO: return fs.GetMetaInfo (); }
public void Emit (OpCode opcode, FieldSpec field) { if (IsAnonymousStoreyMutateRequired) field = field.Mutate (CurrentAnonymousMethod.Storey.Mutator); ig.Emit (opcode, field.GetMetaInfo ()); if (TrackStackTypes) { switch (opcode.StackBehaviourPush) { case StackBehaviour.Push0: // nothing break; case StackBehaviour.Push1: SetStackType (field.MemberType); break; case StackBehaviour.Pushi: SetStackType (ReferenceContainer.MakeType (Module, field.MemberType)); break; default: throw new NotImplementedException (); } } }