/// <summary> /// Finds all symbols in a script /// </summary> /// <param name="scriptAst">The abstract syntax tree of the given script</param> /// <param name="powerShellVersion">The PowerShell version the Ast was generated from</param> /// <returns>A collection of SymbolReference objects</returns> static public IEnumerable <SymbolReference> FindSymbolsInDocument(Ast scriptAst, Version powerShellVersion) { IEnumerable <SymbolReference> symbolReferences = null; if (powerShellVersion >= new Version(5, 0)) { #if PowerShellv5 FindSymbolsVisitor2 findSymbolsVisitor = new FindSymbolsVisitor2(); scriptAst.Visit(findSymbolsVisitor); symbolReferences = findSymbolsVisitor.SymbolReferences; #endif } else { FindSymbolsVisitor findSymbolsVisitor = new FindSymbolsVisitor(); scriptAst.Visit(findSymbolsVisitor); symbolReferences = findSymbolsVisitor.SymbolReferences; } return(symbolReferences); }
/// <summary> /// Finds all symbols in a script /// </summary> /// <param name="scriptAst">The abstract syntax tree of the given script</param> /// <param name="powerShellVersion">The PowerShell version the Ast was generated from</param> /// <returns>A collection of SymbolReference objects</returns> static public IEnumerable<SymbolReference> FindSymbolsInDocument(Ast scriptAst, Version powerShellVersion) { IEnumerable<SymbolReference> symbolReferences = null; if (powerShellVersion >= new Version(5,0)) { #if PowerShellv5 FindSymbolsVisitor2 findSymbolsVisitor = new FindSymbolsVisitor2(); scriptAst.Visit(findSymbolsVisitor); symbolReferences = findSymbolsVisitor.SymbolReferences; #endif } else { FindSymbolsVisitor findSymbolsVisitor = new FindSymbolsVisitor(); scriptAst.Visit(findSymbolsVisitor); symbolReferences = findSymbolsVisitor.SymbolReferences; } return symbolReferences; }