Esempio n. 1
0
 protected override Expression DoResolve(ResolveContext ec)
 {
     spec = field.Spec;
     type = spec.MemberType;
     InstanceExpression = new CompilerGeneratedThis(type, Location);
     return(base.DoResolve(ec));
 }
Esempio n. 2
0
 public override Expression DoResolve(EmitContext ec)
 {
     Methods            = new MethodBase [] { method.MethodBuilder };
     type               = method.Parent.TypeBuilder;
     InstanceExpression = new CompilerGeneratedThis(type, Location);
     return(base.DoResolve(ec));
 }
Esempio n. 3
0
 public override Expression DoResolve(EmitContext ec)
 {
     FieldInfo          = field.FieldBuilder;
     type               = TypeManager.TypeToCoreType(FieldInfo.FieldType);
     InstanceExpression = new CompilerGeneratedThis(type, Location);
     return(base.DoResolve(ec));
 }
Esempio n. 4
0
 protected override Expression DoResolve(ResolveContext ec)
 {
     Methods = new List <MemberSpec> (1)
     {
         method.Spec
     };
     type = method.Parent.Definition;
     InstanceExpression = new CompilerGeneratedThis(type, Location);
     return(base.DoResolve(ec));
 }
Esempio n. 5
0
			protected override void DoEmit (EmitContext ec)
			{
				Expression source;

				if (parent == null)
					source = new CompilerGeneratedThis (ec.CurrentType, loc);
				else {
					source = new FieldExpr (parent.HoistedThis.Field, Location.Null) {
						InstanceExpression = new CompilerGeneratedThis (ec.CurrentType, Location.Null)
					};
				}

				hoisted_this.EmitAssign (ec, source, false, false);
			}