Beispiel #1
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);
 }
Beispiel #2
0
 protected override Expression DoResolve(ResolveContext ec)
 {
     spec = field.Spec;
     type = spec.MemberType;
     InstanceExpression = new CompilerGeneratedThis (type, Location);
     return base.DoResolve (ec);
 }
			public override Expression DoResolve (ResolveContext ec)
			{
				FieldInfo = field.FieldBuilder;
				type = TypeManager.TypeToCoreType (FieldInfo.FieldType);
				InstanceExpression = new CompilerGeneratedThis (type, Location);
				return base.DoResolve (ec);
			}
Beispiel #4
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);
			}
			public override Expression DoResolve (ResolveContext ec)
			{
				Methods = new MethodBase [] { method.MethodBuilder };
				type = method.Parent.TypeBuilder;
				InstanceExpression = new CompilerGeneratedThis (type, Location);
				return base.DoResolve (ec);
			}