コード例 #1
0
ファイル: iterators.cs プロジェクト: nuxleus/mono
 protected override Expression DoResolve(ResolveContext ec)
 {
     spec = field.Spec;
     type = spec.MemberType;
     InstanceExpression = new CompilerGeneratedThis(type, Location);
     return(base.DoResolve(ec));
 }
コード例 #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));
 }
コード例 #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));
 }
コード例 #4
0
ファイル: iterators.cs プロジェクト: nuxleus/mono
 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));
 }
コード例 #5
0
ファイル: anonymous.cs プロジェクト: furesoft/NRefactory
			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);
			}