protected override Expression DoResolve(ResolveContext ec)
        {
            // Field initializer can be resolved (fail) many times
            if (source == null)
            {
                return(null);
            }

            if (resolved == null)
            {
                var ctx = new FieldInitializerContext(mc, ec);
                resolved = base.DoResolve(ctx) as ExpressionStatement;
            }

            return(resolved);
        }
示例#2
0
        protected override Expression DoResolve(ResolveContext rc)
        {
            // Field initializer can be resolved (fail) many times
            if (source == null)
            {
                return(null);
            }

            if (resolved == null)
            {
                var bc  = (BlockContext)rc;
                var ctx = new FieldInitializerContext(mc, bc);
                resolved         = base.DoResolve(ctx) as ExpressionStatement;
                AssignmentOffset = ctx.AssignmentInfoOffset - bc.AssignmentInfoOffset;
            }

            return(resolved);
        }
示例#3
0
文件: assign.cs 项目: dyxu/vimrc
		protected override Expression DoResolve (ResolveContext rc)
		{
			// Field initializer can be resolved (fail) many times
			if (source == null)
				return null;

			var bc = (BlockContext) rc;
			if (resolved == null) {
				var ctx = new FieldInitializerContext (mc, bc);
				resolved = base.DoResolve (ctx) as ExpressionStatement;
				AssignmentOffset = ctx.AssignmentInfoOffset - bc.AssignmentInfoOffset;
			}

			return resolved;
		}
示例#4
0
		protected override Expression DoResolve (ResolveContext ec)
		{
			// Field initializer can be resolved (fail) many times
			if (source == null)
				return null;

			if (resolved == null) {
				var ctx = new FieldInitializerContext (mc, ec);
				resolved = base.DoResolve (ctx) as ExpressionStatement;
			}

			return resolved;
		}