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); }
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); }
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); }