code-auditor-mcp 3.10.0 → 4.0.1
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +197 -0
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +4 -4
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +2 -2
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +1 -0
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +3 -3
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +2 -2
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +62 -17
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +14 -16
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +30 -25
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
- package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
- package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
- package/dist/analyzers/provenance.d.ts +10 -1
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +138 -1
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +34 -116
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts +5 -3
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +199 -55
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +10 -17
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +6 -6
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +13 -13
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +266 -101
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +3 -2
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +14 -13
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +11 -11
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +19 -7
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +93 -46
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +58 -34
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +239 -97
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts +6 -6
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +10 -0
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts.map +1 -1
- package/dist/auditRouter.js +7 -7
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +53 -8
- package/dist/auditRunner.js.map +1 -1
- package/dist/churn/churnExtractor.js.map +1 -1
- package/dist/cli.js +52 -24
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +1 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +164 -18
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js.map +1 -1
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +89 -28
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/configLoader.js +1 -1
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +2 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +10 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +3 -10
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/coverage/lcovParser.js.map +1 -1
- package/dist/daemon/args.js.map +1 -1
- package/dist/daemon/core.d.ts.map +1 -1
- package/dist/daemon/core.js +50 -46
- package/dist/daemon/core.js.map +1 -1
- package/dist/daemon/lspServer.d.ts.map +1 -1
- package/dist/daemon/lspServer.js +1 -1
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +14 -4
- package/dist/daemon/main.js.map +1 -1
- package/dist/daemon/resolve.js.map +1 -1
- package/dist/daemon/socketServer.d.ts.map +1 -1
- package/dist/enforcement/gate.js +2 -2
- package/dist/functionScanner.d.ts.map +1 -1
- package/dist/functionScanner.js +47 -42
- package/dist/functionScanner.js.map +1 -1
- package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
- package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
- package/dist/generators/BaseConfigGenerator.js.map +1 -1
- package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
- package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
- package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
- package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
- package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
- package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
- package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
- package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
- package/dist/graph/importClassification.d.ts +114 -0
- package/dist/graph/importClassification.d.ts.map +1 -0
- package/dist/graph/importClassification.js +393 -0
- package/dist/graph/importClassification.js.map +1 -0
- package/dist/graph/importGraph.d.ts +1 -0
- package/dist/graph/importGraph.d.ts.map +1 -1
- package/dist/graph/importGraph.js +1 -1
- package/dist/graph/importGraph.js.map +1 -1
- package/dist/graph/outputFormatter.js.map +1 -1
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +1 -1
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +1 -1
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +4 -4
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +2 -2
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/installer.d.ts +13 -7
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +25 -15
- package/dist/installer.js.map +1 -1
- package/dist/invariants/invariant-rules.schema.json +1 -1
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/invariants/ruleValidator.js +1 -1
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/invariants/types.d.ts +1 -1
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +3 -2
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +1 -1
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/LanguageRegistry.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.d.ts +20 -11
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +151 -51
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +10 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +30 -7
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts +1 -19
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +33 -116
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/go/analyzer +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +8 -8
- package/dist/languages/go/analyzer-src/solid.go +5 -5
- package/dist/languages/goBinary.d.ts +46 -0
- package/dist/languages/goBinary.d.ts.map +1 -0
- package/dist/languages/goBinary.js +169 -0
- package/dist/languages/goBinary.js.map +1 -0
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +1 -28
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +3 -42
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/converter.js +2 -1
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/tree-sitter/rawNode.d.ts +31 -0
- package/dist/languages/tree-sitter/rawNode.d.ts.map +1 -0
- package/dist/languages/tree-sitter/rawNode.js +38 -0
- package/dist/languages/tree-sitter/rawNode.js.map +1 -0
- package/dist/languages/types.d.ts +15 -21
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +12 -32
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +103 -203
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.d.ts +3 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +45 -9
- package/dist/ledger.js.map +1 -1
- package/dist/mcp-tools/projectTasks.d.ts +37 -37
- package/dist/mcp-tools/projectTasks.js +2 -2
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/whitelistTools.d.ts +17 -17
- package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +3 -3
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +13 -13
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.js +7 -7
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.js +14 -14
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.js +7 -7
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.js +1 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpToolErrors.d.ts.map +1 -1
- package/dist/mcpToolErrors.js.map +1 -1
- package/dist/native-bootstrap.js.map +1 -1
- package/dist/nextFile.d.ts +2 -2
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +19 -5
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +10 -2
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +45 -16
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/pipeline.d.ts +2 -2
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +35 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +17 -0
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +356 -197
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +6 -6
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +11 -11
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +2 -2
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +1 -1
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/search/QueryParser.d.ts.map +1 -1
- package/dist/search/QueryParser.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts.map +1 -1
- package/dist/services/CodeMapGenerator.js.map +1 -1
- package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
- package/dist/services/ProjectTaskRepository.js.map +1 -1
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
- package/dist/sqlite/betterSqlite3.js.map +1 -1
- package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
- package/dist/sqlite/nodeSqlite.js.map +1 -1
- package/dist/structuralSignature.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +2 -2
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +67 -111
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +19 -6
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -1
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +67 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -5
- package/dist/types.js.map +1 -1
- package/dist/ui/InteractivePrompts.d.ts.map +1 -1
- package/dist/ui/InteractivePrompts.js.map +1 -1
- package/dist/utils/astParser.d.ts +1 -17
- package/dist/utils/astParser.d.ts.map +1 -1
- package/dist/utils/astParser.js +18 -60
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/astUtils.d.ts +12 -12
- package/dist/utils/astUtils.d.ts.map +1 -1
- package/dist/utils/astUtils.js +83 -82
- package/dist/utils/astUtils.js.map +1 -1
- package/dist/utils/componentPatterns.js.map +1 -1
- package/dist/utils/componentResponsibility.d.ts +8 -8
- package/dist/utils/componentResponsibility.d.ts.map +1 -1
- package/dist/utils/componentResponsibility.js +33 -38
- package/dist/utils/componentResponsibility.js.map +1 -1
- package/dist/utils/dependencyExtractor.d.ts +3 -3
- package/dist/utils/dependencyExtractor.d.ts.map +1 -1
- package/dist/utils/dependencyExtractor.js +26 -30
- package/dist/utils/dependencyExtractor.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +65 -0
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/jsDocParser.d.ts +6 -6
- package/dist/utils/jsDocParser.d.ts.map +1 -1
- package/dist/utils/jsDocParser.js +18 -21
- package/dist/utils/jsDocParser.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +7 -7
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +42 -49
- package/dist/utils/reactDetection.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.d.ts.map +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/version.generated.js.map +1 -1
- package/dist/workers/auditWorker.js.map +1 -1
- package/package.json +4 -3
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/README.md +5 -4
- package/plugin/hooks/hooks.json +11 -0
- package/plugin/scripts/hook-common.sh +85 -31
- package/plugin/scripts/hook-warm.sh +44 -0
- package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +28 -21
- package/plugin/skills/code-auditor/SKILL.md +10 -10
- package/server.json +2 -2
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { LanguageRegistry } from './LanguageRegistry.js';
|
|
13
13
|
import { toASTNode } from './tree-sitter/converter.js';
|
|
14
|
+
import { getRawNode } from './tree-sitter/rawNode.js';
|
|
14
15
|
import { getParser, isInitialized } from './tree-sitter/parser.js';
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
// Guards
|
|
@@ -228,7 +229,7 @@ const MODIFIER_KEYWORDS = new Set([
|
|
|
228
229
|
* @returns
|
|
229
230
|
*/
|
|
230
231
|
export function hasModifier(node, modifier) {
|
|
231
|
-
const raw = node
|
|
232
|
+
const raw = getRawNode(node);
|
|
232
233
|
if (!raw?.children)
|
|
233
234
|
return false;
|
|
234
235
|
for (const child of raw.children) {
|
|
@@ -247,7 +248,7 @@ export function isExported(node) {
|
|
|
247
248
|
if (hasModifier(node, 'export'))
|
|
248
249
|
return true;
|
|
249
250
|
// Check if the parent is an export_statement
|
|
250
|
-
const raw = node
|
|
251
|
+
const raw = getRawNode(node);
|
|
251
252
|
if (raw?.parent?.type === 'export_statement')
|
|
252
253
|
return true;
|
|
253
254
|
// Walk up to check for export_statement ancestor
|
|
@@ -276,7 +277,7 @@ export function isAsync(node) {
|
|
|
276
277
|
* @returns
|
|
277
278
|
*/
|
|
278
279
|
export function getNodeName(node) {
|
|
279
|
-
const raw = node
|
|
280
|
+
const raw = getRawNode(node);
|
|
280
281
|
if (!raw)
|
|
281
282
|
return null;
|
|
282
283
|
// Check for a direct name child
|
|
@@ -293,6 +294,28 @@ export function getNodeName(node) {
|
|
|
293
294
|
}
|
|
294
295
|
return null;
|
|
295
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Resolve a tree-sitter field name to its backing `ASTNode` child.
|
|
299
|
+
*
|
|
300
|
+
* Field children are always named nodes, so they already appear in
|
|
301
|
+
* `node.children`; the field→child mapping is resolved through the raw node
|
|
302
|
+
* (which never leaves this module), and the matching `ASTNode` is returned so
|
|
303
|
+
* callers can read it via `getNodeText`/`getNodeName` without holding a
|
|
304
|
+
* parser-specific node. Returns `undefined` when the field is absent.
|
|
305
|
+
*/
|
|
306
|
+
export function getFieldNode(node, field) {
|
|
307
|
+
const raw = getRawNode(node);
|
|
308
|
+
const rawChild = typeof raw?.childForFieldName === 'function'
|
|
309
|
+
? raw.childForFieldName(field)
|
|
310
|
+
: null;
|
|
311
|
+
if (!rawChild)
|
|
312
|
+
return undefined;
|
|
313
|
+
// web-tree-sitter returns fresh JS wrappers per access, so match the field
|
|
314
|
+
// child against `node.children` by node id (stable within a tree) rather
|
|
315
|
+
// than object identity.
|
|
316
|
+
const rawChildId = rawChild.id;
|
|
317
|
+
return node.children?.find((c) => getRawNode(c).id === rawChildId);
|
|
318
|
+
}
|
|
296
319
|
// ---------------------------------------------------------------------------
|
|
297
320
|
// Parameter count
|
|
298
321
|
// ---------------------------------------------------------------------------
|
|
@@ -302,7 +325,7 @@ export function getNodeName(node) {
|
|
|
302
325
|
* @returns
|
|
303
326
|
*/
|
|
304
327
|
export function getParameterCount(node) {
|
|
305
|
-
const raw = node
|
|
328
|
+
const raw = getRawNode(node);
|
|
306
329
|
if (!raw?.namedChildren)
|
|
307
330
|
return 0;
|
|
308
331
|
for (const child of raw.namedChildren) {
|
|
@@ -323,7 +346,7 @@ export function getParameterCount(node) {
|
|
|
323
346
|
export function calculateComplexity(node) {
|
|
324
347
|
let complexity = 1;
|
|
325
348
|
// Walk the tree-sitter subtree
|
|
326
|
-
const raw = node
|
|
349
|
+
const raw = getRawNode(node);
|
|
327
350
|
function count(node) {
|
|
328
351
|
if (LOOP_TYPES.has(node.type) || CONDITIONAL_TYPES.has(node.type)) {
|
|
329
352
|
complexity++;
|
|
@@ -356,7 +379,7 @@ export function calculateComplexity(node) {
|
|
|
356
379
|
* @returns
|
|
357
380
|
*/
|
|
358
381
|
export function getFunctionBody(node, sourceCode) {
|
|
359
|
-
const raw = node
|
|
382
|
+
const raw = getRawNode(node);
|
|
360
383
|
if (!raw)
|
|
361
384
|
return undefined;
|
|
362
385
|
const body = raw.namedChildren.find((c) => c.type === 'statement_block');
|
|
@@ -384,7 +407,7 @@ export function extractImports(filePath, content) {
|
|
|
384
407
|
// Find import_statement nodes
|
|
385
408
|
const importNodes = findNodes(ast.root, (n) => n.type === 'import_statement');
|
|
386
409
|
for (const imp of importNodes) {
|
|
387
|
-
const raw = imp
|
|
410
|
+
const raw = getRawNode(imp);
|
|
388
411
|
const moduleSpecifier = extractModuleSpecifier(raw);
|
|
389
412
|
// Get import clause
|
|
390
413
|
const importClause = raw.namedChildren.find((c) => c.type === 'import_clause');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapterBridge.js","sourceRoot":"","sources":["../../src/languages/adapterBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapterBridge.js","sourceRoot":"","sources":["../../src/languages/adapterBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* method's callee lives in an ancestor class.
|
|
12
12
|
*/
|
|
13
13
|
import type { Node as TreeSitterNode } from 'web-tree-sitter';
|
|
14
|
-
import type { AST, ASTNode, ClassInfo, DynamicPart, ExportInfo, FunctionInfo, ImportInfo, InterfaceInfo, LanguageAdapter, NodePattern, ParameterInfo, ParseError, ResolvedConstant
|
|
14
|
+
import type { AST, ASTNode, ClassInfo, DynamicPart, ExportInfo, FunctionInfo, ImportInfo, InterfaceInfo, LanguageAdapter, NodePattern, ParameterInfo, ParseError, ResolvedConstant } from '../types.js';
|
|
15
15
|
declare class GoTraversalHelpers {
|
|
16
16
|
protected walk(node: ASTNode, visitor: (node: ASTNode) => void): void;
|
|
17
17
|
protected walkRaw(node: TreeSitterNode, visitor: (node: TreeSitterNode) => void): void;
|
|
@@ -42,11 +42,9 @@ declare class GoParserCore extends GoAnalysis {
|
|
|
42
42
|
findNodes(ast: AST, pattern: NodePattern): ASTNode[];
|
|
43
43
|
getParent(node: ASTNode): ASTNode | null;
|
|
44
44
|
getChildren(node: ASTNode): ASTNode[];
|
|
45
|
-
getSiblings(node: ASTNode): ASTNode[];
|
|
46
45
|
getNodeType(node: ASTNode): string;
|
|
47
46
|
getNodeText(node: ASTNode, sourceCode: string): string;
|
|
48
47
|
getNodeName(node: ASTNode): string | null;
|
|
49
|
-
getNodeLocation(node: ASTNode): SourceLocation;
|
|
50
48
|
}
|
|
51
49
|
declare class GoExtraction extends GoParserCore {
|
|
52
50
|
extractFunctions(ast: AST): FunctionInfo[];
|
|
@@ -60,29 +58,13 @@ declare class GoPredicates extends GoExtraction {
|
|
|
60
58
|
isClass(node: ASTNode): boolean;
|
|
61
59
|
isFunction(node: ASTNode): boolean;
|
|
62
60
|
isMethod(node: ASTNode): boolean;
|
|
63
|
-
isInterface(node: ASTNode): boolean;
|
|
64
|
-
isImport(node: ASTNode): boolean;
|
|
65
|
-
isExport(node: ASTNode): boolean;
|
|
66
61
|
isLoop(node: ASTNode): boolean;
|
|
67
|
-
isConditional(node: ASTNode): boolean;
|
|
68
62
|
isVariableDeclaration(node: ASTNode): boolean;
|
|
69
|
-
getTypeInfo(node: ASTNode): string | null;
|
|
70
63
|
getDocumentation(node: ASTNode): string | null;
|
|
71
64
|
getComplexity(node: ASTNode): number;
|
|
72
65
|
}
|
|
73
66
|
declare class GoOptionalCapabilities extends GoPredicates {
|
|
74
67
|
extractInterfaces(ast: AST): InterfaceInfo[];
|
|
75
|
-
extractRawImports(_filePath: string, content: string): Array<{
|
|
76
|
-
moduleSpecifier: string;
|
|
77
|
-
isStatic: boolean;
|
|
78
|
-
isDynamic: boolean;
|
|
79
|
-
isRequire: boolean;
|
|
80
|
-
line: number;
|
|
81
|
-
}>;
|
|
82
|
-
extractExportedSymbols(ast: AST): Array<{
|
|
83
|
-
name: string;
|
|
84
|
-
line: number;
|
|
85
|
-
}>;
|
|
86
68
|
}
|
|
87
69
|
/**
|
|
88
70
|
* Tree sitter go adapter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/go/GoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GoAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/go/GoAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
* chain is ordered leaf-first (traversal/name/doc/build helpers) so every
|
|
11
11
|
* method's callee lives in an ancestor class.
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { parseWithRecovery } from '../tree-sitter/parser.js';
|
|
14
14
|
import { toASTNode, toSourceLocation } from '../tree-sitter/converter.js';
|
|
15
|
+
import { getRawNode } from '../tree-sitter/rawNode.js';
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
// Source code storage
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
@@ -154,7 +155,7 @@ class GoTraversalHelpers {
|
|
|
154
155
|
// ---------------------------------------------------------------------------
|
|
155
156
|
class GoAnalysis extends GoTraversalHelpers {
|
|
156
157
|
matchesPattern(node, pattern) {
|
|
157
|
-
const syntaxNode = node
|
|
158
|
+
const syntaxNode = getRawNode(node);
|
|
158
159
|
if (pattern.type !== undefined) {
|
|
159
160
|
const types = Array.isArray(pattern.type) ? pattern.type : [pattern.type];
|
|
160
161
|
if (!types.includes(syntaxNode.type))
|
|
@@ -412,11 +413,6 @@ class GoParserCore extends GoAnalysis {
|
|
|
412
413
|
getChildren(node) {
|
|
413
414
|
return node.children ?? [];
|
|
414
415
|
}
|
|
415
|
-
getSiblings(node) {
|
|
416
|
-
if (!node.parent?.children)
|
|
417
|
-
return [];
|
|
418
|
-
return node.parent.children.filter((c) => c !== node);
|
|
419
|
-
}
|
|
420
416
|
// -- Node Information -----------------------------------------------------
|
|
421
417
|
getNodeType(node) {
|
|
422
418
|
return node.type;
|
|
@@ -425,10 +421,7 @@ class GoParserCore extends GoAnalysis {
|
|
|
425
421
|
return sourceCode.slice(node.range[0], node.range[1]);
|
|
426
422
|
}
|
|
427
423
|
getNodeName(node) {
|
|
428
|
-
return this.extractName(node
|
|
429
|
-
}
|
|
430
|
-
getNodeLocation(node) {
|
|
431
|
-
return node.location;
|
|
424
|
+
return this.extractName(getRawNode(node));
|
|
432
425
|
}
|
|
433
426
|
}
|
|
434
427
|
// ---------------------------------------------------------------------------
|
|
@@ -439,7 +432,7 @@ class GoExtraction extends GoParserCore {
|
|
|
439
432
|
const sourceCode = sourceCodeMap.get(ast) ?? '';
|
|
440
433
|
const functions = [];
|
|
441
434
|
this.walk(ast.root, (astNode) => {
|
|
442
|
-
const node = astNode
|
|
435
|
+
const node = getRawNode(astNode);
|
|
443
436
|
if (node.type === 'function_declaration') {
|
|
444
437
|
const fn = this.buildFunctionInfo(node, sourceCode);
|
|
445
438
|
if (fn)
|
|
@@ -453,7 +446,7 @@ class GoExtraction extends GoParserCore {
|
|
|
453
446
|
// Collect all function_declarations so we can match methods to structs
|
|
454
447
|
const allFunctions = this.extractFunctions(ast);
|
|
455
448
|
this.walk(ast.root, (astNode) => {
|
|
456
|
-
const node = astNode
|
|
449
|
+
const node = getRawNode(astNode);
|
|
457
450
|
if (node.type === 'type_declaration') {
|
|
458
451
|
const specs = this.findNamedChildren(node, 'type_spec');
|
|
459
452
|
for (const spec of specs) {
|
|
@@ -474,7 +467,7 @@ class GoExtraction extends GoParserCore {
|
|
|
474
467
|
extractImports(ast) {
|
|
475
468
|
const imports = [];
|
|
476
469
|
this.walk(ast.root, (astNode) => {
|
|
477
|
-
const node = astNode
|
|
470
|
+
const node = getRawNode(astNode);
|
|
478
471
|
if (node.type === 'import_declaration') {
|
|
479
472
|
for (const spec of node.namedChildren) {
|
|
480
473
|
if (spec.type === 'import_spec') {
|
|
@@ -490,7 +483,7 @@ class GoExtraction extends GoParserCore {
|
|
|
490
483
|
extractExports(ast) {
|
|
491
484
|
const exports = [];
|
|
492
485
|
this.walk(ast.root, (astNode) => {
|
|
493
|
-
const node = astNode
|
|
486
|
+
const node = getRawNode(astNode);
|
|
494
487
|
if (node.type === 'function_declaration') {
|
|
495
488
|
const name = this.extractName(node);
|
|
496
489
|
if (name && this.isExportedGo(name)) {
|
|
@@ -527,7 +520,7 @@ class GoExtraction extends GoParserCore {
|
|
|
527
520
|
// ---------------------------------------------------------------------------
|
|
528
521
|
class GoPredicates extends GoExtraction {
|
|
529
522
|
isClass(node) {
|
|
530
|
-
const n = node
|
|
523
|
+
const n = getRawNode(node);
|
|
531
524
|
if (n.type === 'type_spec') {
|
|
532
525
|
const typeNode = n.childForFieldName?.('type');
|
|
533
526
|
return typeNode?.type === 'struct_type';
|
|
@@ -535,70 +528,30 @@ class GoPredicates extends GoExtraction {
|
|
|
535
528
|
return n.type === 'struct_type';
|
|
536
529
|
}
|
|
537
530
|
isFunction(node) {
|
|
538
|
-
return node.
|
|
531
|
+
return (getRawNode(node)).type === 'function_declaration';
|
|
539
532
|
}
|
|
540
533
|
isMethod(node) {
|
|
541
|
-
const n = node
|
|
534
|
+
const n = getRawNode(node);
|
|
542
535
|
if (n.type !== 'function_declaration')
|
|
543
536
|
return false;
|
|
544
537
|
return n.childForFieldName?.('receiver') != null;
|
|
545
538
|
}
|
|
546
|
-
isInterface(node) {
|
|
547
|
-
const n = node.raw;
|
|
548
|
-
if (n.type === 'type_spec') {
|
|
549
|
-
const typeNode = n.childForFieldName?.('type');
|
|
550
|
-
return typeNode?.type === 'interface_type';
|
|
551
|
-
}
|
|
552
|
-
return n.type === 'interface_type';
|
|
553
|
-
}
|
|
554
|
-
isImport(node) {
|
|
555
|
-
return node.raw.type === 'import_declaration';
|
|
556
|
-
}
|
|
557
|
-
isExport(node) {
|
|
558
|
-
return false; // Go has no export keyword
|
|
559
|
-
}
|
|
560
539
|
isLoop(node) {
|
|
561
|
-
return node.
|
|
562
|
-
}
|
|
563
|
-
isConditional(node) {
|
|
564
|
-
const t = node.raw.type;
|
|
565
|
-
return (t === 'if_statement' ||
|
|
566
|
-
t === 'switch_statement' ||
|
|
567
|
-
t === 'expression_switch_statement' ||
|
|
568
|
-
t === 'type_switch_statement');
|
|
540
|
+
return (getRawNode(node)).type === 'for_statement';
|
|
569
541
|
}
|
|
570
542
|
isVariableDeclaration(node) {
|
|
571
|
-
const t = node.
|
|
543
|
+
const t = (getRawNode(node)).type;
|
|
572
544
|
return (t === 'var_declaration' ||
|
|
573
545
|
t === 'short_var_declaration' ||
|
|
574
546
|
t === 'var_spec' ||
|
|
575
547
|
t === 'const_declaration');
|
|
576
548
|
}
|
|
577
549
|
// -- Advanced Features ----------------------------------------------------
|
|
578
|
-
getTypeInfo(node) {
|
|
579
|
-
const n = node.raw;
|
|
580
|
-
if (n.type === 'function_declaration') {
|
|
581
|
-
const result = n.childForFieldName?.('result');
|
|
582
|
-
if (result)
|
|
583
|
-
return result.text.trim();
|
|
584
|
-
}
|
|
585
|
-
if (n.type === 'var_spec' || n.type === 'const_spec') {
|
|
586
|
-
const typeNode = n.childForFieldName?.('type');
|
|
587
|
-
if (typeNode)
|
|
588
|
-
return typeNode.text.trim();
|
|
589
|
-
}
|
|
590
|
-
if (n.type === 'field_declaration') {
|
|
591
|
-
const typeNode = n.childForFieldName?.('type');
|
|
592
|
-
if (typeNode)
|
|
593
|
-
return typeNode.text.trim();
|
|
594
|
-
}
|
|
595
|
-
return null;
|
|
596
|
-
}
|
|
597
550
|
getDocumentation(node) {
|
|
598
|
-
return this.extractDocumentation(node
|
|
551
|
+
return this.extractDocumentation(getRawNode(node));
|
|
599
552
|
}
|
|
600
553
|
getComplexity(node) {
|
|
601
|
-
return this.calculateComplexity(node
|
|
554
|
+
return this.calculateComplexity(getRawNode(node));
|
|
602
555
|
}
|
|
603
556
|
}
|
|
604
557
|
// ---------------------------------------------------------------------------
|
|
@@ -608,7 +561,7 @@ class GoOptionalCapabilities extends GoPredicates {
|
|
|
608
561
|
extractInterfaces(ast) {
|
|
609
562
|
const interfaces = [];
|
|
610
563
|
this.walk(ast.root, (astNode) => {
|
|
611
|
-
const node = astNode
|
|
564
|
+
const node = getRawNode(astNode);
|
|
612
565
|
if (node.type === 'type_declaration') {
|
|
613
566
|
const specs = this.findNamedChildren(node, 'type_spec');
|
|
614
567
|
for (const spec of specs) {
|
|
@@ -624,42 +577,6 @@ class GoOptionalCapabilities extends GoPredicates {
|
|
|
624
577
|
});
|
|
625
578
|
return interfaces;
|
|
626
579
|
}
|
|
627
|
-
// -- Optional: Raw imports ------------------------------------------------
|
|
628
|
-
extractRawImports(_filePath, content) {
|
|
629
|
-
const results = [];
|
|
630
|
-
const parser = getParser('go');
|
|
631
|
-
const tree = parser.parse(content);
|
|
632
|
-
if (!tree)
|
|
633
|
-
return results;
|
|
634
|
-
this.walkRaw(tree.rootNode, (node) => {
|
|
635
|
-
if (node.type === 'import_declaration') {
|
|
636
|
-
for (const spec of node.namedChildren) {
|
|
637
|
-
if (spec.type === 'import_spec') {
|
|
638
|
-
for (const child of spec.namedChildren) {
|
|
639
|
-
if (child.type === 'interpreted_string_literal' ||
|
|
640
|
-
child.type === 'raw_string_literal') {
|
|
641
|
-
results.push({
|
|
642
|
-
moduleSpecifier: child.text.slice(1, -1),
|
|
643
|
-
isStatic: true,
|
|
644
|
-
isDynamic: false,
|
|
645
|
-
isRequire: false,
|
|
646
|
-
line: child.startPosition.row,
|
|
647
|
-
});
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
});
|
|
654
|
-
return results;
|
|
655
|
-
}
|
|
656
|
-
// -- Optional: Exported symbols -------------------------------------------
|
|
657
|
-
extractExportedSymbols(ast) {
|
|
658
|
-
return this.extractExports(ast).map((e) => ({
|
|
659
|
-
name: e.name,
|
|
660
|
-
line: e.location.start.line,
|
|
661
|
-
}));
|
|
662
|
-
}
|
|
663
580
|
}
|
|
664
581
|
// ---------------------------------------------------------------------------
|
|
665
582
|
// Adapter (composes the slices above)
|
|
@@ -679,7 +596,7 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
679
596
|
* @returns
|
|
680
597
|
*/
|
|
681
598
|
isDynamicStringConstruction(node) {
|
|
682
|
-
const raw = node
|
|
599
|
+
const raw = getRawNode(node);
|
|
683
600
|
const type = raw.type;
|
|
684
601
|
if (type === 'call_expression') {
|
|
685
602
|
const func = raw.childForFieldName?.('function');
|
|
@@ -694,9 +611,9 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
694
611
|
// Recurse into arguments: query(fmt.Sprintf(...)) where the outer
|
|
695
612
|
// call isn't itself a format function but passes a dynamic argument.
|
|
696
613
|
for (const child of node.children ?? []) {
|
|
697
|
-
if (child.
|
|
614
|
+
if ((getRawNode(child)).type === 'argument_list') {
|
|
698
615
|
for (const arg of child.children ?? []) {
|
|
699
|
-
const argType = arg.
|
|
616
|
+
const argType = (getRawNode(arg)).type;
|
|
700
617
|
if (argType === '(' || argType === ')' || argType === ',')
|
|
701
618
|
continue;
|
|
702
619
|
if (this.isDynamicStringConstruction(arg))
|
|
@@ -709,9 +626,9 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
709
626
|
if (type === 'binary_expression') {
|
|
710
627
|
// String concatenation: has + operator with a string literal operand
|
|
711
628
|
const children = node.children ?? [];
|
|
712
|
-
const hasStringLiteral = children.some(c => c.
|
|
713
|
-
c.
|
|
714
|
-
const hasOperator = children.some(c => c.
|
|
629
|
+
const hasStringLiteral = children.some(c => (getRawNode(c)).type === 'interpreted_string_literal' ||
|
|
630
|
+
(getRawNode(c)).type === 'raw_string_literal');
|
|
631
|
+
const hasOperator = children.some(c => (getRawNode(c)).type === '+');
|
|
715
632
|
return hasStringLiteral && hasOperator;
|
|
716
633
|
}
|
|
717
634
|
return false;
|
|
@@ -726,7 +643,7 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
726
643
|
* @returns
|
|
727
644
|
*/
|
|
728
645
|
getDynamicParts(node, sourceCode) {
|
|
729
|
-
const raw = node
|
|
646
|
+
const raw = getRawNode(node);
|
|
730
647
|
const type = raw.type;
|
|
731
648
|
// For call_expressions that aren't known fmt/strings functions,
|
|
732
649
|
// walk into the first argument that is itself a dynamic string construction.
|
|
@@ -751,10 +668,10 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
751
668
|
*/
|
|
752
669
|
findFirstDynamicArgument(node) {
|
|
753
670
|
for (const child of node.children ?? []) {
|
|
754
|
-
if (child.
|
|
671
|
+
if ((getRawNode(child)).type !== 'argument_list')
|
|
755
672
|
continue;
|
|
756
673
|
for (const arg of child.children ?? []) {
|
|
757
|
-
const argType = arg.
|
|
674
|
+
const argType = (getRawNode(arg)).type;
|
|
758
675
|
if (argType === '(' || argType === ')' || argType === ',')
|
|
759
676
|
continue;
|
|
760
677
|
if (this.isDynamicStringConstruction(arg))
|
|
@@ -823,7 +740,7 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
823
740
|
// For short_var_declaration: the whole "name := value" is one node
|
|
824
741
|
// For var_spec/const_spec: "name = value" or "name type = value"
|
|
825
742
|
let initText = '';
|
|
826
|
-
const rawDecl = declNode
|
|
743
|
+
const rawDecl = getRawNode(declNode);
|
|
827
744
|
if (rawDecl.type === 'short_var_declaration') {
|
|
828
745
|
// "name := value" — extract right side
|
|
829
746
|
const match = declText.match(/:=s*(.+?)$/);
|
|
@@ -858,7 +775,7 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
858
775
|
findEnclosingScopeGo(node) {
|
|
859
776
|
let current = node;
|
|
860
777
|
while (current) {
|
|
861
|
-
const t = current.
|
|
778
|
+
const t = (getRawNode(current)).type;
|
|
862
779
|
if (t === 'function_declaration' || t === 'method_declaration' ||
|
|
863
780
|
t === 'source_file') {
|
|
864
781
|
return current;
|
|
@@ -873,17 +790,17 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
873
790
|
this.walk(scopeRoot, (astNode) => {
|
|
874
791
|
if (result)
|
|
875
792
|
return;
|
|
876
|
-
const t = astNode.
|
|
793
|
+
const t = (getRawNode(astNode)).type;
|
|
877
794
|
if (t === 'short_var_declaration') {
|
|
878
795
|
// Check left side for identifier match
|
|
879
|
-
const raw = astNode
|
|
796
|
+
const raw = getRawNode(astNode);
|
|
880
797
|
const left = raw.childForFieldName?.('left');
|
|
881
798
|
if (left && left.text === targetName) {
|
|
882
799
|
result = astNode;
|
|
883
800
|
}
|
|
884
801
|
}
|
|
885
802
|
else if (t === 'var_spec' || t === 'const_spec') {
|
|
886
|
-
const raw = astNode
|
|
803
|
+
const raw = getRawNode(astNode);
|
|
887
804
|
const name = raw.childForFieldName?.('name');
|
|
888
805
|
if (name && name.text === targetName) {
|
|
889
806
|
result = astNode;
|
|
@@ -898,11 +815,11 @@ export class TreeSitterGoAdapter extends GoOptionalCapabilities {
|
|
|
898
815
|
this.walk(scopeRoot, (astNode) => {
|
|
899
816
|
if (found)
|
|
900
817
|
return;
|
|
901
|
-
const t = astNode.
|
|
818
|
+
const t = (getRawNode(astNode)).type;
|
|
902
819
|
if (t === 'assignment_statement') {
|
|
903
820
|
if (astNode.location.start.line < declLine)
|
|
904
821
|
return;
|
|
905
|
-
const raw = astNode
|
|
822
|
+
const raw = getRawNode(astNode);
|
|
906
823
|
const left = raw.childForFieldName?.('left');
|
|
907
824
|
if (left && left.text === targetName) {
|
|
908
825
|
found = true;
|
|
@@ -941,7 +858,7 @@ function isDynamicFormatFunction(funcText) {
|
|
|
941
858
|
function extractBinaryDynamicParts(node, sourceCode) {
|
|
942
859
|
const parts = [];
|
|
943
860
|
for (const child of node.children ?? []) {
|
|
944
|
-
const childType = child.
|
|
861
|
+
const childType = (getRawNode(child)).type;
|
|
945
862
|
if (childType === 'interpreted_string_literal' ||
|
|
946
863
|
childType === 'raw_string_literal' ||
|
|
947
864
|
childType === '+')
|