/// <summary>
        /// Adds members from the current scope (flattened, so all containing scopes are included) to
        /// the declarations.
        /// </summary>
        private void AddMembersFromScopeTree(IntellisenseDeclarations declarations, IBooParseTreeNode scopedParseTree)
        {
            var parseTreeFlattener = new BooParseTreeNodeFlatterner();

            declarations.AddRange(parseTreeFlattener.FlattenFrom(scopedParseTree));
        }
Example #2
0
        private Declarations GetScopedIntellisenseDeclarations(int lineNum)
        {
            // get the node that the caret is in
            Keywords keywords = new Keywords();
            BooParseTreeNodeFlatterner flattener = new BooParseTreeNodeFlatterner();

            IBooParseTreeNode scope = compiledDocument.GetScopeByLine(lineNum);

            keywords.InjectIntoScope(scope);

            return new BooDeclarations(flattener.FlattenFrom(scope));
        }