@grafema/core 0.1.1-alpha → 0.2.1-beta
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/dist/Orchestrator.d.ts +7 -0
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +25 -3
- package/dist/config/ConfigLoader.d.ts +18 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -1
- package/dist/config/ConfigLoader.js +65 -3
- package/dist/core/FileExplainer.d.ts +101 -0
- package/dist/core/FileExplainer.d.ts.map +1 -0
- package/dist/core/FileExplainer.js +139 -0
- package/dist/core/NodeFactory.d.ts +44 -5
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +52 -7
- package/dist/core/nodes/ArrayLiteralNode.d.ts.map +1 -1
- package/dist/core/nodes/ArrayLiteralNode.js +4 -2
- package/dist/core/nodes/BranchNode.d.ts +41 -0
- package/dist/core/nodes/BranchNode.d.ts.map +1 -0
- package/dist/core/nodes/BranchNode.js +82 -0
- package/dist/core/nodes/CallSiteNode.d.ts +2 -2
- package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
- package/dist/core/nodes/CallSiteNode.js +9 -5
- package/dist/core/nodes/CaseNode.d.ts +43 -0
- package/dist/core/nodes/CaseNode.d.ts.map +1 -0
- package/dist/core/nodes/CaseNode.js +81 -0
- package/dist/core/nodes/ClassNode.d.ts +2 -2
- package/dist/core/nodes/ClassNode.d.ts.map +1 -1
- package/dist/core/nodes/ClassNode.js +8 -4
- package/dist/core/nodes/ConstantNode.d.ts +2 -2
- package/dist/core/nodes/ConstantNode.d.ts.map +1 -1
- package/dist/core/nodes/ConstantNode.js +6 -4
- package/dist/core/nodes/ConstructorCallNode.d.ts +51 -0
- package/dist/core/nodes/ConstructorCallNode.d.ts.map +1 -0
- package/dist/core/nodes/ConstructorCallNode.js +171 -0
- package/dist/core/nodes/DatabaseQueryNode.d.ts +3 -2
- package/dist/core/nodes/DatabaseQueryNode.d.ts.map +1 -1
- package/dist/core/nodes/DatabaseQueryNode.js +5 -2
- package/dist/core/nodes/DecoratorNode.d.ts +2 -2
- package/dist/core/nodes/DecoratorNode.d.ts.map +1 -1
- package/dist/core/nodes/DecoratorNode.js +5 -3
- package/dist/core/nodes/EnumNode.d.ts +2 -2
- package/dist/core/nodes/EnumNode.d.ts.map +1 -1
- package/dist/core/nodes/EnumNode.js +5 -3
- package/dist/core/nodes/EventListenerNode.d.ts +4 -4
- package/dist/core/nodes/EventListenerNode.d.ts.map +1 -1
- package/dist/core/nodes/EventListenerNode.js +7 -4
- package/dist/core/nodes/ExportNode.d.ts +2 -2
- package/dist/core/nodes/ExportNode.d.ts.map +1 -1
- package/dist/core/nodes/ExportNode.js +8 -4
- package/dist/core/nodes/ExpressionNode.d.ts +2 -2
- package/dist/core/nodes/ExpressionNode.d.ts.map +1 -1
- package/dist/core/nodes/ExpressionNode.js +6 -4
- package/dist/core/nodes/ExternalModuleNode.d.ts +4 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -1
- package/dist/core/nodes/ExternalModuleNode.js +10 -2
- package/dist/core/nodes/HttpRequestNode.d.ts +4 -4
- package/dist/core/nodes/HttpRequestNode.d.ts.map +1 -1
- package/dist/core/nodes/HttpRequestNode.js +7 -4
- package/dist/core/nodes/ImportNode.d.ts +10 -2
- package/dist/core/nodes/ImportNode.d.ts.map +1 -1
- package/dist/core/nodes/ImportNode.js +21 -4
- package/dist/core/nodes/InterfaceNode.d.ts +2 -2
- package/dist/core/nodes/InterfaceNode.d.ts.map +1 -1
- package/dist/core/nodes/InterfaceNode.js +5 -3
- package/dist/core/nodes/LiteralNode.d.ts +2 -2
- package/dist/core/nodes/LiteralNode.d.ts.map +1 -1
- package/dist/core/nodes/LiteralNode.js +6 -4
- package/dist/core/nodes/MethodCallNode.d.ts +2 -2
- package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodCallNode.js +9 -5
- package/dist/core/nodes/MethodNode.d.ts +2 -2
- package/dist/core/nodes/MethodNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodNode.js +8 -4
- package/dist/core/nodes/ObjectLiteralNode.d.ts.map +1 -1
- package/dist/core/nodes/ObjectLiteralNode.js +4 -2
- package/dist/core/nodes/ParameterNode.d.ts +2 -2
- package/dist/core/nodes/ParameterNode.d.ts.map +1 -1
- package/dist/core/nodes/ParameterNode.js +5 -3
- package/dist/core/nodes/TypeNode.d.ts +2 -2
- package/dist/core/nodes/TypeNode.d.ts.map +1 -1
- package/dist/core/nodes/TypeNode.js +5 -3
- package/dist/core/nodes/VariableDeclarationNode.d.ts +2 -2
- package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/core/nodes/VariableDeclarationNode.js +9 -5
- package/dist/core/nodes/index.d.ts +3 -0
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +3 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts +78 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts.map +1 -0
- package/dist/data/builtins/BuiltinRegistry.js +110 -0
- package/dist/data/builtins/definitions.d.ts +28 -0
- package/dist/data/builtins/definitions.d.ts.map +1 -0
- package/dist/data/builtins/definitions.js +250 -0
- package/dist/data/builtins/index.d.ts +10 -0
- package/dist/data/builtins/index.d.ts.map +1 -0
- package/dist/data/builtins/index.js +8 -0
- package/dist/data/builtins/jsGlobals.d.ts +18 -0
- package/dist/data/builtins/jsGlobals.d.ts.map +1 -0
- package/dist/data/builtins/jsGlobals.js +26 -0
- package/dist/data/builtins/types.d.ts +34 -0
- package/dist/data/builtins/types.d.ts.map +1 -0
- package/dist/data/builtins/types.js +7 -0
- package/dist/data/globals/definitions.d.ts +27 -0
- package/dist/data/globals/definitions.d.ts.map +1 -0
- package/dist/data/globals/definitions.js +117 -0
- package/dist/data/globals/index.d.ts +36 -0
- package/dist/data/globals/index.d.ts.map +1 -0
- package/dist/data/globals/index.js +52 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts +23 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -1
- package/dist/diagnostics/DiagnosticReporter.js +88 -0
- package/dist/diagnostics/index.d.ts +1 -1
- package/dist/diagnostics/index.d.ts.map +1 -1
- package/dist/errors/GrafemaError.d.ts +43 -0
- package/dist/errors/GrafemaError.d.ts.map +1 -1
- package/dist/errors/GrafemaError.js +50 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +3 -2
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +3 -1
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts +148 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js +495 -0
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +53 -18
- package/dist/plugins/analysis/FetchAnalyzer.d.ts +40 -0
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +163 -15
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +157 -26
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +2418 -191
- package/dist/plugins/analysis/RustAnalyzer.js +4 -4
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +4 -2
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts +9 -0
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +91 -7
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +173 -0
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +1256 -65
- package/dist/plugins/analysis/ast/types.d.ts +294 -0
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +5 -1
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +1 -0
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +12 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +10 -0
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +62 -0
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts +4 -0
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +101 -0
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +16 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +233 -39
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/WorkspaceDiscovery.js +9 -4
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +16 -1
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts +32 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.js +175 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts +51 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js +205 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts +42 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/ExternalCallResolver.js +213 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts +58 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/FunctionCallResolver.js +340 -0
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +16 -3
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +64 -20
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +15 -1
- package/dist/plugins/enrichment/MountPointResolver.d.ts +14 -12
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +172 -151
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts +44 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +271 -0
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +5 -27
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +62 -139
- package/dist/plugins/indexing/JSModuleIndexer.d.ts +15 -0
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +58 -0
- package/dist/plugins/indexing/RustModuleIndexer.d.ts +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +4 -4
- package/dist/plugins/validation/BrokenImportValidator.d.ts +31 -0
- package/dist/plugins/validation/BrokenImportValidator.d.ts.map +1 -0
- package/dist/plugins/validation/BrokenImportValidator.js +249 -0
- package/dist/plugins/validation/CallResolverValidator.d.ts +21 -10
- package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
- package/dist/plugins/validation/CallResolverValidator.js +101 -76
- package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
- package/dist/plugins/validation/DataFlowValidator.js +49 -41
- package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
- package/dist/plugins/validation/GraphConnectivityValidator.js +25 -1
- package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
- package/dist/plugins/validation/SQLInjectionValidator.js +2 -3
- package/dist/queries/findCallsInFunction.d.ts +52 -0
- package/dist/queries/findCallsInFunction.d.ts.map +1 -0
- package/dist/queries/findCallsInFunction.js +135 -0
- package/dist/queries/findContainingFunction.d.ts +45 -0
- package/dist/queries/findContainingFunction.d.ts.map +1 -0
- package/dist/queries/findContainingFunction.js +54 -0
- package/dist/queries/index.d.ts +14 -0
- package/dist/queries/index.d.ts.map +1 -0
- package/dist/queries/index.js +11 -0
- package/dist/queries/traceValues.d.ts +70 -0
- package/dist/queries/traceValues.d.ts.map +1 -0
- package/dist/queries/traceValues.js +299 -0
- package/dist/queries/types.d.ts +163 -0
- package/dist/queries/types.d.ts.map +1 -0
- package/dist/queries/types.js +9 -0
- package/dist/schema/GraphSchemaExtractor.d.ts +53 -0
- package/dist/schema/GraphSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/GraphSchemaExtractor.js +124 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts +73 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/InterfaceSchemaExtractor.js +112 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/storage/backends/RFDBServerBackend.d.ts +13 -18
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +47 -51
- package/dist/storage/backends/typeValidation.d.ts.map +1 -1
- package/dist/storage/backends/typeValidation.js +1 -0
- package/package.json +3 -3
- package/src/Orchestrator.ts +35 -3
- package/src/config/ConfigLoader.ts +94 -3
- package/src/core/FileExplainer.ts +179 -0
- package/src/core/NodeFactory.ts +72 -8
- package/src/core/nodes/ArrayLiteralNode.ts +3 -2
- package/src/core/nodes/BranchNode.ts +113 -0
- package/src/core/nodes/CallSiteNode.ts +7 -5
- package/src/core/nodes/CaseNode.ts +123 -0
- package/src/core/nodes/ClassNode.ts +6 -4
- package/src/core/nodes/ConstantNode.ts +5 -4
- package/src/core/nodes/ConstructorCallNode.ts +217 -0
- package/src/core/nodes/DatabaseQueryNode.ts +5 -1
- package/src/core/nodes/DecoratorNode.ts +4 -3
- package/src/core/nodes/EnumNode.ts +4 -3
- package/src/core/nodes/EventListenerNode.ts +7 -4
- package/src/core/nodes/ExportNode.ts +6 -4
- package/src/core/nodes/ExpressionNode.ts +5 -4
- package/src/core/nodes/ExternalModuleNode.ts +11 -2
- package/src/core/nodes/HttpRequestNode.ts +7 -4
- package/src/core/nodes/ImportNode.ts +31 -4
- package/src/core/nodes/InterfaceNode.ts +4 -3
- package/src/core/nodes/LiteralNode.ts +5 -4
- package/src/core/nodes/MethodCallNode.ts +7 -5
- package/src/core/nodes/MethodNode.ts +6 -4
- package/src/core/nodes/ObjectLiteralNode.ts +3 -2
- package/src/core/nodes/ParameterNode.ts +4 -3
- package/src/core/nodes/TypeNode.ts +4 -3
- package/src/core/nodes/VariableDeclarationNode.ts +7 -5
- package/src/core/nodes/index.ts +3 -0
- package/src/data/builtins/BuiltinRegistry.ts +124 -0
- package/src/data/builtins/definitions.ts +267 -0
- package/src/data/builtins/index.ts +10 -0
- package/src/data/builtins/jsGlobals.ts +28 -0
- package/src/data/builtins/types.ts +36 -0
- package/src/data/globals/definitions.ts +156 -0
- package/src/data/globals/index.ts +66 -0
- package/src/diagnostics/DiagnosticReporter.ts +120 -0
- package/src/diagnostics/index.ts +1 -1
- package/src/errors/GrafemaError.ts +65 -0
- package/src/index.ts +45 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +4 -2
- package/src/plugins/analysis/ExpressAnalyzer.ts +5 -1
- package/src/plugins/analysis/ExpressResponseAnalyzer.ts +636 -0
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +57 -18
- package/src/plugins/analysis/FetchAnalyzer.ts +204 -16
- package/src/plugins/analysis/JSASTAnalyzer.ts +2958 -260
- package/src/plugins/analysis/RustAnalyzer.ts +4 -4
- package/src/plugins/analysis/SQLiteAnalyzer.ts +5 -2
- package/src/plugins/analysis/SocketIOAnalyzer.ts +121 -7
- package/src/plugins/analysis/ast/GraphBuilder.ts +1578 -70
- package/src/plugins/analysis/ast/types.ts +387 -0
- package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +8 -0
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +16 -1
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +77 -2
- package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +112 -1
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +272 -47
- package/src/plugins/discovery/WorkspaceDiscovery.ts +11 -4
- package/src/plugins/enrichment/AliasTracker.ts +22 -1
- package/src/plugins/enrichment/ArgumentParameterLinker.ts +240 -0
- package/src/plugins/enrichment/ClosureCaptureEnricher.ts +267 -0
- package/src/plugins/enrichment/ExternalCallResolver.ts +262 -0
- package/src/plugins/enrichment/FunctionCallResolver.ts +456 -0
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +70 -20
- package/src/plugins/enrichment/MethodCallResolver.ts +21 -1
- package/src/plugins/enrichment/MountPointResolver.ts +206 -198
- package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +365 -0
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +67 -184
- package/src/plugins/indexing/JSModuleIndexer.ts +66 -0
- package/src/plugins/indexing/RustModuleIndexer.ts +4 -4
- package/src/plugins/validation/BrokenImportValidator.ts +325 -0
- package/src/plugins/validation/CallResolverValidator.ts +129 -109
- package/src/plugins/validation/DataFlowValidator.ts +75 -58
- package/src/plugins/validation/GraphConnectivityValidator.ts +39 -1
- package/src/plugins/validation/SQLInjectionValidator.ts +2 -5
- package/src/queries/README.md +46 -0
- package/src/queries/findCallsInFunction.ts +206 -0
- package/src/queries/findContainingFunction.ts +83 -0
- package/src/queries/index.ts +23 -0
- package/src/queries/traceValues.ts +398 -0
- package/src/queries/types.ts +187 -0
- package/src/schema/GraphSchemaExtractor.ts +177 -0
- package/src/schema/InterfaceSchemaExtractor.ts +173 -0
- package/src/schema/index.ts +5 -0
- package/src/storage/backends/RFDBServerBackend.ts +64 -68
- package/src/storage/backends/typeValidation.ts +1 -0
|
@@ -12,17 +12,25 @@ interface ImportNodeRecord extends BaseNodeRecord {
|
|
|
12
12
|
importBinding: ImportBinding;
|
|
13
13
|
imported: string;
|
|
14
14
|
local: string;
|
|
15
|
+
isDynamic?: boolean;
|
|
16
|
+
isResolvable?: boolean;
|
|
17
|
+
dynamicPath?: string;
|
|
18
|
+
sideEffect?: boolean;
|
|
15
19
|
}
|
|
16
20
|
interface ImportNodeOptions {
|
|
17
21
|
importType?: ImportType;
|
|
18
22
|
importBinding?: ImportBinding;
|
|
19
23
|
imported?: string;
|
|
20
24
|
local?: string;
|
|
25
|
+
isDynamic?: boolean;
|
|
26
|
+
isResolvable?: boolean;
|
|
27
|
+
dynamicPath?: string;
|
|
28
|
+
sideEffect?: boolean;
|
|
21
29
|
}
|
|
22
30
|
export declare class ImportNode {
|
|
23
31
|
static readonly TYPE: "IMPORT";
|
|
24
|
-
static readonly REQUIRED: readonly ["name", "file", "line", "source"];
|
|
25
|
-
static readonly OPTIONAL: readonly ["
|
|
32
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column", "source"];
|
|
33
|
+
static readonly OPTIONAL: readonly ["importType", "importBinding", "imported", "local", "isDynamic", "isResolvable", "dynamicPath", "sideEffect"];
|
|
26
34
|
/**
|
|
27
35
|
* Create IMPORT node
|
|
28
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ImportNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACjD,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEpD,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ImportNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ImportNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACjD,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEpD,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,iBAAiB;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAEzC,MAAM,CAAC,QAAQ,CAAC,QAAQ,wDAAyD;IACjF,MAAM,CAAC,QAAQ,CAAC,QAAQ,0HAA2H;IAEnJ;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB;IA+CnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAgBlD;AAED,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export class ImportNode {
|
|
5
5
|
static TYPE = 'IMPORT';
|
|
6
|
-
static REQUIRED = ['name', 'file', 'line', 'source'];
|
|
7
|
-
static OPTIONAL = ['
|
|
6
|
+
static REQUIRED = ['name', 'file', 'line', 'column', 'source'];
|
|
7
|
+
static OPTIONAL = ['importType', 'importBinding', 'imported', 'local', 'isDynamic', 'isResolvable', 'dynamicPath', 'sideEffect'];
|
|
8
8
|
/**
|
|
9
9
|
* Create IMPORT node
|
|
10
10
|
*
|
|
@@ -23,6 +23,8 @@ export class ImportNode {
|
|
|
23
23
|
throw new Error('ImportNode.create: file is required');
|
|
24
24
|
if (line === undefined)
|
|
25
25
|
throw new Error('ImportNode.create: line is required');
|
|
26
|
+
if (column === undefined)
|
|
27
|
+
throw new Error('ImportNode.create: column is required');
|
|
26
28
|
if (!source)
|
|
27
29
|
throw new Error('ImportNode.create: source is required');
|
|
28
30
|
// Auto-detect importType from imported field if not explicitly provided
|
|
@@ -31,19 +33,34 @@ export class ImportNode {
|
|
|
31
33
|
importType = options.imported === 'default' ? 'default' :
|
|
32
34
|
options.imported === '*' ? 'namespace' : 'named';
|
|
33
35
|
}
|
|
34
|
-
|
|
36
|
+
const record = {
|
|
35
37
|
id: `${file}:IMPORT:${source}:${name}`, // SEMANTIC ID: no line number
|
|
36
38
|
type: this.TYPE,
|
|
37
39
|
name,
|
|
38
40
|
file,
|
|
39
41
|
line, // Stored as field, not in ID
|
|
40
|
-
column
|
|
42
|
+
column,
|
|
41
43
|
source,
|
|
42
44
|
importType: importType || 'named', // NEW field with auto-detection
|
|
43
45
|
importBinding: options.importBinding || 'value', // RENAMED field
|
|
44
46
|
imported: options.imported || name,
|
|
45
47
|
local: options.local || name
|
|
46
48
|
};
|
|
49
|
+
// Add dynamic import fields if provided
|
|
50
|
+
if (options.isDynamic !== undefined) {
|
|
51
|
+
record.isDynamic = options.isDynamic;
|
|
52
|
+
}
|
|
53
|
+
if (options.isResolvable !== undefined) {
|
|
54
|
+
record.isResolvable = options.isResolvable;
|
|
55
|
+
}
|
|
56
|
+
if (options.dynamicPath !== undefined) {
|
|
57
|
+
record.dynamicPath = options.dynamicPath;
|
|
58
|
+
}
|
|
59
|
+
// REG-273: Add sideEffect field if provided
|
|
60
|
+
if (options.sideEffect !== undefined) {
|
|
61
|
+
record.sideEffect = options.sideEffect;
|
|
62
|
+
}
|
|
63
|
+
return record;
|
|
47
64
|
}
|
|
48
65
|
static validate(node) {
|
|
49
66
|
const errors = [];
|
|
@@ -27,8 +27,8 @@ interface InterfaceNodeOptions {
|
|
|
27
27
|
}
|
|
28
28
|
export declare class InterfaceNode {
|
|
29
29
|
static readonly TYPE: "INTERFACE";
|
|
30
|
-
static readonly REQUIRED: readonly ["name", "file", "line"];
|
|
31
|
-
static readonly OPTIONAL: readonly ["
|
|
30
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column"];
|
|
31
|
+
static readonly OPTIONAL: readonly ["extends", "properties", "isExternal"];
|
|
32
32
|
/**
|
|
33
33
|
* Create INTERFACE node
|
|
34
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/InterfaceNode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAE5C,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"InterfaceNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/InterfaceNode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAE5C,MAAM,CAAC,QAAQ,CAAC,QAAQ,8CAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,mDAAoD;IAE5E;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,mBAAmB;IAmBtB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,EAAE;CAgBrD;AAED,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export class InterfaceNode {
|
|
10
10
|
static TYPE = 'INTERFACE';
|
|
11
|
-
static REQUIRED = ['name', 'file', 'line'];
|
|
12
|
-
static OPTIONAL = ['
|
|
11
|
+
static REQUIRED = ['name', 'file', 'line', 'column'];
|
|
12
|
+
static OPTIONAL = ['extends', 'properties', 'isExternal'];
|
|
13
13
|
/**
|
|
14
14
|
* Create INTERFACE node
|
|
15
15
|
*
|
|
@@ -27,13 +27,15 @@ export class InterfaceNode {
|
|
|
27
27
|
throw new Error('InterfaceNode.create: file is required');
|
|
28
28
|
if (!line)
|
|
29
29
|
throw new Error('InterfaceNode.create: line is required');
|
|
30
|
+
if (column === undefined)
|
|
31
|
+
throw new Error('InterfaceNode.create: column is required');
|
|
30
32
|
return {
|
|
31
33
|
id: `${file}:INTERFACE:${name}:${line}`,
|
|
32
34
|
type: this.TYPE,
|
|
33
35
|
name,
|
|
34
36
|
file,
|
|
35
37
|
line,
|
|
36
|
-
column
|
|
38
|
+
column,
|
|
37
39
|
extends: options.extends || [],
|
|
38
40
|
properties: options.properties || [],
|
|
39
41
|
...(options.isExternal !== undefined && { isExternal: options.isExternal })
|
|
@@ -17,8 +17,8 @@ interface LiteralNodeOptions {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class LiteralNode {
|
|
19
19
|
static readonly TYPE: "LITERAL";
|
|
20
|
-
static readonly REQUIRED: readonly ["file", "line"];
|
|
21
|
-
static readonly OPTIONAL: readonly ["value", "valueType", "
|
|
20
|
+
static readonly REQUIRED: readonly ["file", "line", "column"];
|
|
21
|
+
static readonly OPTIONAL: readonly ["value", "valueType", "parentCallId", "argIndex"];
|
|
22
22
|
static create(value: unknown, file: string, line: number, column: number, options?: LiteralNodeOptions): LiteralNodeRecord;
|
|
23
23
|
static validate(node: LiteralNodeRecord): string[];
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiteralNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/LiteralNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,iBAAkB,SAAQ,cAAc;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAE1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"LiteralNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/LiteralNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,iBAAkB,SAAQ,cAAc;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAE1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,sCAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,8DAA+D;IAEvF,MAAM,CAAC,MAAM,CACX,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB;IAuBpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE;CASnD;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -3,16 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export class LiteralNode {
|
|
5
5
|
static TYPE = 'LITERAL';
|
|
6
|
-
static REQUIRED = ['file', 'line'];
|
|
7
|
-
static OPTIONAL = ['value', 'valueType', '
|
|
6
|
+
static REQUIRED = ['file', 'line', 'column'];
|
|
7
|
+
static OPTIONAL = ['value', 'valueType', 'parentCallId', 'argIndex'];
|
|
8
8
|
static create(value, file, line, column, options = {}) {
|
|
9
9
|
if (!file)
|
|
10
10
|
throw new Error('LiteralNode.create: file is required');
|
|
11
11
|
if (line === undefined)
|
|
12
12
|
throw new Error('LiteralNode.create: line is required');
|
|
13
|
+
if (column === undefined)
|
|
14
|
+
throw new Error('LiteralNode.create: column is required');
|
|
13
15
|
const counter = options.counter !== undefined ? `:${options.counter}` : '';
|
|
14
16
|
const argIndex = options.argIndex !== undefined ? `arg${options.argIndex}` : 'value';
|
|
15
|
-
const id = `${file}:LITERAL:${argIndex}:${line}:${column
|
|
17
|
+
const id = `${file}:LITERAL:${argIndex}:${line}:${column}${counter}`;
|
|
16
18
|
return {
|
|
17
19
|
id,
|
|
18
20
|
type: this.TYPE,
|
|
@@ -21,7 +23,7 @@ export class LiteralNode {
|
|
|
21
23
|
valueType: typeof value,
|
|
22
24
|
file,
|
|
23
25
|
line,
|
|
24
|
-
column
|
|
26
|
+
column,
|
|
25
27
|
parentCallId: options.parentCallId,
|
|
26
28
|
argIndex: options.argIndex
|
|
27
29
|
};
|
|
@@ -33,8 +33,8 @@ interface MethodCallContextOptions {
|
|
|
33
33
|
}
|
|
34
34
|
export declare class MethodCallNode {
|
|
35
35
|
static readonly TYPE: "METHOD_CALL";
|
|
36
|
-
static readonly REQUIRED: readonly ["name", "file", "line", "args"];
|
|
37
|
-
static readonly OPTIONAL: readonly ["object", "method", "
|
|
36
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column", "args"];
|
|
37
|
+
static readonly OPTIONAL: readonly ["object", "method", "parentScopeId"];
|
|
38
38
|
/**
|
|
39
39
|
* Create METHOD_CALL node
|
|
40
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodCallNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/MethodCallNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,UAAU,oBAAqB,SAAQ,cAAc;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IAE9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"MethodCallNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/MethodCallNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,UAAU,oBAAqB,SAAQ,cAAc;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IAE9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,sDAAuD;IAC/E,MAAM,CAAC,QAAQ,CAAC,QAAQ,iDAAkD;IAE1E;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,oBAAoB;IAwBvB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,iBAAiB,CACtB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,wBAAwB,GAChC,oBAAoB;IA6BvB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,EAAE;CAgBtD;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import { computeSemanticId } from '../SemanticId.js';
|
|
12
12
|
export class MethodCallNode {
|
|
13
13
|
static TYPE = 'METHOD_CALL';
|
|
14
|
-
static REQUIRED = ['name', 'file', 'line', 'args'];
|
|
15
|
-
static OPTIONAL = ['object', 'method', '
|
|
14
|
+
static REQUIRED = ['name', 'file', 'line', 'column', 'args'];
|
|
15
|
+
static OPTIONAL = ['object', 'method', 'parentScopeId'];
|
|
16
16
|
/**
|
|
17
17
|
* Create METHOD_CALL node
|
|
18
18
|
*/
|
|
@@ -23,9 +23,11 @@ export class MethodCallNode {
|
|
|
23
23
|
throw new Error('MethodCallNode.create: file is required');
|
|
24
24
|
if (line === undefined)
|
|
25
25
|
throw new Error('MethodCallNode.create: line is required');
|
|
26
|
+
if (column === undefined)
|
|
27
|
+
throw new Error('MethodCallNode.create: column is required');
|
|
26
28
|
const fullName = objectName ? `${objectName}.${methodName}` : methodName;
|
|
27
29
|
const counter = options.counter !== undefined ? `:${options.counter}` : '';
|
|
28
|
-
const id = `${file}:METHOD_CALL:${fullName}:${line}:${column
|
|
30
|
+
const id = `${file}:METHOD_CALL:${fullName}:${line}:${column}${counter}`;
|
|
29
31
|
return {
|
|
30
32
|
id,
|
|
31
33
|
type: this.TYPE,
|
|
@@ -34,7 +36,7 @@ export class MethodCallNode {
|
|
|
34
36
|
method: methodName,
|
|
35
37
|
file,
|
|
36
38
|
line,
|
|
37
|
-
column
|
|
39
|
+
column,
|
|
38
40
|
parentScopeId: options.parentScopeId,
|
|
39
41
|
args: options.args || []
|
|
40
42
|
};
|
|
@@ -60,6 +62,8 @@ export class MethodCallNode {
|
|
|
60
62
|
throw new Error('MethodCallNode.createWithContext: file is required');
|
|
61
63
|
if (location.line === undefined)
|
|
62
64
|
throw new Error('MethodCallNode.createWithContext: line is required');
|
|
65
|
+
if (location.column === undefined)
|
|
66
|
+
throw new Error('MethodCallNode.createWithContext: column is required');
|
|
63
67
|
if (options.discriminator === undefined)
|
|
64
68
|
throw new Error('MethodCallNode.createWithContext: discriminator is required');
|
|
65
69
|
const fullName = objectName ? `${objectName}.${methodName}` : methodName;
|
|
@@ -75,7 +79,7 @@ export class MethodCallNode {
|
|
|
75
79
|
method: methodName,
|
|
76
80
|
file: context.file,
|
|
77
81
|
line: location.line,
|
|
78
|
-
column: location.column
|
|
82
|
+
column: location.column,
|
|
79
83
|
parentScopeId: options.parentScopeId,
|
|
80
84
|
args: options.args || []
|
|
81
85
|
};
|
|
@@ -37,8 +37,8 @@ interface MethodContextOptions {
|
|
|
37
37
|
}
|
|
38
38
|
export declare class MethodNode {
|
|
39
39
|
static readonly TYPE: "METHOD";
|
|
40
|
-
static readonly REQUIRED: readonly ["name", "file", "line", "className"];
|
|
41
|
-
static readonly OPTIONAL: readonly ["
|
|
40
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column", "className"];
|
|
41
|
+
static readonly OPTIONAL: readonly ["async", "generator", "static", "kind"];
|
|
42
42
|
static create(name: string, file: string, line: number, column: number, className: string, options?: MethodNodeOptions): MethodNodeRecord;
|
|
43
43
|
/**
|
|
44
44
|
* Create METHOD node with semantic ID (NEW API)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/MethodNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC;AAE3D,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAEzC,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"MethodNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/MethodNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC;AAE3D,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAEzC,MAAM,CAAC,QAAQ,CAAC,QAAQ,2DAA4D;IACpF,MAAM,CAAC,QAAQ,CAAC,QAAQ,oDAAqD;IAE7E,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB;IAsBnB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,GAAE,oBAAyB,GACjC,gBAAgB;IA0BnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE;CAgBlD;AAED,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import { computeSemanticId } from '../SemanticId.js';
|
|
12
12
|
export class MethodNode {
|
|
13
13
|
static TYPE = 'METHOD';
|
|
14
|
-
static REQUIRED = ['name', 'file', 'line', 'className'];
|
|
15
|
-
static OPTIONAL = ['
|
|
14
|
+
static REQUIRED = ['name', 'file', 'line', 'column', 'className'];
|
|
15
|
+
static OPTIONAL = ['async', 'generator', 'static', 'kind'];
|
|
16
16
|
static create(name, file, line, column, className, options = {}) {
|
|
17
17
|
if (!name)
|
|
18
18
|
throw new Error('MethodNode.create: name is required');
|
|
@@ -20,6 +20,8 @@ export class MethodNode {
|
|
|
20
20
|
throw new Error('MethodNode.create: file is required');
|
|
21
21
|
if (!line)
|
|
22
22
|
throw new Error('MethodNode.create: line is required');
|
|
23
|
+
if (column === undefined)
|
|
24
|
+
throw new Error('MethodNode.create: column is required');
|
|
23
25
|
if (!className)
|
|
24
26
|
throw new Error('MethodNode.create: className is required');
|
|
25
27
|
return {
|
|
@@ -28,7 +30,7 @@ export class MethodNode {
|
|
|
28
30
|
name,
|
|
29
31
|
file,
|
|
30
32
|
line,
|
|
31
|
-
column
|
|
33
|
+
column,
|
|
32
34
|
className,
|
|
33
35
|
async: options.async || false,
|
|
34
36
|
generator: options.generator || false,
|
|
@@ -60,6 +62,8 @@ export class MethodNode {
|
|
|
60
62
|
throw new Error('MethodNode.createWithContext: file is required');
|
|
61
63
|
if (location.line === undefined)
|
|
62
64
|
throw new Error('MethodNode.createWithContext: line is required');
|
|
65
|
+
if (location.column === undefined)
|
|
66
|
+
throw new Error('MethodNode.createWithContext: column is required');
|
|
63
67
|
// Compute semantic ID
|
|
64
68
|
const id = computeSemanticId(this.TYPE, name, context);
|
|
65
69
|
return {
|
|
@@ -68,7 +72,7 @@ export class MethodNode {
|
|
|
68
72
|
name,
|
|
69
73
|
file: context.file,
|
|
70
74
|
line: location.line,
|
|
71
|
-
column: location.column
|
|
75
|
+
column: location.column,
|
|
72
76
|
className,
|
|
73
77
|
async: options.async || false,
|
|
74
78
|
generator: options.generator || false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectLiteralNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ObjectLiteralNode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,uBAAwB,SAAQ,cAAc;IACtD,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAU;IAEjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sCAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,wCAAyC;IAEjE,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"ObjectLiteralNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ObjectLiteralNode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,uBAAwB,SAAQ,cAAc;IACtD,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAU;IAEjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sCAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,wCAAyC;IAEjE,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,uBAAuB;IAqB1B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,EAAE;CASzD;AAED,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -13,16 +13,18 @@ export class ObjectLiteralNode {
|
|
|
13
13
|
throw new Error('ObjectLiteralNode.create: file is required');
|
|
14
14
|
if (line === undefined)
|
|
15
15
|
throw new Error('ObjectLiteralNode.create: line is required');
|
|
16
|
+
if (column === undefined)
|
|
17
|
+
throw new Error('ObjectLiteralNode.create: column is required');
|
|
16
18
|
const counter = options.counter !== undefined ? `:${options.counter}` : '';
|
|
17
19
|
const argSuffix = options.argIndex !== undefined ? `arg${options.argIndex}` : 'obj';
|
|
18
|
-
const id = `OBJECT_LITERAL#${argSuffix}#${file}#${line}:${column
|
|
20
|
+
const id = `OBJECT_LITERAL#${argSuffix}#${file}#${line}:${column}${counter}`;
|
|
19
21
|
return {
|
|
20
22
|
id,
|
|
21
23
|
type: this.TYPE,
|
|
22
24
|
name: `<object>`,
|
|
23
25
|
file,
|
|
24
26
|
line,
|
|
25
|
-
column
|
|
27
|
+
column,
|
|
26
28
|
parentCallId: options.parentCallId,
|
|
27
29
|
argIndex: options.argIndex
|
|
28
30
|
};
|
|
@@ -17,8 +17,8 @@ interface ParameterNodeOptions {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class ParameterNode {
|
|
19
19
|
static readonly TYPE: "PARAMETER";
|
|
20
|
-
static readonly REQUIRED: readonly ["name", "file", "line", "functionId"];
|
|
21
|
-
static readonly OPTIONAL: readonly ["
|
|
20
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column", "functionId"];
|
|
21
|
+
static readonly OPTIONAL: readonly ["index", "defaultValue", "rest"];
|
|
22
22
|
static create(name: string, file: string, line: number, column: number, functionId: string, options?: ParameterNodeOptions): ParameterNodeRecord;
|
|
23
23
|
static validate(node: ParameterNodeRecord): string[];
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ParameterNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,mBAAoB,SAAQ,cAAc;IAClD,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAE5C,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"ParameterNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/ParameterNode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,mBAAoB,SAAQ,cAAc;IAClD,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IAE5C,MAAM,CAAC,QAAQ,CAAC,QAAQ,4DAA6D;IACrF,MAAM,CAAC,QAAQ,CAAC,QAAQ,6CAA8C;IAEtE,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,mBAAmB;IAqBtB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,EAAE;CAgBrD;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export class ParameterNode {
|
|
5
5
|
static TYPE = 'PARAMETER';
|
|
6
|
-
static REQUIRED = ['name', 'file', 'line', 'functionId'];
|
|
7
|
-
static OPTIONAL = ['
|
|
6
|
+
static REQUIRED = ['name', 'file', 'line', 'column', 'functionId'];
|
|
7
|
+
static OPTIONAL = ['index', 'defaultValue', 'rest'];
|
|
8
8
|
static create(name, file, line, column, functionId, options = {}) {
|
|
9
9
|
if (!name)
|
|
10
10
|
throw new Error('ParameterNode.create: name is required');
|
|
@@ -12,6 +12,8 @@ export class ParameterNode {
|
|
|
12
12
|
throw new Error('ParameterNode.create: file is required');
|
|
13
13
|
if (!line)
|
|
14
14
|
throw new Error('ParameterNode.create: line is required');
|
|
15
|
+
if (column === undefined)
|
|
16
|
+
throw new Error('ParameterNode.create: column is required');
|
|
15
17
|
if (!functionId)
|
|
16
18
|
throw new Error('ParameterNode.create: functionId is required');
|
|
17
19
|
return {
|
|
@@ -20,7 +22,7 @@ export class ParameterNode {
|
|
|
20
22
|
name,
|
|
21
23
|
file,
|
|
22
24
|
line,
|
|
23
|
-
column
|
|
25
|
+
column,
|
|
24
26
|
functionId,
|
|
25
27
|
index: options.index || 0,
|
|
26
28
|
defaultValue: options.defaultValue,
|
|
@@ -17,8 +17,8 @@ interface TypeNodeOptions {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class TypeNode {
|
|
19
19
|
static readonly TYPE: "TYPE";
|
|
20
|
-
static readonly REQUIRED: readonly ["name", "file", "line"];
|
|
21
|
-
static readonly OPTIONAL: readonly ["
|
|
20
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column"];
|
|
21
|
+
static readonly OPTIONAL: readonly ["aliasOf"];
|
|
22
22
|
/**
|
|
23
23
|
* Create TYPE node
|
|
24
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/TypeNode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,cAAe,SAAQ,cAAc;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAEvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"TypeNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/TypeNode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,cAAe,SAAQ,cAAc;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAEvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,8CAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,uBAAwB;IAEhD;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,cAAc;IAiBjB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE;CAgBhD;AAED,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export class TypeNode {
|
|
10
10
|
static TYPE = 'TYPE';
|
|
11
|
-
static REQUIRED = ['name', 'file', 'line'];
|
|
12
|
-
static OPTIONAL = ['
|
|
11
|
+
static REQUIRED = ['name', 'file', 'line', 'column'];
|
|
12
|
+
static OPTIONAL = ['aliasOf'];
|
|
13
13
|
/**
|
|
14
14
|
* Create TYPE node
|
|
15
15
|
*
|
|
@@ -27,13 +27,15 @@ export class TypeNode {
|
|
|
27
27
|
throw new Error('TypeNode.create: file is required');
|
|
28
28
|
if (!line)
|
|
29
29
|
throw new Error('TypeNode.create: line is required');
|
|
30
|
+
if (column === undefined)
|
|
31
|
+
throw new Error('TypeNode.create: column is required');
|
|
30
32
|
return {
|
|
31
33
|
id: `${file}:TYPE:${name}:${line}`,
|
|
32
34
|
type: this.TYPE,
|
|
33
35
|
name,
|
|
34
36
|
file,
|
|
35
37
|
line,
|
|
36
|
-
column
|
|
38
|
+
column,
|
|
37
39
|
aliasOf: options.aliasOf
|
|
38
40
|
};
|
|
39
41
|
}
|
|
@@ -27,8 +27,8 @@ interface VariableContextOptions {
|
|
|
27
27
|
}
|
|
28
28
|
export declare class VariableDeclarationNode {
|
|
29
29
|
static readonly TYPE: "VARIABLE_DECLARATION";
|
|
30
|
-
static readonly REQUIRED: readonly ["name", "file", "line"];
|
|
31
|
-
static readonly OPTIONAL: readonly ["
|
|
30
|
+
static readonly REQUIRED: readonly ["name", "file", "line", "column"];
|
|
31
|
+
static readonly OPTIONAL: readonly ["parentScopeId"];
|
|
32
32
|
static create(name: string, file: string, line: number, column: number, options?: VariableDeclarationNodeOptions): VariableDeclarationNodeRecord;
|
|
33
33
|
/**
|
|
34
34
|
* Create VARIABLE_DECLARATION node with semantic ID (NEW API)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableDeclarationNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/VariableDeclarationNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,UAAU,6BAA8B,SAAQ,cAAc;IAC5D,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,8BAA8B;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,sBAAsB,CAAU;IAEvD,MAAM,CAAC,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"VariableDeclarationNode.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/VariableDeclarationNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvF,UAAU,6BAA8B,SAAQ,cAAc;IAC5D,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,8BAA8B;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,sBAAsB,CAAU;IAEvD,MAAM,CAAC,QAAQ,CAAC,QAAQ,8CAA+C;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,6BAA8B;IAEtD,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,8BAAmC,GAC3C,6BAA6B;IAoBhC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,GAAE,sBAA2B,GACnC,6BAA6B;IAqBhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,GAAG,MAAM,EAAE;CAS/D;AAED,YAAY,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import { computeSemanticId } from '../SemanticId.js';
|
|
12
12
|
export class VariableDeclarationNode {
|
|
13
13
|
static TYPE = 'VARIABLE_DECLARATION';
|
|
14
|
-
static REQUIRED = ['name', 'file', 'line'];
|
|
15
|
-
static OPTIONAL = ['
|
|
14
|
+
static REQUIRED = ['name', 'file', 'line', 'column'];
|
|
15
|
+
static OPTIONAL = ['parentScopeId'];
|
|
16
16
|
static create(name, file, line, column, options = {}) {
|
|
17
17
|
if (!name)
|
|
18
18
|
throw new Error('VariableDeclarationNode.create: name is required');
|
|
@@ -20,15 +20,17 @@ export class VariableDeclarationNode {
|
|
|
20
20
|
throw new Error('VariableDeclarationNode.create: file is required');
|
|
21
21
|
if (line === undefined)
|
|
22
22
|
throw new Error('VariableDeclarationNode.create: line is required');
|
|
23
|
+
if (column === undefined)
|
|
24
|
+
throw new Error('VariableDeclarationNode.create: column is required');
|
|
23
25
|
const counter = options.counter !== undefined ? `:${options.counter}` : '';
|
|
24
|
-
const id = `${file}:VARIABLE_DECLARATION:${name}:${line}:${column
|
|
26
|
+
const id = `${file}:VARIABLE_DECLARATION:${name}:${line}:${column}${counter}`;
|
|
25
27
|
return {
|
|
26
28
|
id,
|
|
27
29
|
type: this.TYPE,
|
|
28
30
|
name,
|
|
29
31
|
file,
|
|
30
32
|
line,
|
|
31
|
-
column
|
|
33
|
+
column,
|
|
32
34
|
parentScopeId: options.parentScopeId
|
|
33
35
|
};
|
|
34
36
|
}
|
|
@@ -52,6 +54,8 @@ export class VariableDeclarationNode {
|
|
|
52
54
|
throw new Error('VariableDeclarationNode.createWithContext: file is required');
|
|
53
55
|
if (location.line === undefined)
|
|
54
56
|
throw new Error('VariableDeclarationNode.createWithContext: line is required');
|
|
57
|
+
if (location.column === undefined)
|
|
58
|
+
throw new Error('VariableDeclarationNode.createWithContext: column is required');
|
|
55
59
|
// Compute semantic ID using 'VARIABLE' type for cleaner IDs
|
|
56
60
|
const id = computeSemanticId('VARIABLE', name, context);
|
|
57
61
|
return {
|
|
@@ -60,7 +64,7 @@ export class VariableDeclarationNode {
|
|
|
60
64
|
name,
|
|
61
65
|
file: context.file,
|
|
62
66
|
line: location.line,
|
|
63
|
-
column: location.column
|
|
67
|
+
column: location.column,
|
|
64
68
|
parentScopeId: options.parentScopeId
|
|
65
69
|
};
|
|
66
70
|
}
|
|
@@ -9,8 +9,11 @@ export { ClassNode, type ClassNodeRecord } from './ClassNode.js';
|
|
|
9
9
|
export { MethodNode, type MethodNodeRecord, type MethodKind } from './MethodNode.js';
|
|
10
10
|
export { ParameterNode, type ParameterNodeRecord } from './ParameterNode.js';
|
|
11
11
|
export { ScopeNode, type ScopeNodeRecord } from './ScopeNode.js';
|
|
12
|
+
export { BranchNode, type BranchNodeRecord } from './BranchNode.js';
|
|
13
|
+
export { CaseNode, type CaseNodeRecord } from './CaseNode.js';
|
|
12
14
|
export { CallSiteNode, type CallSiteNodeRecord } from './CallSiteNode.js';
|
|
13
15
|
export { MethodCallNode, type MethodCallNodeRecord } from './MethodCallNode.js';
|
|
16
|
+
export { ConstructorCallNode, type ConstructorCallNodeRecord } from './ConstructorCallNode.js';
|
|
14
17
|
export { VariableDeclarationNode, type VariableDeclarationNodeRecord } from './VariableDeclarationNode.js';
|
|
15
18
|
export { ConstantNode, type ConstantNodeRecord } from './ConstantNode.js';
|
|
16
19
|
export { LiteralNode, type LiteralNodeRecord } from './LiteralNode.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/M,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/nodes/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/nodes/index.js
CHANGED
|
@@ -10,9 +10,12 @@ export { ClassNode } from './ClassNode.js';
|
|
|
10
10
|
export { MethodNode } from './MethodNode.js';
|
|
11
11
|
export { ParameterNode } from './ParameterNode.js';
|
|
12
12
|
export { ScopeNode } from './ScopeNode.js';
|
|
13
|
+
export { BranchNode } from './BranchNode.js';
|
|
14
|
+
export { CaseNode } from './CaseNode.js';
|
|
13
15
|
// Call/reference nodes
|
|
14
16
|
export { CallSiteNode } from './CallSiteNode.js';
|
|
15
17
|
export { MethodCallNode } from './MethodCallNode.js';
|
|
18
|
+
export { ConstructorCallNode } from './ConstructorCallNode.js';
|
|
16
19
|
export { VariableDeclarationNode } from './VariableDeclarationNode.js';
|
|
17
20
|
export { ConstantNode } from './ConstantNode.js';
|
|
18
21
|
export { LiteralNode } from './LiteralNode.js';
|