private HashSet <CollectionName> ExecuteCodeAndCollectReferencedCollections(string code, string additionalSources) { var javascriptParser = new JavaScriptParser(code, DefaultParserOptions); var program = javascriptParser.ParseProgram(); _engine.ExecuteWithReset(program); var loadVisitor = new EsprimaReferencedCollectionVisitor(); if (string.IsNullOrEmpty(additionalSources) == false) { loadVisitor.Visit(new JavaScriptParser(additionalSources, DefaultParserOptions).ParseProgram()); } loadVisitor.Visit(program); return(loadVisitor.ReferencedCollection); }
private HashSet <CollectionName> ExecuteCodeAndCollectReferencedCollections(string code) { var javascriptParser = new JavaScriptParser(code, DefaultParserOptions); var program = javascriptParser.ParseProgram(); _engine.ExecuteWithReset(program); var loadVisitor = new EsprimaReferencedCollectionVisitor(); loadVisitor.Visit(program); return(loadVisitor.ReferencedCollection); }
private MapMetadata ExecuteCodeAndCollectReferencedCollections(string code, string additionalSources) { var javascriptParser = new JavaScriptParser(code, DefaultParserOptions); var program = javascriptParser.ParseScript(); _engine.ExecuteWithReset(program); var loadVisitor = new EsprimaReferencedCollectionVisitor(); if (string.IsNullOrEmpty(additionalSources) == false) { loadVisitor.Visit(new JavaScriptParser(additionalSources, DefaultParserOptions).ParseScript()); } loadVisitor.Visit(program); return(new MapMetadata { ReferencedCollections = loadVisitor.ReferencedCollection, HasCompareExchangeReferences = loadVisitor.HasCompareExchangeReferences }); }