/// <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)); }
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)); }