예제 #1
0
        public override bool Walk(ClassDefinition node)
        {
            _stack.Enter(SymbolKind.Class);
            node.Body?.Walk(this);
            var children = _stack.Exit();

            _stack.AddSymbol(new HierarchicalSymbol(
                                 node.Name,
                                 SymbolKind.Class,
                                 node.GetSpan(_ast),
                                 node.NameExpression.GetSpan(_ast),
                                 children,
                                 FunctionKind.Class
                                 ));

            return(false);
        }
        public override bool Walk(ClassDefinition node)
        {
            _stack.Enter(SymbolKind.Class);

            WalkIfNotLibraryMode(node.Body);

            var children = _stack.Exit();

            _stack.AddSymbol(new HierarchicalSymbol(
                                 node.Name,
                                 SymbolKind.Class,
                                 node.GetSpan(_ast),
                                 node.NameExpression.GetSpan(_ast),
                                 children,
                                 FunctionKind.Class,
                                 ExistInAllVariable(node.Name)
                                 ));

            return(false);
        }