예제 #1
0
 public override void PostWalk(GeneratorExpression node) {
     EndScope(false);
     Debug.Assert(_head != null);
     base.PostWalk(node);
 }
예제 #2
0
파일: Parser.cs 프로젝트: omnimark/PTVS
        //  genexpr_for  ::= "for" target_list "in" or_test [comp_iter]
        //
        //  "for" has NOT been eaten before entering this method
        private Expression ParseGeneratorExpression(Expression expr, string rightParenWhiteSpace = null) {
            ComprehensionIterator[] iters = ParseCompIter();

            GeneratorExpression ret = new GeneratorExpression(expr, iters);

            ret.SetLoc(expr.StartIndex, GetEnd());
            return ret;
        }
예제 #3
0
 public override bool Walk(GeneratorExpression node)
 {
     node.Parent = _currentScope;
     return(base.Walk(node));
 }
예제 #4
0
 public override bool Walk(GeneratorExpression node) {
     BeginScope();
     return base.Walk(node);
 }
예제 #5
0
 public override bool Walk(GeneratorExpression node) {
     return UpdateLineInfo(node, true);
 }
예제 #6
0
        public override void PostWalk(GeneratorExpression node) {
            Debug.Assert(_scope is ComprehensionScope);
            _scope = _scope.OuterScope;

            base.PostWalk(node);
        }
예제 #7
0
        public override bool Walk(GeneratorExpression node) {
            EnsureComprehensionScope(node, MakeGeneratorComprehensionScope);
            Debug.Assert(_scope is ComprehensionScope);

            return base.Walk(node);
        }
예제 #8
0
 public override void PostWalk(GeneratorExpression node) { PostWalkWorker(node); }
예제 #9
0
 // GeneratorExpression
 public override bool Walk(GeneratorExpression node) { return ShouldWalkWorker(node); }