GetMetaInfo() public method

public GetMetaInfo ( ) : FieldInfo
return FieldInfo
Beispiel #1
0
        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();
                }
            }
        }
Beispiel #2
0
        public void Emit(OpCode opcode, FieldSpec field)
        {
            if (IsAnonymousStoreyMutateRequired)
            {
                field = field.Mutate(CurrentAnonymousMethod.Storey.Mutator);
            }

            ig.Emit(opcode, field.GetMetaInfo());
        }
Beispiel #3
0
		public void Emit (OpCode opcode, FieldSpec field)
		{
			if (IsAnonymousStoreyMutateRequired)
				field = field.Mutate (CurrentAnonymousMethod.Storey.Mutator);

			ig.Emit (opcode, field.GetMetaInfo ());
		}
Beispiel #4
0
		public FieldInfo Mutate (FieldSpec fs)
		{
			// TODO:
			return fs.GetMetaInfo ();
		}
Beispiel #5
0
		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 ();
				}
			}
		}