@grafema/core 0.2.5-beta → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -23
- package/dist/DiscoveryManager.d.ts +59 -0
- package/dist/DiscoveryManager.d.ts.map +1 -0
- package/dist/DiscoveryManager.js +249 -0
- package/dist/DiscoveryManager.js.map +1 -0
- package/dist/GraphInitializer.d.ts +44 -0
- package/dist/GraphInitializer.d.ts.map +1 -0
- package/dist/GraphInitializer.js +121 -0
- package/dist/GraphInitializer.js.map +1 -0
- package/dist/GuaranteeChecker.d.ts +35 -0
- package/dist/GuaranteeChecker.d.ts.map +1 -0
- package/dist/GuaranteeChecker.js +81 -0
- package/dist/GuaranteeChecker.js.map +1 -0
- package/dist/Orchestrator.d.ts +34 -151
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +173 -741
- package/dist/Orchestrator.js.map +1 -1
- package/dist/OrchestratorTypes.d.ts +115 -0
- package/dist/OrchestratorTypes.d.ts.map +1 -0
- package/dist/OrchestratorTypes.js +6 -0
- package/dist/OrchestratorTypes.js.map +1 -0
- package/dist/ParallelAnalysisRunner.d.ts +43 -0
- package/dist/ParallelAnalysisRunner.d.ts.map +1 -0
- package/dist/ParallelAnalysisRunner.js +161 -0
- package/dist/ParallelAnalysisRunner.js.map +1 -0
- package/dist/PhaseRunner.d.ts +94 -0
- package/dist/PhaseRunner.d.ts.map +1 -0
- package/dist/PhaseRunner.js +332 -0
- package/dist/PhaseRunner.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +51 -1
- package/dist/config/ConfigLoader.d.ts.map +1 -1
- package/dist/config/ConfigLoader.js +121 -1
- package/dist/config/ConfigLoader.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/core/ASTWorker.d.ts +2 -0
- package/dist/core/ASTWorker.d.ts.map +1 -1
- package/dist/core/ASTWorker.js +6 -2
- package/dist/core/ASTWorker.js.map +1 -1
- package/dist/core/FileOverview.d.ts +124 -0
- package/dist/core/FileOverview.d.ts.map +1 -0
- package/dist/core/FileOverview.js +257 -0
- package/dist/core/FileOverview.js.map +1 -0
- package/dist/core/GraphFreshnessChecker.d.ts +1 -1
- package/dist/core/GraphFreshnessChecker.d.ts.map +1 -1
- package/dist/core/GraphFreshnessChecker.js +7 -5
- package/dist/core/GraphFreshnessChecker.js.map +1 -1
- package/dist/core/GuaranteeManager.d.ts +13 -0
- package/dist/core/GuaranteeManager.d.ts.map +1 -1
- package/dist/core/GuaranteeManager.js +63 -2
- package/dist/core/GuaranteeManager.js.map +1 -1
- package/dist/core/IncrementalReanalyzer.d.ts.map +1 -1
- package/dist/core/IncrementalReanalyzer.js +6 -3
- package/dist/core/IncrementalReanalyzer.js.map +1 -1
- package/dist/core/NodeFactory.d.ts +81 -415
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +139 -336
- package/dist/core/NodeFactory.js.map +1 -1
- package/dist/core/ResourceRegistry.d.ts +17 -0
- package/dist/core/ResourceRegistry.d.ts.map +1 -0
- package/dist/core/ResourceRegistry.js +32 -0
- package/dist/core/ResourceRegistry.js.map +1 -0
- package/dist/core/ScopeTracker.d.ts +12 -0
- package/dist/core/ScopeTracker.d.ts.map +1 -1
- package/dist/core/ScopeTracker.js +24 -0
- package/dist/core/ScopeTracker.js.map +1 -1
- package/dist/core/SemanticId.d.ts +69 -0
- package/dist/core/SemanticId.d.ts.map +1 -1
- package/dist/core/SemanticId.js +134 -0
- package/dist/core/SemanticId.js.map +1 -1
- package/dist/core/brandNodeInternal.d.ts +14 -0
- package/dist/core/brandNodeInternal.d.ts.map +1 -0
- package/dist/core/brandNodeInternal.js +4 -0
- package/dist/core/brandNodeInternal.js.map +1 -0
- package/dist/core/buildDependencyGraph.d.ts +36 -0
- package/dist/core/buildDependencyGraph.d.ts.map +1 -0
- package/dist/core/buildDependencyGraph.js +78 -0
- package/dist/core/buildDependencyGraph.js.map +1 -0
- package/dist/core/factories/CoreFactory.d.ts +223 -0
- package/dist/core/factories/CoreFactory.d.ts.map +1 -0
- package/dist/core/factories/CoreFactory.js +127 -0
- package/dist/core/factories/CoreFactory.js.map +1 -0
- package/dist/core/factories/DatabaseFactory.d.ts +29 -0
- package/dist/core/factories/DatabaseFactory.d.ts.map +1 -0
- package/dist/core/factories/DatabaseFactory.js +25 -0
- package/dist/core/factories/DatabaseFactory.js.map +1 -0
- package/dist/core/factories/ExternalFactory.d.ts +11 -0
- package/dist/core/factories/ExternalFactory.d.ts.map +1 -0
- package/dist/core/factories/ExternalFactory.js +16 -0
- package/dist/core/factories/ExternalFactory.js.map +1 -0
- package/dist/core/factories/HttpFactory.d.ts +22 -0
- package/dist/core/factories/HttpFactory.d.ts.map +1 -0
- package/dist/core/factories/HttpFactory.js +32 -0
- package/dist/core/factories/HttpFactory.js.map +1 -0
- package/dist/core/factories/ReactFactory.d.ts +14 -0
- package/dist/core/factories/ReactFactory.d.ts.map +1 -0
- package/dist/core/factories/ReactFactory.js +13 -0
- package/dist/core/factories/ReactFactory.js.map +1 -0
- package/dist/core/factories/RustFactory.d.ts +62 -0
- package/dist/core/factories/RustFactory.d.ts.map +1 -0
- package/dist/core/factories/RustFactory.js +32 -0
- package/dist/core/factories/RustFactory.js.map +1 -0
- package/dist/core/factories/ServiceFactory.d.ts +12 -0
- package/dist/core/factories/ServiceFactory.d.ts.map +1 -0
- package/dist/core/factories/ServiceFactory.js +22 -0
- package/dist/core/factories/ServiceFactory.js.map +1 -0
- package/dist/core/factories/SocketFactory.d.ts +31 -0
- package/dist/core/factories/SocketFactory.d.ts.map +1 -0
- package/dist/core/factories/SocketFactory.js +35 -0
- package/dist/core/factories/SocketFactory.js.map +1 -0
- package/dist/core/nodes/DatabaseNode.d.ts +85 -0
- package/dist/core/nodes/DatabaseNode.d.ts.map +1 -0
- package/dist/core/nodes/DatabaseNode.js +118 -0
- package/dist/core/nodes/DatabaseNode.js.map +1 -0
- package/dist/core/nodes/ExpressMiddlewareNode.d.ts +47 -0
- package/dist/core/nodes/ExpressMiddlewareNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressMiddlewareNode.js +63 -0
- package/dist/core/nodes/ExpressMiddlewareNode.js.map +1 -0
- package/dist/core/nodes/ExpressMountNode.d.ts +44 -0
- package/dist/core/nodes/ExpressMountNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressMountNode.js +61 -0
- package/dist/core/nodes/ExpressMountNode.js.map +1 -0
- package/dist/core/nodes/ExternalApiNode.d.ts +29 -0
- package/dist/core/nodes/ExternalApiNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalApiNode.js +41 -0
- package/dist/core/nodes/ExternalApiNode.js.map +1 -0
- package/dist/core/nodes/ExternalFunctionNode.d.ts +40 -0
- package/dist/core/nodes/ExternalFunctionNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalFunctionNode.js +54 -0
- package/dist/core/nodes/ExternalFunctionNode.js.map +1 -0
- package/dist/core/nodes/FetchRequestNode.d.ts +54 -0
- package/dist/core/nodes/FetchRequestNode.d.ts.map +1 -0
- package/dist/core/nodes/FetchRequestNode.js +67 -0
- package/dist/core/nodes/FetchRequestNode.js.map +1 -0
- package/dist/core/nodes/HttpRouteNode.d.ts +58 -0
- package/dist/core/nodes/HttpRouteNode.d.ts.map +1 -0
- package/dist/core/nodes/HttpRouteNode.js +72 -0
- package/dist/core/nodes/HttpRouteNode.js.map +1 -0
- package/dist/core/nodes/NodeKind.d.ts +1 -0
- package/dist/core/nodes/NodeKind.d.ts.map +1 -1
- package/dist/core/nodes/NodeKind.js +1 -0
- package/dist/core/nodes/NodeKind.js.map +1 -1
- package/dist/core/nodes/ReactNode.d.ts +53 -0
- package/dist/core/nodes/ReactNode.d.ts.map +1 -0
- package/dist/core/nodes/ReactNode.js +70 -0
- package/dist/core/nodes/ReactNode.js.map +1 -0
- package/dist/core/nodes/RustCallNode.d.ts +46 -0
- package/dist/core/nodes/RustCallNode.d.ts.map +1 -0
- package/dist/core/nodes/RustCallNode.js +62 -0
- package/dist/core/nodes/RustCallNode.js.map +1 -0
- package/dist/core/nodes/RustFunctionNode.d.ts +58 -0
- package/dist/core/nodes/RustFunctionNode.d.ts.map +1 -0
- package/dist/core/nodes/RustFunctionNode.js +67 -0
- package/dist/core/nodes/RustFunctionNode.js.map +1 -0
- package/dist/core/nodes/RustImplNode.d.ts +35 -0
- package/dist/core/nodes/RustImplNode.d.ts.map +1 -0
- package/dist/core/nodes/RustImplNode.js +55 -0
- package/dist/core/nodes/RustImplNode.js.map +1 -0
- package/dist/core/nodes/RustMethodNode.d.ts +64 -0
- package/dist/core/nodes/RustMethodNode.d.ts.map +1 -0
- package/dist/core/nodes/RustMethodNode.js +76 -0
- package/dist/core/nodes/RustMethodNode.js.map +1 -0
- package/dist/core/nodes/RustModuleNode.d.ts +40 -0
- package/dist/core/nodes/RustModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/RustModuleNode.js +57 -0
- package/dist/core/nodes/RustModuleNode.js.map +1 -0
- package/dist/core/nodes/RustStructNode.d.ts +38 -0
- package/dist/core/nodes/RustStructNode.d.ts.map +1 -0
- package/dist/core/nodes/RustStructNode.js +54 -0
- package/dist/core/nodes/RustStructNode.js.map +1 -0
- package/dist/core/nodes/RustTraitNode.d.ts +40 -0
- package/dist/core/nodes/RustTraitNode.d.ts.map +1 -0
- package/dist/core/nodes/RustTraitNode.js +52 -0
- package/dist/core/nodes/RustTraitNode.js.map +1 -0
- package/dist/core/nodes/ServiceLayerNode.d.ts +85 -0
- package/dist/core/nodes/ServiceLayerNode.d.ts.map +1 -0
- package/dist/core/nodes/ServiceLayerNode.js +122 -0
- package/dist/core/nodes/ServiceLayerNode.js.map +1 -0
- package/dist/core/nodes/SocketIONode.d.ts +71 -0
- package/dist/core/nodes/SocketIONode.d.ts.map +1 -0
- package/dist/core/nodes/SocketIONode.js +111 -0
- package/dist/core/nodes/SocketIONode.js.map +1 -0
- package/dist/core/nodes/SocketNode.d.ts +87 -0
- package/dist/core/nodes/SocketNode.d.ts.map +1 -0
- package/dist/core/nodes/SocketNode.js +124 -0
- package/dist/core/nodes/SocketNode.js.map +1 -0
- package/dist/core/nodes/TypeNode.d.ts +26 -1
- package/dist/core/nodes/TypeNode.d.ts.map +1 -1
- package/dist/core/nodes/TypeNode.js +21 -3
- package/dist/core/nodes/TypeNode.js.map +1 -1
- package/dist/core/nodes/TypeParameterNode.d.ts +44 -0
- package/dist/core/nodes/TypeParameterNode.d.ts.map +1 -0
- package/dist/core/nodes/TypeParameterNode.js +64 -0
- package/dist/core/nodes/TypeParameterNode.js.map +1 -0
- package/dist/core/nodes/index.d.ts +19 -0
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +26 -0
- package/dist/core/nodes/index.js.map +1 -1
- package/dist/index.d.ts +33 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/plugins/InfraAnalyzer.d.ts +110 -0
- package/dist/plugins/InfraAnalyzer.d.ts.map +1 -0
- package/dist/plugins/InfraAnalyzer.js +170 -0
- package/dist/plugins/InfraAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +18 -15
- package/dist/plugins/analysis/DatabaseAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +27 -26
- package/dist/plugins/analysis/ExpressAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js +5 -3
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +36 -39
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +23 -39
- package/dist/plugins/analysis/FetchAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +3 -2
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +23 -85
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +351 -1887
- package/dist/plugins/analysis/JSASTAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts +28 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.js +196 -0
- package/dist/plugins/analysis/NestJSRouteAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/ReactAnalyzer.d.ts +1 -61
- package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ReactAnalyzer.js +24 -915
- package/dist/plugins/analysis/ReactAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.js +31 -66
- package/dist/plugins/analysis/RustAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +13 -6
- package/dist/plugins/analysis/SQLiteAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js +10 -7
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SocketAnalyzer.d.ts +81 -0
- package/dist/plugins/analysis/SocketAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/SocketAnalyzer.js +475 -0
- package/dist/plugins/analysis/SocketAnalyzer.js.map +1 -0
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +13 -18
- package/dist/plugins/analysis/SocketIOAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.js +8 -5
- package/dist/plugins/analysis/SystemDbAnalyzer.js.map +1 -1
- package/dist/plugins/analysis/ast/CollisionResolver.d.ts +65 -0
- package/dist/plugins/analysis/ast/CollisionResolver.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/CollisionResolver.js +106 -0
- package/dist/plugins/analysis/ast/CollisionResolver.js.map +1 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts +124 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.js +151 -0
- package/dist/plugins/analysis/ast/FunctionBodyContext.js.map +1 -0
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +26 -261
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +251 -2494
- package/dist/plugins/analysis/ast/GraphBuilder.js.map +1 -1
- package/dist/plugins/analysis/ast/IdGenerator.d.ts +42 -0
- package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/IdGenerator.js +61 -1
- package/dist/plugins/analysis/ast/IdGenerator.js.map +1 -1
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts +15 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js +274 -0
- package/dist/plugins/analysis/ast/builders/AssignmentBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts +22 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js +178 -0
- package/dist/plugins/analysis/ast/builders/CallFlowBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts +76 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js +387 -0
- package/dist/plugins/analysis/ast/builders/ControlFlowBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts +38 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.js +240 -0
- package/dist/plugins/analysis/ast/builders/CoreBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts +53 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js +355 -0
- package/dist/plugins/analysis/ast/builders/ModuleRuntimeBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts +46 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.js +264 -0
- package/dist/plugins/analysis/ast/builders/MutationBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts +23 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.js +206 -0
- package/dist/plugins/analysis/ast/builders/ReturnBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts +64 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js +370 -0
- package/dist/plugins/analysis/ast/builders/TypeSystemBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts +46 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js +191 -0
- package/dist/plugins/analysis/ast/builders/UpdateExpressionBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts +30 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.js +214 -0
- package/dist/plugins/analysis/ast/builders/YieldBuilder.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/index.d.ts +12 -0
- package/dist/plugins/analysis/ast/builders/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/index.js +11 -0
- package/dist/plugins/analysis/ast/builders/index.js.map +1 -0
- package/dist/plugins/analysis/ast/builders/types.d.ts +30 -0
- package/dist/plugins/analysis/ast/builders/types.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/builders/types.js +8 -0
- package/dist/plugins/analysis/ast/builders/types.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts +50 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js +2 -0
- package/dist/plugins/analysis/ast/handlers/AnalyzerDelegate.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts +18 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.js +244 -0
- package/dist/plugins/analysis/ast/handlers/BranchHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts +7 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js +295 -0
- package/dist/plugins/analysis/ast/handlers/CallExpressionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts +22 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js +9 -0
- package/dist/plugins/analysis/ast/handlers/FunctionBodyHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.js +207 -0
- package/dist/plugins/analysis/ast/handlers/LoopHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js +174 -0
- package/dist/plugins/analysis/ast/handlers/NestedFunctionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js +135 -0
- package/dist/plugins/analysis/ast/handlers/NewExpressionHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js +71 -0
- package/dist/plugins/analysis/ast/handlers/PropertyAccessHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js +135 -0
- package/dist/plugins/analysis/ast/handlers/ReturnYieldHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.js +82 -0
- package/dist/plugins/analysis/ast/handlers/ThrowHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts +14 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js +220 -0
- package/dist/plugins/analysis/ast/handlers/TryCatchHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts +12 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.js +57 -0
- package/dist/plugins/analysis/ast/handlers/VariableHandler.js.map +1 -0
- package/dist/plugins/analysis/ast/handlers/index.d.ts +13 -0
- package/dist/plugins/analysis/ast/handlers/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/handlers/index.js +12 -0
- package/dist/plugins/analysis/ast/handlers/index.js.map +1 -0
- package/dist/plugins/analysis/ast/types.d.ts +57 -6
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +5 -4
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js +94 -13
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js.map +1 -1
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts +81 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js +140 -0
- package/dist/plugins/analysis/ast/utils/extractNamesFromPattern.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts +22 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.js +35 -0
- package/dist/plugins/analysis/ast/utils/getExpressionValue.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts +25 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js +21 -0
- package/dist/plugins/analysis/ast/utils/getMemberExpressionName.js.map +1 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts +2 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/index.js +2 -0
- package/dist/plugins/analysis/ast/utils/index.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts +23 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js +241 -0
- package/dist/plugins/analysis/ast/visitors/ArgumentExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js +110 -0
- package/dist/plugins/analysis/ast/visitors/ArrayElementExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +15 -142
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +304 -937
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +26 -11
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +21 -6
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts +25 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.js +181 -0
- package/dist/plugins/analysis/ast/visitors/MutationDetector.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js +155 -0
- package/dist/plugins/analysis/ast/visitors/ObjectPropertyExtractor.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts +9 -1
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js +51 -3
- package/dist/plugins/analysis/ast/visitors/PropertyAccessVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +20 -0
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +188 -12
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +6 -4
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js.map +1 -1
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts +19 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js +57 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-helpers.js.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts +168 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.js +7 -0
- package/dist/plugins/analysis/ast/visitors/call-expression-types.js.map +1 -0
- package/dist/plugins/analysis/react-internal/browser-api.d.ts +20 -0
- package/dist/plugins/analysis/react-internal/browser-api.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/browser-api.js +140 -0
- package/dist/plugins/analysis/react-internal/browser-api.js.map +1 -0
- package/dist/plugins/analysis/react-internal/hooks.d.ts +31 -0
- package/dist/plugins/analysis/react-internal/hooks.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/hooks.js +465 -0
- package/dist/plugins/analysis/react-internal/hooks.js.map +1 -0
- package/dist/plugins/analysis/react-internal/jsx.d.ts +43 -0
- package/dist/plugins/analysis/react-internal/jsx.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/jsx.js +231 -0
- package/dist/plugins/analysis/react-internal/jsx.js.map +1 -0
- package/dist/plugins/analysis/react-internal/types.d.ts +116 -0
- package/dist/plugins/analysis/react-internal/types.d.ts.map +1 -0
- package/dist/plugins/analysis/react-internal/types.js +83 -0
- package/dist/plugins/analysis/react-internal/types.js.map +1 -0
- package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js +6 -13
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +3 -1
- package/dist/plugins/enrichment/AliasTracker.js.map +1 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.js +3 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.js.map +1 -1
- package/dist/plugins/enrichment/CallbackCallResolver.d.ts +42 -0
- package/dist/plugins/enrichment/CallbackCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/CallbackCallResolver.js +311 -0
- package/dist/plugins/enrichment/CallbackCallResolver.js.map +1 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js +3 -1
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts +17 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.d.ts.map +1 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js +55 -0
- package/dist/plugins/enrichment/ConfigRoutingMapBuilder.js.map +1 -0
- package/dist/plugins/enrichment/ExpressHandlerLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ExpressHandlerLinker.js +3 -1
- package/dist/plugins/enrichment/ExpressHandlerLinker.js.map +1 -1
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/ExternalCallResolver.js +5 -8
- package/dist/plugins/enrichment/ExternalCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/FunctionCallResolver.js +6 -9
- package/dist/plugins/enrichment/FunctionCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +3 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.js +5 -3
- package/dist/plugins/enrichment/ImportExportLinker.js.map +1 -1
- package/dist/plugins/enrichment/InstanceOfResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/InstanceOfResolver.js +3 -1
- package/dist/plugins/enrichment/InstanceOfResolver.js.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.d.ts +17 -68
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +42 -517
- package/dist/plugins/enrichment/MethodCallResolver.js.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +9 -2
- package/dist/plugins/enrichment/MountPointResolver.js.map +1 -1
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +7 -16
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.js +6 -2
- package/dist/plugins/enrichment/PrefixEvaluator.js.map +1 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.js +3 -1
- package/dist/plugins/enrichment/RejectionPropagationEnricher.js.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js +3 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js.map +1 -1
- package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts +76 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.js +355 -0
- package/dist/plugins/enrichment/ServiceConnectionEnricher.js.map +1 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts +42 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.js +166 -0
- package/dist/plugins/enrichment/SocketConnectionEnricher.js.map +1 -0
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +3 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js.map +1 -1
- package/dist/plugins/enrichment/method-call/MethodCallData.d.ts +68 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.js +227 -0
- package/dist/plugins/enrichment/method-call/MethodCallData.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts +21 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.js +52 -0
- package/dist/plugins/enrichment/method-call/MethodCallDetectors.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts +22 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js +105 -0
- package/dist/plugins/enrichment/method-call/MethodCallErrorAnalysis.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts +19 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.js +63 -0
- package/dist/plugins/enrichment/method-call/MethodCallIndexers.js.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts +30 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.d.ts.map +1 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.js +138 -0
- package/dist/plugins/enrichment/method-call/MethodCallResolution.js.map +1 -0
- package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/IncrementalModuleIndexer.js +2 -8
- package/dist/plugins/indexing/IncrementalModuleIndexer.js.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +13 -20
- package/dist/plugins/indexing/JSModuleIndexer.js.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +4 -8
- package/dist/plugins/indexing/RustModuleIndexer.js.map +1 -1
- package/dist/plugins/validation/AwaitInLoopValidator.d.ts +24 -0
- package/dist/plugins/validation/AwaitInLoopValidator.d.ts.map +1 -0
- package/dist/plugins/validation/AwaitInLoopValidator.js +69 -0
- package/dist/plugins/validation/AwaitInLoopValidator.js.map +1 -0
- package/dist/plugins/validation/PackageCoverageValidator.d.ts +33 -0
- package/dist/plugins/validation/PackageCoverageValidator.d.ts.map +1 -0
- package/dist/plugins/validation/PackageCoverageValidator.js +149 -0
- package/dist/plugins/validation/PackageCoverageValidator.js.map +1 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.d.ts +18 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.d.ts.map +1 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.js +68 -0
- package/dist/plugins/validation/UnconnectedRouteValidator.js.map +1 -0
- package/dist/queries/NodeContext.d.ts +81 -0
- package/dist/queries/NodeContext.d.ts.map +1 -0
- package/dist/queries/NodeContext.js +193 -0
- package/dist/queries/NodeContext.js.map +1 -0
- package/dist/queries/findCallsInFunction.d.ts.map +1 -1
- package/dist/queries/findCallsInFunction.js +10 -2
- package/dist/queries/findCallsInFunction.js.map +1 -1
- package/dist/queries/findContainingFunction.d.ts +3 -2
- package/dist/queries/findContainingFunction.d.ts.map +1 -1
- package/dist/queries/findContainingFunction.js +13 -3
- package/dist/queries/findContainingFunction.js.map +1 -1
- package/dist/queries/index.d.ts +2 -0
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -0
- package/dist/queries/index.js.map +1 -1
- package/dist/resources/InfraResourceMapImpl.d.ts +31 -0
- package/dist/resources/InfraResourceMapImpl.d.ts.map +1 -0
- package/dist/resources/InfraResourceMapImpl.js +110 -0
- package/dist/resources/InfraResourceMapImpl.js.map +1 -0
- package/dist/resources/RoutingMapImpl.d.ts +33 -0
- package/dist/resources/RoutingMapImpl.d.ts.map +1 -0
- package/dist/resources/RoutingMapImpl.js +115 -0
- package/dist/resources/RoutingMapImpl.js.map +1 -0
- package/dist/storage/backends/RFDBServerBackend.d.ts +35 -6
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +102 -70
- package/dist/storage/backends/RFDBServerBackend.js.map +1 -1
- package/dist/utils/findRfdbBinary.d.ts +3 -2
- package/dist/utils/findRfdbBinary.d.ts.map +1 -1
- package/dist/utils/findRfdbBinary.js +22 -7
- package/dist/utils/findRfdbBinary.js.map +1 -1
- package/dist/utils/moduleResolution.d.ts.map +1 -1
- package/dist/utils/moduleResolution.js +26 -1
- package/dist/utils/moduleResolution.js.map +1 -1
- package/dist/utils/resolveNodeFile.d.ts +13 -0
- package/dist/utils/resolveNodeFile.d.ts.map +1 -0
- package/dist/utils/resolveNodeFile.js +18 -0
- package/dist/utils/resolveNodeFile.js.map +1 -0
- package/dist/version.d.ts +11 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +26 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -3
- package/src/DiscoveryManager.ts +279 -0
- package/src/GraphInitializer.ts +131 -0
- package/src/GuaranteeChecker.ts +90 -0
- package/src/Orchestrator.ts +222 -963
- package/src/OrchestratorTypes.ts +122 -0
- package/src/ParallelAnalysisRunner.ts +188 -0
- package/src/PhaseRunner.ts +450 -0
- package/src/config/ConfigLoader.ts +176 -2
- package/src/config/index.ts +2 -0
- package/src/core/ASTWorker.ts +9 -2
- package/src/core/FileOverview.ts +374 -0
- package/src/core/GraphFreshnessChecker.ts +7 -5
- package/src/core/GuaranteeManager.ts +70 -2
- package/src/core/IncrementalReanalyzer.ts +6 -3
- package/src/core/NodeFactory.ts +173 -652
- package/src/core/ResourceRegistry.ts +39 -0
- package/src/core/ScopeTracker.ts +23 -0
- package/src/core/SemanticId.ts +183 -0
- package/src/core/brandNodeInternal.ts +16 -0
- package/src/core/buildDependencyGraph.ts +98 -0
- package/src/core/factories/CoreFactory.ts +489 -0
- package/src/core/factories/DatabaseFactory.ts +63 -0
- package/src/core/factories/ExternalFactory.ts +23 -0
- package/src/core/factories/HttpFactory.ts +57 -0
- package/src/core/factories/ReactFactory.ts +15 -0
- package/src/core/factories/RustFactory.ts +128 -0
- package/src/core/factories/ServiceFactory.ts +27 -0
- package/src/core/factories/SocketFactory.ts +94 -0
- package/src/core/nodes/DatabaseNode.ts +175 -0
- package/src/core/nodes/ExpressMiddlewareNode.ts +98 -0
- package/src/core/nodes/ExpressMountNode.ts +94 -0
- package/src/core/nodes/ExternalApiNode.ts +53 -0
- package/src/core/nodes/ExternalFunctionNode.ts +77 -0
- package/src/core/nodes/FetchRequestNode.ts +105 -0
- package/src/core/nodes/HttpRouteNode.ts +113 -0
- package/src/core/nodes/NodeKind.ts +1 -0
- package/src/core/nodes/ReactNode.ts +78 -0
- package/src/core/nodes/RustCallNode.ts +96 -0
- package/src/core/nodes/RustFunctionNode.ts +112 -0
- package/src/core/nodes/RustImplNode.ts +78 -0
- package/src/core/nodes/RustMethodNode.ts +125 -0
- package/src/core/nodes/RustModuleNode.ts +84 -0
- package/src/core/nodes/RustStructNode.ts +80 -0
- package/src/core/nodes/RustTraitNode.ts +82 -0
- package/src/core/nodes/ServiceLayerNode.ts +183 -0
- package/src/core/nodes/SocketIONode.ts +177 -0
- package/src/core/nodes/SocketNode.ts +206 -0
- package/src/core/nodes/TypeNode.ts +46 -3
- package/src/core/nodes/TypeParameterNode.ts +91 -0
- package/src/core/nodes/index.ts +57 -0
- package/src/index.ts +60 -4
- package/src/plugins/InfraAnalyzer.ts +208 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +27 -17
- package/src/plugins/analysis/ExpressAnalyzer.ts +51 -38
- package/src/plugins/analysis/ExpressResponseAnalyzer.ts +15 -12
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +56 -56
- package/src/plugins/analysis/FetchAnalyzer.ts +42 -52
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +3 -2
- package/src/plugins/analysis/JSASTAnalyzer.ts +391 -2304
- package/src/plugins/analysis/NestJSRouteAnalyzer.ts +241 -0
- package/src/plugins/analysis/ReactAnalyzer.ts +33 -1085
- package/src/plugins/analysis/RustAnalyzer.ts +112 -116
- package/src/plugins/analysis/SQLiteAnalyzer.ts +23 -9
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +32 -10
- package/src/plugins/analysis/SocketAnalyzer.ts +601 -0
- package/src/plugins/analysis/SocketIOAnalyzer.ts +25 -34
- package/src/plugins/analysis/SystemDbAnalyzer.ts +15 -12
- package/src/plugins/analysis/ast/CollisionResolver.ts +137 -0
- package/src/plugins/analysis/ast/FunctionBodyContext.ts +291 -0
- package/src/plugins/analysis/ast/GraphBuilder.ts +274 -3180
- package/src/plugins/analysis/ast/IdGenerator.ts +81 -1
- package/src/plugins/analysis/ast/builders/AssignmentBuilder.ts +407 -0
- package/src/plugins/analysis/ast/builders/CallFlowBuilder.ts +255 -0
- package/src/plugins/analysis/ast/builders/ControlFlowBuilder.ts +470 -0
- package/src/plugins/analysis/ast/builders/CoreBuilder.ts +306 -0
- package/src/plugins/analysis/ast/builders/ModuleRuntimeBuilder.ts +452 -0
- package/src/plugins/analysis/ast/builders/MutationBuilder.ts +372 -0
- package/src/plugins/analysis/ast/builders/ReturnBuilder.ts +279 -0
- package/src/plugins/analysis/ast/builders/TypeSystemBuilder.ts +475 -0
- package/src/plugins/analysis/ast/builders/UpdateExpressionBuilder.ts +262 -0
- package/src/plugins/analysis/ast/builders/YieldBuilder.ts +287 -0
- package/src/plugins/analysis/ast/builders/index.ts +11 -0
- package/src/plugins/analysis/ast/builders/types.ts +65 -0
- package/src/plugins/analysis/ast/handlers/AnalyzerDelegate.ts +183 -0
- package/src/plugins/analysis/ast/handlers/BranchHandler.ts +313 -0
- package/src/plugins/analysis/ast/handlers/CallExpressionHandler.ts +347 -0
- package/src/plugins/analysis/ast/handlers/FunctionBodyHandler.ts +24 -0
- package/src/plugins/analysis/ast/handlers/LoopHandler.ts +240 -0
- package/src/plugins/analysis/ast/handlers/NestedFunctionHandler.ts +201 -0
- package/src/plugins/analysis/ast/handlers/NewExpressionHandler.ts +159 -0
- package/src/plugins/analysis/ast/handlers/PropertyAccessHandler.ts +112 -0
- package/src/plugins/analysis/ast/handlers/ReturnYieldHandler.ts +166 -0
- package/src/plugins/analysis/ast/handlers/ThrowHandler.ts +101 -0
- package/src/plugins/analysis/ast/handlers/TryCatchHandler.ts +262 -0
- package/src/plugins/analysis/ast/handlers/VariableHandler.ts +93 -0
- package/src/plugins/analysis/ast/handlers/index.ts +12 -0
- package/src/plugins/analysis/ast/types.ts +68 -9
- package/src/plugins/analysis/ast/utils/createParameterNodes.ts +118 -13
- package/src/plugins/analysis/ast/utils/extractNamesFromPattern.ts +166 -0
- package/src/plugins/analysis/ast/utils/getExpressionValue.ts +34 -0
- package/src/plugins/analysis/ast/utils/getMemberExpressionName.ts +33 -0
- package/src/plugins/analysis/ast/utils/index.ts +2 -0
- package/src/plugins/analysis/ast/visitors/ArgumentExtractor.ts +307 -0
- package/src/plugins/analysis/ast/visitors/ArrayElementExtractor.ts +172 -0
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +425 -1374
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +43 -12
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +39 -8
- package/src/plugins/analysis/ast/visitors/MutationDetector.ts +211 -0
- package/src/plugins/analysis/ast/visitors/ObjectPropertyExtractor.ts +217 -0
- package/src/plugins/analysis/ast/visitors/PropertyAccessVisitor.ts +69 -4
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +232 -13
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +8 -11
- package/src/plugins/analysis/ast/visitors/call-expression-helpers.ts +65 -0
- package/src/plugins/analysis/ast/visitors/call-expression-types.ts +179 -0
- package/src/plugins/analysis/react-internal/browser-api.ts +168 -0
- package/src/plugins/analysis/react-internal/hooks.ts +517 -0
- package/src/plugins/analysis/react-internal/jsx.ts +279 -0
- package/src/plugins/analysis/react-internal/types.ts +183 -0
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +6 -14
- package/src/plugins/enrichment/AliasTracker.ts +3 -1
- package/src/plugins/enrichment/ArgumentParameterLinker.ts +3 -1
- package/src/plugins/enrichment/CallbackCallResolver.ts +398 -0
- package/src/plugins/enrichment/ClosureCaptureEnricher.ts +3 -1
- package/src/plugins/enrichment/ConfigRoutingMapBuilder.ts +67 -0
- package/src/plugins/enrichment/ExpressHandlerLinker.ts +3 -1
- package/src/plugins/enrichment/ExternalCallResolver.ts +5 -8
- package/src/plugins/enrichment/FunctionCallResolver.ts +6 -9
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +3 -1
- package/src/plugins/enrichment/ImportExportLinker.ts +5 -3
- package/src/plugins/enrichment/InstanceOfResolver.ts +3 -1
- package/src/plugins/enrichment/MethodCallResolver.ts +48 -659
- package/src/plugins/enrichment/MountPointResolver.ts +9 -2
- package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +13 -18
- package/src/plugins/enrichment/PrefixEvaluator.ts +6 -2
- package/src/plugins/enrichment/RejectionPropagationEnricher.ts +3 -1
- package/src/plugins/enrichment/RustFFIEnricher.ts +3 -1
- package/src/plugins/enrichment/ServiceConnectionEnricher.ts +472 -0
- package/src/plugins/enrichment/SocketConnectionEnricher.ts +228 -0
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +3 -1
- package/src/plugins/enrichment/method-call/MethodCallData.ts +299 -0
- package/src/plugins/enrichment/method-call/MethodCallDetectors.ts +70 -0
- package/src/plugins/enrichment/method-call/MethodCallErrorAnalysis.ts +131 -0
- package/src/plugins/enrichment/method-call/MethodCallIndexers.ts +83 -0
- package/src/plugins/enrichment/method-call/MethodCallResolution.ts +181 -0
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +5 -10
- package/src/plugins/indexing/JSModuleIndexer.ts +17 -21
- package/src/plugins/indexing/RustModuleIndexer.ts +14 -13
- package/src/plugins/validation/AwaitInLoopValidator.ts +91 -0
- package/src/plugins/validation/PackageCoverageValidator.ts +181 -0
- package/src/plugins/validation/UnconnectedRouteValidator.ts +93 -0
- package/src/queries/NodeContext.ts +277 -0
- package/src/queries/findCallsInFunction.ts +11 -2
- package/src/queries/findContainingFunction.ts +14 -3
- package/src/queries/index.ts +13 -0
- package/src/resources/InfraResourceMapImpl.ts +119 -0
- package/src/resources/RoutingMapImpl.ts +133 -0
- package/src/storage/backends/RFDBServerBackend.ts +106 -77
- package/src/utils/findRfdbBinary.ts +22 -7
- package/src/utils/moduleResolution.ts +28 -1
- package/src/utils/resolveNodeFile.ts +18 -0
- package/src/version.ts +28 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - TSEnumDeclaration
|
|
8
8
|
*/
|
|
9
9
|
import { ASTVisitor } from './ASTVisitor.js';
|
|
10
|
-
import {
|
|
10
|
+
import { computeSemanticIdV2 } from '../../../../core/SemanticId.js';
|
|
11
11
|
import { getLine, getColumn } from '../utils/location.js';
|
|
12
12
|
/**
|
|
13
13
|
* Extracts a string representation of a TypeScript type node
|
|
@@ -41,12 +41,16 @@ export function typeNodeToString(node) {
|
|
|
41
41
|
return 'symbol';
|
|
42
42
|
case 'TSBigIntKeyword':
|
|
43
43
|
return 'bigint';
|
|
44
|
-
case 'TSTypeReference':
|
|
44
|
+
case 'TSTypeReference': {
|
|
45
45
|
const typeName = typeNode.typeName;
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
const baseName = typeName?.type === 'Identifier' ? (typeName.name || 'unknown') : 'unknown';
|
|
47
|
+
const typeParams = typeNode.typeParameters;
|
|
48
|
+
if (typeParams?.params?.length) {
|
|
49
|
+
const paramStrs = typeParams.params.map(p => typeNodeToString(p));
|
|
50
|
+
return `${baseName}<${paramStrs.join(', ')}>`;
|
|
48
51
|
}
|
|
49
|
-
return
|
|
52
|
+
return baseName;
|
|
53
|
+
}
|
|
50
54
|
case 'TSArrayType':
|
|
51
55
|
return `${typeNodeToString(typeNode.elementType)}[]`;
|
|
52
56
|
case 'TSUnionType':
|
|
@@ -74,10 +78,133 @@ export function typeNodeToString(node) {
|
|
|
74
78
|
return `[${tupleTypes.map(t => typeNodeToString(t)).join(', ')}]`;
|
|
75
79
|
case 'TSTypeLiteral':
|
|
76
80
|
return 'object';
|
|
81
|
+
case 'TSTypeOperator': {
|
|
82
|
+
const operator = typeNode.operator;
|
|
83
|
+
const operand = typeNodeToString(typeNode.typeAnnotation);
|
|
84
|
+
return `${operator} ${operand}`;
|
|
85
|
+
}
|
|
86
|
+
case 'TSIndexedAccessType': {
|
|
87
|
+
const object = typeNodeToString(typeNode.objectType);
|
|
88
|
+
const index = typeNodeToString(typeNode.indexType);
|
|
89
|
+
return `${object}[${index}]`;
|
|
90
|
+
}
|
|
91
|
+
case 'TSMappedType': {
|
|
92
|
+
const tp = typeNode.typeParameter;
|
|
93
|
+
const keyName = tp?.name || 'K';
|
|
94
|
+
const constraint = tp?.constraint ? typeNodeToString(tp.constraint) : '';
|
|
95
|
+
const valType = typeNode.typeAnnotation ? typeNodeToString(typeNode.typeAnnotation) : 'unknown';
|
|
96
|
+
const readonlyMod = typeNode.readonly === '-' ? '-readonly ' : typeNode.readonly ? 'readonly ' : '';
|
|
97
|
+
const optionalMod = typeNode.optional === '-' ? '-?' : typeNode.optional ? '?' : '';
|
|
98
|
+
const asClause = typeNode.nameType ? ` as ${typeNodeToString(typeNode.nameType)}` : '';
|
|
99
|
+
return `{ ${readonlyMod}[${keyName} in ${constraint}${asClause}]${optionalMod}: ${valType} }`;
|
|
100
|
+
}
|
|
101
|
+
case 'TSConditionalType': {
|
|
102
|
+
const check = typeNodeToString(typeNode.checkType);
|
|
103
|
+
const ext = typeNodeToString(typeNode.extendsType);
|
|
104
|
+
const trueType = typeNodeToString(typeNode.trueType);
|
|
105
|
+
const falseType = typeNodeToString(typeNode.falseType);
|
|
106
|
+
return `${check} extends ${ext} ? ${trueType} : ${falseType}`;
|
|
107
|
+
}
|
|
108
|
+
case 'TSTypeQuery': {
|
|
109
|
+
const exprName = typeNode.exprName;
|
|
110
|
+
return exprName?.type === 'Identifier' ? `typeof ${exprName.name}` : 'typeof unknown';
|
|
111
|
+
}
|
|
112
|
+
case 'TSParenthesizedType':
|
|
113
|
+
return `(${typeNodeToString(typeNode.typeAnnotation)})`;
|
|
114
|
+
case 'TSInferType': {
|
|
115
|
+
const param = typeNode.typeParameter;
|
|
116
|
+
return `infer ${param?.name || 'U'}`;
|
|
117
|
+
}
|
|
118
|
+
case 'TSTemplateLiteralType': {
|
|
119
|
+
const quasis = typeNode.quasis;
|
|
120
|
+
const typeTypes = typeNode.types;
|
|
121
|
+
let result = '`';
|
|
122
|
+
for (let i = 0; i < quasis.length; i++) {
|
|
123
|
+
result += quasis[i]?.value?.raw || '';
|
|
124
|
+
if (i < (typeTypes?.length || 0)) {
|
|
125
|
+
result += `\${${typeNodeToString(typeTypes[i])}}`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
result += '`';
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
case 'TSRestType':
|
|
132
|
+
return `...${typeNodeToString(typeNode.typeAnnotation)}`;
|
|
133
|
+
case 'TSOptionalType':
|
|
134
|
+
return `${typeNodeToString(typeNode.typeAnnotation)}?`;
|
|
135
|
+
case 'TSNamedTupleMember': {
|
|
136
|
+
const label = typeNode.label?.name || '';
|
|
137
|
+
const elemType = typeNodeToString(typeNode.elementType);
|
|
138
|
+
return typeNode.optional ? `${label}?: ${elemType}` : `${label}: ${elemType}`;
|
|
139
|
+
}
|
|
77
140
|
default:
|
|
78
141
|
return 'unknown';
|
|
79
142
|
}
|
|
80
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Extracts type parameter info from a TSTypeParameterDeclaration node.
|
|
146
|
+
*
|
|
147
|
+
* Handles:
|
|
148
|
+
* - Simple: <T>
|
|
149
|
+
* - Constrained: <T extends Serializable>
|
|
150
|
+
* - Defaulted: <T = string>
|
|
151
|
+
* - Variance: <in T>, <out T>, <in out T>
|
|
152
|
+
* - Intersection constraints: <T extends A & B>
|
|
153
|
+
*
|
|
154
|
+
* @param typeParameters - Babel TSTypeParameterDeclaration node (or undefined)
|
|
155
|
+
* @param parentId - ID of the owning declaration
|
|
156
|
+
* @param parentType - 'FUNCTION' | 'CLASS' | 'INTERFACE' | 'TYPE'
|
|
157
|
+
* @param file - File path
|
|
158
|
+
* @param line - Line of the declaration
|
|
159
|
+
* @param column - Column of the declaration
|
|
160
|
+
* @returns Array of TypeParameterInfo (empty if no type params)
|
|
161
|
+
*/
|
|
162
|
+
export function extractTypeParameters(typeParameters, parentId, parentType, file, line, column) {
|
|
163
|
+
if (!typeParameters || typeof typeParameters !== 'object')
|
|
164
|
+
return [];
|
|
165
|
+
const tpDecl = typeParameters;
|
|
166
|
+
if (tpDecl.type !== 'TSTypeParameterDeclaration' || !Array.isArray(tpDecl.params))
|
|
167
|
+
return [];
|
|
168
|
+
const result = [];
|
|
169
|
+
for (const param of tpDecl.params) {
|
|
170
|
+
const tsParam = param;
|
|
171
|
+
if (tsParam.type !== 'TSTypeParameter')
|
|
172
|
+
continue;
|
|
173
|
+
const paramName = tsParam.name;
|
|
174
|
+
if (!paramName)
|
|
175
|
+
continue;
|
|
176
|
+
// Extract constraint via typeNodeToString
|
|
177
|
+
const constraintType = tsParam.constraint ? typeNodeToString(tsParam.constraint) : undefined;
|
|
178
|
+
// Extract default via typeNodeToString
|
|
179
|
+
const defaultType = tsParam.default ? typeNodeToString(tsParam.default) : undefined;
|
|
180
|
+
// Extract variance
|
|
181
|
+
let variance;
|
|
182
|
+
if (tsParam.in && tsParam.out) {
|
|
183
|
+
variance = 'in out';
|
|
184
|
+
}
|
|
185
|
+
else if (tsParam.in) {
|
|
186
|
+
variance = 'in';
|
|
187
|
+
}
|
|
188
|
+
else if (tsParam.out) {
|
|
189
|
+
variance = 'out';
|
|
190
|
+
}
|
|
191
|
+
// Use param's own location if available, otherwise fall back to declaration location
|
|
192
|
+
const paramLine = tsParam.loc?.start?.line ?? line;
|
|
193
|
+
const paramColumn = tsParam.loc?.start?.column ?? column;
|
|
194
|
+
result.push({
|
|
195
|
+
name: paramName,
|
|
196
|
+
constraintType: constraintType !== 'unknown' ? constraintType : undefined,
|
|
197
|
+
defaultType: defaultType !== 'unknown' ? defaultType : undefined,
|
|
198
|
+
variance,
|
|
199
|
+
parentId,
|
|
200
|
+
parentType,
|
|
201
|
+
file,
|
|
202
|
+
line: paramLine,
|
|
203
|
+
column: paramColumn,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
return result;
|
|
207
|
+
}
|
|
81
208
|
export class TypeScriptVisitor extends ASTVisitor {
|
|
82
209
|
scopeTracker;
|
|
83
210
|
/**
|
|
@@ -91,7 +218,7 @@ export class TypeScriptVisitor extends ASTVisitor {
|
|
|
91
218
|
}
|
|
92
219
|
getHandlers() {
|
|
93
220
|
const { module } = this;
|
|
94
|
-
const { interfaces, typeAliases, enums } = this.collections;
|
|
221
|
+
const { interfaces, typeAliases, enums, typeParameters } = this.collections;
|
|
95
222
|
const scopeTracker = this.scopeTracker;
|
|
96
223
|
return {
|
|
97
224
|
TSInterfaceDeclaration: (path) => {
|
|
@@ -102,7 +229,7 @@ export class TypeScriptVisitor extends ASTVisitor {
|
|
|
102
229
|
// Generate semantic ID if scopeTracker available
|
|
103
230
|
let interfaceSemanticId;
|
|
104
231
|
if (scopeTracker) {
|
|
105
|
-
interfaceSemanticId =
|
|
232
|
+
interfaceSemanticId = computeSemanticIdV2('INTERFACE', interfaceName, module.file, scopeTracker.getNamedParent());
|
|
106
233
|
}
|
|
107
234
|
// Extract extends
|
|
108
235
|
const extendsNames = [];
|
|
@@ -141,6 +268,14 @@ export class TypeScriptVisitor extends ASTVisitor {
|
|
|
141
268
|
}
|
|
142
269
|
}
|
|
143
270
|
}
|
|
271
|
+
// Extract type parameters (REG-303)
|
|
272
|
+
if (typeParameters && node.typeParameters) {
|
|
273
|
+
const interfaceId = `${module.file}:INTERFACE:${interfaceName}:${getLine(node)}`;
|
|
274
|
+
const typeParamInfos = extractTypeParameters(node.typeParameters, interfaceId, 'INTERFACE', module.file, getLine(node), getColumn(node));
|
|
275
|
+
for (const tp of typeParamInfos) {
|
|
276
|
+
typeParameters.push(tp);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
144
279
|
interfaces.push({
|
|
145
280
|
semanticId: interfaceSemanticId,
|
|
146
281
|
type: 'INTERFACE',
|
|
@@ -160,19 +295,60 @@ export class TypeScriptVisitor extends ASTVisitor {
|
|
|
160
295
|
// Generate semantic ID if scopeTracker available
|
|
161
296
|
let typeSemanticId;
|
|
162
297
|
if (scopeTracker) {
|
|
163
|
-
typeSemanticId =
|
|
298
|
+
typeSemanticId = computeSemanticIdV2('TYPE', typeName, module.file, scopeTracker.getNamedParent());
|
|
164
299
|
}
|
|
165
300
|
// Extract the type being aliased
|
|
166
301
|
const aliasOf = typeNodeToString(node.typeAnnotation);
|
|
167
|
-
|
|
302
|
+
// Extract type parameters (REG-303)
|
|
303
|
+
if (typeParameters && node.typeParameters) {
|
|
304
|
+
const typeId = `${module.file}:TYPE:${typeName}:${getLine(node)}`;
|
|
305
|
+
const typeParamInfos = extractTypeParameters(node.typeParameters, typeId, 'TYPE', module.file, getLine(node), getColumn(node));
|
|
306
|
+
for (const tp of typeParamInfos) {
|
|
307
|
+
typeParameters.push(tp);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// REG-304: Detect conditional type and extract branch metadata
|
|
311
|
+
const typeAnnotation = node.typeAnnotation;
|
|
312
|
+
const isConditional = typeAnnotation?.type === 'TSConditionalType';
|
|
313
|
+
const typeInfo = {
|
|
168
314
|
semanticId: typeSemanticId,
|
|
169
315
|
type: 'TYPE',
|
|
170
316
|
name: typeName,
|
|
171
317
|
file: module.file,
|
|
172
318
|
line: getLine(node),
|
|
173
319
|
column: getColumn(node),
|
|
174
|
-
aliasOf
|
|
175
|
-
|
|
320
|
+
aliasOf,
|
|
321
|
+
...(isConditional && {
|
|
322
|
+
conditionalType: true,
|
|
323
|
+
checkType: typeNodeToString(typeAnnotation.checkType),
|
|
324
|
+
extendsType: typeNodeToString(typeAnnotation.extendsType),
|
|
325
|
+
trueType: typeNodeToString(typeAnnotation.trueType),
|
|
326
|
+
falseType: typeNodeToString(typeAnnotation.falseType),
|
|
327
|
+
}),
|
|
328
|
+
};
|
|
329
|
+
// Detect mapped types: { [K in keyof T]: T[K] }
|
|
330
|
+
const annotation = node.typeAnnotation;
|
|
331
|
+
if (annotation?.type === 'TSMappedType') {
|
|
332
|
+
typeInfo.mappedType = true;
|
|
333
|
+
const tp = annotation.typeParameter;
|
|
334
|
+
if (tp?.name)
|
|
335
|
+
typeInfo.keyName = tp.name;
|
|
336
|
+
if (tp?.constraint)
|
|
337
|
+
typeInfo.keyConstraint = typeNodeToString(tp.constraint);
|
|
338
|
+
if (annotation.typeAnnotation) {
|
|
339
|
+
typeInfo.valueType = typeNodeToString(annotation.typeAnnotation);
|
|
340
|
+
}
|
|
341
|
+
if (annotation.readonly !== undefined && annotation.readonly !== null) {
|
|
342
|
+
typeInfo.mappedReadonly = annotation.readonly;
|
|
343
|
+
}
|
|
344
|
+
if (annotation.optional !== undefined && annotation.optional !== null) {
|
|
345
|
+
typeInfo.mappedOptional = annotation.optional;
|
|
346
|
+
}
|
|
347
|
+
if (annotation.nameType) {
|
|
348
|
+
typeInfo.nameType = typeNodeToString(annotation.nameType);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
typeAliases.push(typeInfo);
|
|
176
352
|
},
|
|
177
353
|
TSEnumDeclaration: (path) => {
|
|
178
354
|
const node = path.node;
|
|
@@ -182,7 +358,7 @@ export class TypeScriptVisitor extends ASTVisitor {
|
|
|
182
358
|
// Generate semantic ID if scopeTracker available
|
|
183
359
|
let enumSemanticId;
|
|
184
360
|
if (scopeTracker) {
|
|
185
|
-
enumSemanticId =
|
|
361
|
+
enumSemanticId = computeSemanticIdV2('ENUM', enumName, module.file, scopeTracker.getNamedParent());
|
|
186
362
|
}
|
|
187
363
|
// Extract members
|
|
188
364
|
const members = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeScriptVisitor.js","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EAAE,UAAU,EAAqE,MAAM,iBAAiB,CAAC;AAShH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAgD,CAAC;IAElE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC;QACf,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,oBAAoB;YACvB,OAAO,WAAW,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA2C,CAAC;YACtE,IAAI,QAAQ,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpC,OAAO,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;YACpC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;QACvD,KAAK,aAAa;YAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAkB,CAAC;YAC/C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,oBAAoB;YACvB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAkB,CAAC;YACtD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,KAAK,eAAe;YAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAA4C,CAAC;YACtE,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;QACpB,KAAK,aAAa;YAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAyB,CAAC;YACtD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpE,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IACvC,YAAY,CAAgB;IAEpC;;;;OAIG;IACH,YAAY,MAAqB,EAAE,WAA+B,EAAE,YAA2B;QAC7F,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,WAAW;QACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,EACJ,UAAU,EACV,WAAW,EACX,KAAK,EACN,GAAG,IAAI,CAAC,WAAW,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,OAAO;YACL,sBAAsB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA8B,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAEnC,iDAAiD;gBACjD,IAAI,mBAAuC,CAAC;gBAC5C,IAAI,YAAY,EAAE,CAAC;oBACjB,mBAAmB,GAAG,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;gBACjG,CAAC;gBAED,kBAAkB;gBAClB,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACzC,YAAY,CAAC,IAAI,CAAE,GAAG,CAAC,UAAyB,CAAC,IAAI,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,MAAM,UAAU,GAA4B,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;4BAC1C,MAAM,IAAI,GAAG,MAA6B,CAAC;4BAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACnC,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAG,IAAI,CAAC,GAAkB,CAAC,IAAI;oCACnC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;oCAC5F,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;oCAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;iCACjC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BAC/C,MAAM,MAAM,GAAG,MAA2B,CAAC;4BAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACrC,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAG,MAAM,CAAC,GAAkB,CAAC,IAAI;oCACrC,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;oCAClC,QAAQ,EAAE,KAAK;iCAChB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAEA,UAAyC,CAAC,IAAI,CAAC;oBAC9C,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBAC3D,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA8B,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAE9B,iDAAiD;gBACjD,IAAI,cAAkC,CAAC;gBACvC,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAErD,WAA+B,CAAC,IAAI,CAAC;oBACpC,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,iBAAiB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAyB,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAE9B,iDAAiD;gBACjD,IAAI,cAAkC,CAAC;gBACvC,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,kBAAkB;gBAClB,MAAM,OAAO,GAAqB,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAClC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpC,MAAM,UAAU,GAAmB;gCACjC,IAAI,EAAG,MAAM,CAAC,EAAiB,CAAC,IAAI;6BACrC,CAAC;4BAEF,2BAA2B;4BAC3B,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gCACvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAyB,CAAC;gCAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oCAClC,UAAU,CAAC,KAAK,GAAI,IAA0B,CAAC,KAAK,CAAC;gCACvD,CAAC;qCAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oCAC1C,UAAU,CAAC,KAAK,GAAI,IAA0B,CAAC,KAAK,CAAC;gCACvD,CAAC;4BACH,CAAC;4BAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAEA,KAA+B,CAAC,IAAI,CAAC;oBACpC,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;oBAC5B,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"TypeScriptVisitor.js","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,EAAE,UAAU,EAAqE,MAAM,iBAAiB,CAAC;AAUhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAgD,CAAC;IAElE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC;QACf,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,oBAAoB;YACvB,OAAO,WAAW,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA2C,CAAC;YACtE,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAoD,CAAC;YACjF,IAAI,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAChD,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,aAAa;YAChB,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;QACvD,KAAK,aAAa;YAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAkB,CAAC;YAC/C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,oBAAoB;YACvB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAkB,CAAC;YACtD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,KAAK,eAAe;YAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAA4C,CAAC;YACtE,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;QACpB,KAAK,aAAa;YAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAyB,CAAC;YACtD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpE,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAClB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAkB,CAAC;YAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC1D,OAAO,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QAClC,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC;QAC/B,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAwD,CAAC;YAC7E,MAAM,OAAO,GAAG,EAAE,EAAE,IAAI,IAAI,GAAG,CAAC;YAChC,MAAM,UAAU,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,UAAU,GAAG,QAAQ,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC;QAChG,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvD,OAAO,GAAG,KAAK,YAAY,GAAG,MAAM,QAAQ,MAAM,SAAS,EAAE,CAAC;QAChE,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA2C,CAAC;YACtE,OAAO,QAAQ,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACxF,CAAC;QACD,KAAK,qBAAqB;YACxB,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC;QAC1D,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAkC,CAAC;YAC1D,OAAO,SAAS,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;QACvC,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAA6C,CAAC;YACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAkB,CAAC;YAC9C,IAAI,MAAM,GAAG,GAAG,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,CAAC;YACd,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,YAAY;YACf,OAAO,MAAM,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,KAAK,gBAAgB;YACnB,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC;QACzD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAI,QAAQ,CAAC,KAA2B,EAAE,IAAI,IAAI,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChF,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAuB,EACvB,QAAgB,EAChB,UAAuD,EACvD,IAAY,EACZ,IAAY,EACZ,MAAc;IAEd,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,cAAuD,CAAC;IACvE,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAE7F,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAQf,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB;YAAE,SAAS;QAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,0CAA0C;QAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7F,uCAAuC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,mBAAmB;QACnB,IAAI,QAA6C,CAAC;QAClD,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,qFAAqF;QACrF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC;QAEzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YACzE,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAChE,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IACvC,YAAY,CAAgB;IAEpC;;;;OAIG;IACH,YAAY,MAAqB,EAAE,WAA+B,EAAE,YAA2B;QAC7F,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,WAAW;QACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,EACJ,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACf,GAAG,IAAI,CAAC,WAAW,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,OAAO;YACL,sBAAsB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA8B,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAEnC,iDAAiD;gBACjD,IAAI,mBAAuC,CAAC;gBAC5C,IAAI,YAAY,EAAE,CAAC;oBACjB,mBAAmB,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;gBACpH,CAAC;gBAED,kBAAkB;gBAClB,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACzC,YAAY,CAAC,IAAI,CAAE,GAAG,CAAC,UAAyB,CAAC,IAAI,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,MAAM,UAAU,GAA4B,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;4BAC1C,MAAM,IAAI,GAAG,MAA6B,CAAC;4BAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACnC,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAG,IAAI,CAAC,GAAkB,CAAC,IAAI;oCACnC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;oCAC5F,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;oCAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;iCACjC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BAC/C,MAAM,MAAM,GAAG,MAA2B,CAAC;4BAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACrC,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAG,MAAM,CAAC,GAAkB,CAAC,IAAI;oCACrC,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;oCAClC,QAAQ,EAAE,KAAK;iCAChB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,IAAI,cAAc,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjF,MAAM,cAAc,GAAG,qBAAqB,CAC1C,IAAI,CAAC,cAAc,EACnB,WAAW,EACX,WAAW,EACX,MAAM,CAAC,IAAI,EACX,OAAO,CAAC,IAAI,CAAC,EACb,SAAS,CAAC,IAAI,CAAC,CAChB,CAAC;oBACF,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;wBAC/B,cAAsC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAEA,UAAyC,CAAC,IAAI,CAAC;oBAC9C,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;oBAC3D,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA8B,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAE9B,iDAAiD;gBACjD,IAAI,cAAkC,CAAC;gBACvC,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAEtD,oCAAoC;gBACpC,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,SAAS,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClE,MAAM,cAAc,GAAG,qBAAqB,CAC1C,IAAI,CAAC,cAAc,EACnB,MAAM,EACN,MAAM,EACN,MAAM,CAAC,IAAI,EACX,OAAO,CAAC,IAAI,CAAC,EACb,SAAS,CAAC,IAAI,CAAC,CAChB,CAAC;oBACF,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;wBAC/B,cAAsC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,cAA0D,CAAC;gBACvF,MAAM,aAAa,GAAG,cAAc,EAAE,IAAI,KAAK,mBAAmB,CAAC;gBAEnE,MAAM,QAAQ,GAAkB;oBAC9B,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO;oBACP,GAAG,CAAC,aAAa,IAAI;wBACnB,eAAe,EAAE,IAAI;wBACrB,SAAS,EAAE,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC;wBACrD,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC;wBACzD,QAAQ,EAAE,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC;wBACnD,SAAS,EAAE,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC;qBACtD,CAAC;iBACH,CAAC;gBAEF,gDAAgD;gBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,cAA0D,CAAC;gBACnF,IAAI,UAAU,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;oBACxC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;oBAE3B,MAAM,EAAE,GAAG,UAAU,CAAC,aAAwD,CAAC;oBAC/E,IAAI,EAAE,EAAE,IAAI;wBAAE,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;oBACzC,IAAI,EAAE,EAAE,UAAU;wBAAE,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAE7E,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;wBAC9B,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBACnE,CAAC;oBAED,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtE,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC,QAA+B,CAAC;oBACvE,CAAC;oBACD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtE,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC,QAA+B,CAAC;oBACvE,CAAC;oBACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACxB,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAEA,WAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;YAED,iBAAiB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAyB,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO;gBAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBAE9B,iDAAiD;gBACjD,IAAI,cAAkC,CAAC;gBACvC,IAAI,YAAY,EAAE,CAAC;oBACjB,cAAc,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,kBAAkB;gBAClB,MAAM,OAAO,GAAqB,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAClC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpC,MAAM,UAAU,GAAmB;gCACjC,IAAI,EAAG,MAAM,CAAC,EAAiB,CAAC,IAAI;6BACrC,CAAC;4BAEF,2BAA2B;4BAC3B,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gCACvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAyB,CAAC;gCAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oCAClC,UAAU,CAAC,KAAK,GAAI,IAA0B,CAAC,KAAK,CAAC;gCACvD,CAAC;qCAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oCAC1C,UAAU,CAAC,KAAK,GAAI,IAA0B,CAAC,KAAK,CAAC;gCACvD,CAAC;4BACH,CAAC;4BAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAEA,KAA+B,CAAC,IAAI,CAAC;oBACpC,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;oBAC5B,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/VariableVisitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAKV,IAAI,EACL,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC5C,QAAQ,EAAE,IAAI,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,EAAE,OAAO,EAAE,EAC9B,iBAAiB,EAAE,UAAU,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,gBAAgB,EAAE,OAAO,EAAE,EAC3B,uBAAuB,EAAE,UAAU,KAChC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"VariableVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/VariableVisitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAKV,IAAI,EACL,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC5C,QAAQ,EAAE,IAAI,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,EAAE,OAAO,EAAE,EAC9B,iBAAiB,EAAE,UAAU,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,gBAAgB,EAAE,OAAO,EAAE,EAC3B,uBAAuB,EAAE,UAAU,KAChC,IAAI,CAAC;AAsCV,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,+BAA+B,CAA+B;IACtE,OAAO,CAAC,uBAAuB,CAAkC;IACjE,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsCvB;;;;;;OAMG;gBAED,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,kBAAkB,EAC/B,+BAA+B,EAAE,4BAA4B,EAC7D,uBAAuB,EAAE,+BAA+B,EACxD,YAAY,CAAC,EAAE,YAAY;IAQ7B,WAAW,IAAI,eAAe;CAkT/B"}
|
|
@@ -88,7 +88,6 @@ export class VariableVisitor extends ASTVisitor {
|
|
|
88
88
|
const literals = (this.collections.literals ?? []);
|
|
89
89
|
const variableAssignments = this.collections.variableAssignments ?? [];
|
|
90
90
|
const scopes = (this.collections.scopes ?? []);
|
|
91
|
-
const varDeclCounterRef = (this.collections.varDeclCounterRef ?? { value: 0 });
|
|
92
91
|
const literalCounterRef = (this.collections.literalCounterRef ?? { value: 0 });
|
|
93
92
|
const scopeCounterRef = (this.collections.scopeCounterRef ?? { value: 0 });
|
|
94
93
|
// Object literal tracking collections (REG-328)
|
|
@@ -149,7 +148,8 @@ export class VariableVisitor extends ASTVisitor {
|
|
|
149
148
|
const nodeType = shouldBeConstant ? 'CONSTANT' : 'VARIABLE';
|
|
150
149
|
// Generate ID using centralized IdGenerator
|
|
151
150
|
const idGenerator = new IdGenerator(scopeTracker);
|
|
152
|
-
const varId = idGenerator.
|
|
151
|
+
const varId = idGenerator.generateV2Simple(nodeType, varInfo.name, module.file);
|
|
152
|
+
const currentScopePath = scopeTracker?.getContext().scopePath ?? [];
|
|
153
153
|
if (shouldBeConstant) {
|
|
154
154
|
// CONSTANT node
|
|
155
155
|
const constantData = {
|
|
@@ -158,7 +158,8 @@ export class VariableVisitor extends ASTVisitor {
|
|
|
158
158
|
name: varInfo.name,
|
|
159
159
|
file: module.file,
|
|
160
160
|
line: varInfo.loc.start.line,
|
|
161
|
-
parentScopeId: module.id
|
|
161
|
+
parentScopeId: module.id,
|
|
162
|
+
scopePath: currentScopePath
|
|
162
163
|
};
|
|
163
164
|
if (isLiteral) {
|
|
164
165
|
constantData.value = literalValue;
|
|
@@ -186,7 +187,8 @@ export class VariableVisitor extends ASTVisitor {
|
|
|
186
187
|
name: varInfo.name,
|
|
187
188
|
file: module.file,
|
|
188
189
|
line: varInfo.loc.start.line,
|
|
189
|
-
parentScopeId: module.id
|
|
190
|
+
parentScopeId: module.id,
|
|
191
|
+
scopePath: currentScopePath
|
|
190
192
|
});
|
|
191
193
|
}
|
|
192
194
|
// Track assignment for data flow analysis
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableVisitor.js","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/VariableVisitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VariableVisitor.js","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/VariableVisitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,EAAE,UAAU,EAAsF,MAAM,iBAAiB,CAAC;AACjI,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAuEhD,MAAM,OAAO,eAAgB,SAAQ,UAAU;IACrC,+BAA+B,CAA+B;IAC9D,uBAAuB,CAAkC;IACzD,YAAY,CAAgB;IAEpC;;;OAGG;IACK,qBAAqB,CAAC,IAAU;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAK,IAA4B,CAAC,QAAQ,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAE,IAA2B,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,IAAU;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,IAAU;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAA2E,CAAC;QAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAY,CAAC;QACjB,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,2BAA2B;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,IAAI,GAAI,MAAqB,CAAC,IAAI,CAAC;QACrC,CAAC;QACD,4CAA4C;aACvC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC5C,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,UAAU,GAAG,MAA0C,CAAC;YAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gBACxD,CAAC,CAAE,UAAU,CAAC,MAAqB,CAAC,IAAI;gBACxC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC1D,CAAC,CAAE,UAAU,CAAC,QAAuB,CAAC,IAAI;gBAC1C,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,GAAG,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;QACvC,CAAC;aACI,CAAC;YACJ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;YACnC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACvC,IAAI;YACJ,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,YACE,MAAqB,EACrB,WAA+B,EAC/B,+BAA6D,EAC7D,uBAAwD,EACxD,YAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,+BAA+B,GAAG,+BAA+B,CAAC;QACvE,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,WAAW;QACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC;QACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAc,CAAC;QAChE,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAc,CAAC;QAC5D,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAe,CAAC;QAC7F,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAe,CAAC;QACzF,gDAAgD;QAChD,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAc,CAAC;QAC5E,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAc,CAAC;QAChF,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAe,CAAC;QACzG,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,MAAM,+BAA+B,GAAG,IAAI,CAAC,+BAA+B,CAAC;QAC7E,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAE7D,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAW,CAAC;QAE1C,OAAO;YACL,mBAAmB,EAAE,CAAC,IAAc,EAAE,EAAE;gBACtC,8BAA8B;gBAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAChD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAA2B,CAAC;oBACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;oBAEzC,0DAA0D;oBAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC3B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;2BACvF,MAA2B,CAAC,IAAI,KAAK,OAAO,CAAC;oBAEnD,mFAAmF;oBACnF,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAClD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAE3B,MAAM,QAAQ,GAAG,MAA6D,CAAC;wBAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;wBAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;wBACrF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC7E,MAAM,OAAO,GAAG,SAAS,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;wBAEvF,uDAAuD;wBACvD,IAAI,YAAY,EAAE,CAAC;4BACjB,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBAC9C,CAAC;wBAED,MAAM,UAAU,GAAG,YAAY;4BAC7B,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;4BAChD,CAAC,CAAC,OAAO,CAAC;wBAEX,MAAmI,CAAC,IAAI,CAAC;4BACxI,EAAE,EAAE,OAAO;4BACX,IAAI,EAAE,OAAO;4BACb,SAAS;4BACT,UAAU;4BACV,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI;4BACJ,aAAa,EAAE,MAAM,CAAC,EAAE;yBACzB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,UAA8B,EAAE,EAAE;wBAC9D,sEAAsE;wBACtE,MAAM,SAAS,GAAG,+BAA+B,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;wBAEjE,SAAS,CAAC,OAAO,CAAC,CAAC,OAAqB,EAAE,EAAE;4BAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;4BAC9E,MAAM,SAAS,GAAG,YAAY,KAAK,IAAI,CAAC;4BACxC,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;4BAEpF,uFAAuF;4BACvF,+FAA+F;4BAC/F,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,eAAe,CAAC,CAAC;4BAErF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;4BAE5D,4CAA4C;4BAC5C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC;4BAClD,MAAM,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;4BAEhF,MAAM,gBAAgB,GAAG,YAAY,EAAE,UAAU,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;4BAEpE,IAAI,gBAAgB,EAAE,CAAC;gCACrB,gBAAgB;gCAChB,MAAM,YAAY,GAA4B;oCAC5C,EAAE,EAAE,KAAK;oCACT,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,IAAI,EAAE,MAAM,CAAC,IAAI;oCACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;oCAC5B,aAAa,EAAE,MAAM,CAAC,EAAE;oCACxB,SAAS,EAAE,gBAAgB;iCAC5B,CAAC;gCAEF,IAAI,SAAS,EAAE,CAAC;oCACd,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC;gCACpC,CAAC;gCAEA,oBAAkD,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCAEvE,oDAAoD;gCACpD,IAAI,eAAe,EAAE,CAAC;oCACpB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAqB,CAAC;oCACjD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wCACzC,MAAM,SAAS,GAAI,OAAO,CAAC,MAAqB,CAAC,IAAI,CAAC;wCACrD,mBAAgD,CAAC,IAAI,CAAC;4CACrD,UAAU,EAAE,KAAK;4CACjB,YAAY,EAAE,OAAO,CAAC,IAAI;4CAC1B,SAAS,EAAE,SAAS;4CACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;4CAC5B,aAAa,EAAE,MAAM,CAAC,EAAE;yCACzB,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACL,oBAAkD,CAAC,IAAI,CAAC;oCACvD,EAAE,EAAE,KAAK;oCACT,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,IAAI,EAAE,MAAM,CAAC,IAAI;oCACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;oCAC5B,aAAa,EAAE,MAAM,CAAC,EAAE;oCACxB,SAAS,EAAE,gBAAgB;iCAC5B,CAAC,CAAC;4BACL,CAAC;4BAED,0CAA0C;4BAC1C,wEAAwE;4BACxE,MAAM,cAAc,GAAG,cAAc;gCACnC,CAAC,CAAE,MAAyB,CAAC,KAAK;gCAClC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;4BAEpB,IAAI,cAAc,EAAE,CAAC;gCACnB,yEAAyE;gCACzE,+EAA+E;gCAC/E,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oCAC3D,MAAM,UAAU,GAAI,cAA6B,CAAC,IAAI,CAAC;oCACtD,mBAAiC,CAAC,IAAI,CAAC;wCACtC,UAAU,EAAE,KAAK;wCACjB,UAAU,EAAE,uBAAuB;wCACnC,UAAU;wCACV,IAAI,EAAE,MAAM,CAAC,IAAI;wCACjB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;qCAC7B,CAAC,CAAC;gCACL,CAAC;gCACD,6DAA6D;qCACxD,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oCACpF,wDAAwD;oCACxD,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wCACzC,MAAM,cAAc,GAAI,cAA6B,CAAC,IAAI,CAAC;wCAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wCAE9C,+DAA+D;wCAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4CAClB,mBAAiC,CAAC,IAAI,CAAC;gDACtC,UAAU,EAAE,KAAK;gDACjB,UAAU,EAAE,UAAU;gDACtB,UAAU,EAAE,cAAc;gDAC1B,IAAI,EAAE,cAAc;6CACrB,CAAC,CAAC;4CACH,OAAO;wCACT,CAAC;wCAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;wCAElD,6BAA6B;wCAC7B,IAAI,QAAQ,GAAG,cAAc,CAAC;wCAC9B,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAC5D,QAAQ,GAAG,GAAG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wCACnE,CAAC;wCAED,6DAA6D;wCAC7D,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,IAAI,gCAAgC,cAAc,IAAI,gBAAgB,EAAE,CAAC;wCAExG,iCAAiC;wCACjC,IAAI,QAAgB,CAAC;wCACrB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAC5D,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wCACnE,CAAC;6CAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;4CAC5C,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wCACxC,CAAC;6CAAM,CAAC;4CACN,QAAQ,GAAG,EAAE,CAAC;wCAChB,CAAC;wCAED,gEAAgE;wCAChE,kEAAkE;wCACjE,mBAAiC,CAAC,IAAI,CAAC;4CACtC,UAAU,EAAE,KAAK;4CACjB,QAAQ,EAAE,YAAY;4CACtB,UAAU,EAAE,YAAY;4CACxB,cAAc,EAAE,kBAAkB;4CAClC,MAAM,EAAE,cAAc;4CACtB,QAAQ,EAAE,QAAQ;4CAClB,QAAQ,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS;4CAC1C,IAAI,EAAE,QAAQ;4CACd,gBAAgB,EAAE,cAAc,EAAE,sDAAsD;4CACxF,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;4CAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;4CAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;4CACjB,IAAI,EAAE,cAAc;4CACpB,MAAM,EAAE,gBAAgB;yCACzB,CAAC,CAAC;oCACL,CAAC;oCACD,uDAAuD;yCAClD,IAAI,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,CAAC;wCACtD,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;wCAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wCAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;4CACd,mDAAmD;4CACnD,OAAO;wCACT,CAAC;wCAED,MAAM,kBAAkB,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC;wCAChD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wCAC9C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;wCAElD,4DAA4D;wCAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4CAClB,mBAAiC,CAAC,IAAI,CAAC;gDACtC,UAAU,EAAE,KAAK;gDACjB,UAAU,EAAE,WAAW;gDACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gDACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;gDACvB,UAAU,EAAE,QAAQ,CAAC,MAAM;gDAC3B,cAAc,EAAE,QAAQ,CAAC,IAAI;gDAC7B,gBAAgB,EAAE,QAAQ,CAAC,MAAM;gDACjC,cAAc,EAAE,MAAM,CAAC,IAAI;gDAC3B,cAAc,EAAE,QAAQ,CAAC,IAAI;gDAC7B,IAAI,EAAE,cAAc;6CACrB,CAAC,CAAC;4CACH,OAAO;wCACT,CAAC;wCAED,6DAA6D;wCAC7D,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,IAAI,gCAAgC,cAAc,IAAI,gBAAgB,EAAE,CAAC;wCAExG,iCAAiC;wCACjC,IAAI,QAAgB,CAAC;wCACrB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAC5D,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wCACnE,CAAC;6CAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;4CAC5C,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wCACxC,CAAC;6CAAM,CAAC;4CACN,QAAQ,GAAG,EAAE,CAAC;wCAChB,CAAC;wCAED,4EAA4E;wCAC5E,IAAI,QAAQ,GAAG,kBAAkB,CAAC;wCAClC,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CAC5D,QAAQ,GAAG,GAAG,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wCACvE,CAAC;wCAED,uEAAuE;wCACtE,mBAAiC,CAAC,IAAI,CAAC;4CACtC,UAAU,EAAE,KAAK;4CACjB,QAAQ,EAAE,YAAY;4CACtB,UAAU,EAAE,YAAY;4CACxB,cAAc,EAAE,kBAAkB;4CAClC,MAAM,EAAE,kBAAkB,EAAW,+BAA+B;4CACpE,QAAQ,EAAE,QAAQ;4CAClB,QAAQ,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS;4CAC1C,IAAI,EAAE,QAAQ;4CACd,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;4CAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;4CAC9B,gDAAgD;4CAChD,cAAc,EAAE,QAAQ,CAAC,IAAI;4CAC7B,gBAAgB,EAAE,QAAQ,CAAC,MAAM;4CACjC,cAAc,EAAE,MAAM,CAAC,IAAI;4CAC3B,cAAc,EAAE,QAAQ,CAAC,IAAI;4CAC7B,cAAc,EAAE;gDACd,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;6CAC3D;4CACD,IAAI,EAAE,MAAM,CAAC,IAAI;4CACjB,IAAI,EAAE,cAAc;4CACpB,MAAM,EAAE,gBAAgB;yCACzB,CAAC,CAAC;oCACL,CAAC;oCACD,8DAA8D;oCAC9D,gBAAgB;gCAClB,CAAC;qCAAM,CAAC;oCACN,6BAA6B;oCAC7B,uBAAuB,CACrB,cAAc,EACd,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EACtB,QAAQ,EACR,mBAAmB,EACnB,iBAA+B,EAC/B,cAAc,EACd,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for CallExpressionVisitor — grafema-ignore annotation detection.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from CallExpressionVisitor.ts (REG-424) to reduce file size.
|
|
5
|
+
*/
|
|
6
|
+
import type { NodePath } from '@babel/traverse';
|
|
7
|
+
import type { GrafemaIgnoreAnnotation } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Check if a call has a grafema-ignore comment for suppressing strict mode errors.
|
|
10
|
+
* Babel attaches leading comments to statements (VariableDeclaration, ExpressionStatement),
|
|
11
|
+
* not to nested CallExpression nodes. So we check:
|
|
12
|
+
* 1. The call node itself (rare, but possible for standalone calls)
|
|
13
|
+
* 2. The parent statement (VariableDeclaration, ExpressionStatement, etc.)
|
|
14
|
+
*
|
|
15
|
+
* @param path - Babel NodePath for the CallExpression
|
|
16
|
+
* @returns GrafemaIgnoreAnnotation if found, null otherwise
|
|
17
|
+
*/
|
|
18
|
+
export declare function getGrafemaIgnore(path: NodePath): GrafemaIgnoreAnnotation | null;
|
|
19
|
+
//# sourceMappingURL=call-expression-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-expression-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/call-expression-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAkC3D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,uBAAuB,GAAG,IAAI,CAY/E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for CallExpressionVisitor — grafema-ignore annotation detection.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from CallExpressionVisitor.ts (REG-424) to reduce file size.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Pattern for grafema-ignore comments (REG-332)
|
|
8
|
+
* Matches:
|
|
9
|
+
* // grafema-ignore STRICT_UNRESOLVED_METHOD
|
|
10
|
+
* // grafema-ignore STRICT_UNRESOLVED_METHOD - known library call
|
|
11
|
+
* block comments with same pattern
|
|
12
|
+
*/
|
|
13
|
+
const GRAFEMA_IGNORE_PATTERN = /grafema-ignore(?:-next-line)?\s+([\w_]+)(?:\s+-\s+(.+))?/;
|
|
14
|
+
/**
|
|
15
|
+
* Check node's leadingComments for grafema-ignore annotation.
|
|
16
|
+
*/
|
|
17
|
+
function checkNodeComments(node) {
|
|
18
|
+
const comments = node.leadingComments;
|
|
19
|
+
if (!comments || comments.length === 0)
|
|
20
|
+
return null;
|
|
21
|
+
// Check comments from last to first (closest to node wins)
|
|
22
|
+
for (let i = comments.length - 1; i >= 0; i--) {
|
|
23
|
+
const comment = comments[i];
|
|
24
|
+
const text = comment.value.trim();
|
|
25
|
+
const match = text.match(GRAFEMA_IGNORE_PATTERN);
|
|
26
|
+
if (match) {
|
|
27
|
+
return {
|
|
28
|
+
code: match[1],
|
|
29
|
+
reason: match[2]?.trim(),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if a call has a grafema-ignore comment for suppressing strict mode errors.
|
|
37
|
+
* Babel attaches leading comments to statements (VariableDeclaration, ExpressionStatement),
|
|
38
|
+
* not to nested CallExpression nodes. So we check:
|
|
39
|
+
* 1. The call node itself (rare, but possible for standalone calls)
|
|
40
|
+
* 2. The parent statement (VariableDeclaration, ExpressionStatement, etc.)
|
|
41
|
+
*
|
|
42
|
+
* @param path - Babel NodePath for the CallExpression
|
|
43
|
+
* @returns GrafemaIgnoreAnnotation if found, null otherwise
|
|
44
|
+
*/
|
|
45
|
+
export function getGrafemaIgnore(path) {
|
|
46
|
+
// First check the call node itself
|
|
47
|
+
const callResult = checkNodeComments(path.node);
|
|
48
|
+
if (callResult)
|
|
49
|
+
return callResult;
|
|
50
|
+
// Then check parent statement (where Babel typically attaches comments)
|
|
51
|
+
const statementPath = path.getStatementParent();
|
|
52
|
+
if (statementPath) {
|
|
53
|
+
return checkNodeComments(statementPath.node);
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=call-expression-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-expression-helpers.js","sourceRoot":"","sources":["../../../../../src/plugins/analysis/ast/visitors/call-expression-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,0DAA0D,CAAC;AAE1F;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAU;IACnC,MAAM,QAAQ,GAAI,IAAwC,CAAC,eAAe,CAAC;IAC3E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,2DAA2D;IAC3D,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,mCAAmC;IACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|