示例#1
0
        public override bool Walk(WithNode node)
        {
            if (node != null)
            {
                if (node.WithObject != null)
                {
                    node.WithObject.Walk(this);
                }

                if (node.Body != null)
                {
                    // create the with-scope and recurse the block.
                    // the block itself will push the scope onto the stack and pop it off, so we don't have to.
                    SetScope(
                        node.Body,
                        new WithScope(node.Body, CurrentLexicalScope, _errorSink)
                        );

                    try
                    {
                        ++m_withDepth;
                        node.Body.Walk(this);
                    }
                    finally
                    {
                        --m_withDepth;
                    }
                }
            }
            return(false);
        }
 public override bool Walk(WithNode node) {
     UpdateChildRanges(node);
     return base.Walk(node);
 }
示例#3
0
 public override bool Walk(WithNode node) { AddNode(node); return true; }
        public override bool Walk(WithNode node)
        {
            if (node != null)
            {
                if (node.WithObject != null)
                {
                    node.WithObject.Walk(this);
                }

                if (node.Body != null)
                {
                    // create the with-scope and recurse the block.
                    // the block itself will push the scope onto the stack and pop it off, so we don't have to.
                    SetScope(
                        node.Body, 
                        new WithScope(node.Body, CurrentLexicalScope, _errorSink)
                    );

                    try
                    {
                        ++m_withDepth;
                        node.Body.Walk(this);
                    }
                    finally
                    {
                        --m_withDepth;
                    }
                }
            }
            return false;
        }
 public override bool Walk(WithNode node) {
     if (CheckBlock(node.Body)) {
         Span = GetTargetStatement(node).GetSpan(_tree.LocationResolver);
         return false;
     }
     return base.Walk(node);
 }
示例#6
0
        public override bool Walk(WithNode node) {
            ReplaceControlFlowWhiteSpace(node, "with".Length);

            EnsureSpacesAroundParenthesisedExpression(node.WithObject);

            WalkFlowControlBlockWithOptionalParens(node.Body, node.WithObject.GetEndIndex(_tree.LocationResolver), true);
            return false;
        }