@wrtnlabs/evidence 0.0.0 → 0.1.0
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/LICENSE +1 -1
- package/README.md +382 -404
- package/lib/EvidenceChecker.d.ts +21 -15
- package/lib/EvidenceChecker.js +21 -15
- package/lib/adapters/bigquery/EvidenceBigQueryAdapter.d.ts +28 -10
- package/lib/adapters/bigquery/EvidenceBigQueryAdapter.js +34 -15
- package/lib/adapters/bigquery/EvidenceBigQueryColumnType.d.ts +17 -0
- package/lib/adapters/bigquery/EvidenceBigQueryColumnType.js +37 -0
- package/lib/adapters/bigquery/EvidenceBigQueryFileScanner.d.ts +112 -0
- package/lib/adapters/bigquery/EvidenceBigQueryFileScanner.js +392 -0
- package/lib/adapters/bigquery/EvidenceBigQueryIdentifier.d.ts +46 -0
- package/lib/adapters/bigquery/EvidenceBigQueryIdentifier.js +97 -0
- package/lib/adapters/bigquery/EvidenceBigQueryString.d.ts +18 -0
- package/lib/adapters/bigquery/EvidenceBigQueryString.js +86 -0
- package/lib/adapters/bigquery/EvidenceBigQueryWithdrawals.d.ts +17 -0
- package/lib/adapters/bigquery/EvidenceBigQueryWithdrawals.js +73 -0
- package/lib/adapters/c/EvidenceCAdapter.d.ts +44 -10
- package/lib/adapters/c/EvidenceCAdapter.js +690 -10
- package/lib/adapters/c/EvidenceCDeclarationForm.d.ts +8 -0
- package/lib/adapters/c/EvidenceCDeclaratorKind.d.ts +8 -0
- package/lib/adapters/c/EvidenceCDocumentation.d.ts +18 -0
- package/lib/adapters/c/EvidenceCDocumentation.js +66 -0
- package/lib/adapters/c/EvidenceCFileScanner.d.ts +64 -0
- package/lib/adapters/c/EvidenceCFileScanner.js +506 -0
- package/lib/adapters/c/EvidenceCSyntax.d.ts +25 -0
- package/lib/adapters/c/EvidenceCSyntax.js +165 -0
- package/lib/adapters/c/IEvidenceCDeclaration.d.ts +80 -0
- package/lib/adapters/c/IEvidenceCDeclarationAddress.d.ts +29 -0
- package/lib/adapters/c/IEvidenceCDeclarationGroup.d.ts +25 -0
- package/lib/adapters/c/IEvidenceCDeclaratorShape.d.ts +34 -0
- package/lib/adapters/c/IEvidenceCDocumentation.d.ts +41 -0
- package/lib/adapters/c/IEvidenceCDocumentationAttachment.d.ts +22 -0
- package/lib/adapters/c/IEvidenceCFileAnalysis.d.ts +51 -0
- package/lib/adapters/c/IEvidenceCTypeContext.d.ts +23 -0
- package/lib/adapters/cpp/EvidenceCppAccess.d.ts +8 -0
- package/lib/adapters/cpp/EvidenceCppAdapter.d.ts +49 -11
- package/lib/adapters/cpp/EvidenceCppAdapter.js +723 -11
- package/lib/adapters/cpp/EvidenceCppAliasKind.d.ts +8 -0
- package/lib/adapters/cpp/EvidenceCppDeclarationForm.d.ts +8 -0
- package/lib/adapters/cpp/EvidenceCppDeclaratorKind.d.ts +7 -0
- package/lib/adapters/cpp/EvidenceCppDocumentation.d.ts +20 -0
- package/lib/adapters/cpp/EvidenceCppDocumentation.js +68 -0
- package/lib/adapters/cpp/EvidenceCppFileScanner.d.ts +81 -0
- package/lib/adapters/cpp/EvidenceCppFileScanner.js +797 -0
- package/lib/adapters/cpp/EvidenceCppScopeKind.d.ts +7 -0
- package/lib/adapters/cpp/EvidenceCppSyntax.d.ts +32 -0
- package/lib/adapters/cpp/EvidenceCppSyntax.js +343 -0
- package/lib/adapters/cpp/EvidenceCppVisibility.d.ts +8 -0
- package/lib/adapters/cpp/IEvidenceCppAlias.d.ts +62 -0
- package/lib/adapters/cpp/IEvidenceCppDeclaration.d.ts +77 -0
- package/lib/adapters/cpp/IEvidenceCppDeclarationGroup.d.ts +27 -0
- package/lib/adapters/cpp/IEvidenceCppDeclaratorShape.d.ts +42 -0
- package/lib/adapters/cpp/IEvidenceCppDocumentation.d.ts +39 -0
- package/lib/adapters/cpp/IEvidenceCppDocumentationAttachment.d.ts +28 -0
- package/lib/adapters/cpp/IEvidenceCppFileAnalysis.d.ts +60 -0
- package/lib/adapters/cpp/IEvidenceCppQualifiedName.d.ts +28 -0
- package/lib/adapters/cpp/IEvidenceCppResolvedAlias.d.ts +36 -0
- package/lib/adapters/cpp/IEvidenceCppScopeContext.d.ts +55 -0
- package/lib/adapters/csharp/EvidenceCSharpAccessibility.d.ts +8 -0
- package/lib/adapters/csharp/EvidenceCSharpAdapter.d.ts +45 -10
- package/lib/adapters/csharp/EvidenceCSharpAdapter.js +702 -10
- package/lib/adapters/csharp/EvidenceCSharpDeclarationForm.d.ts +8 -0
- package/lib/adapters/csharp/EvidenceCSharpDocumentation.d.ts +19 -0
- package/lib/adapters/csharp/EvidenceCSharpDocumentation.js +43 -0
- package/lib/adapters/csharp/EvidenceCSharpFileScanner.d.ts +56 -0
- package/lib/adapters/csharp/EvidenceCSharpFileScanner.js +407 -0
- package/lib/adapters/csharp/EvidenceCSharpSyntax.d.ts +25 -0
- package/lib/adapters/csharp/EvidenceCSharpSyntax.js +176 -0
- package/lib/adapters/csharp/EvidenceCSharpTypeKind.d.ts +8 -0
- package/lib/adapters/csharp/IEvidenceCSharpDeclaration.d.ts +91 -0
- package/lib/adapters/csharp/IEvidenceCSharpDeclarationAddress.d.ts +29 -0
- package/lib/adapters/csharp/IEvidenceCSharpDeclarationGroup.d.ts +24 -0
- package/lib/adapters/csharp/IEvidenceCSharpDocumentation.d.ts +47 -0
- package/lib/adapters/csharp/IEvidenceCSharpDocumentationAttachment.d.ts +29 -0
- package/lib/adapters/csharp/IEvidenceCSharpFileAnalysis.d.ts +54 -0
- package/lib/adapters/csharp/IEvidenceCSharpTypeContext.d.ts +44 -0
- package/lib/adapters/dart/EvidenceDartAdapter.d.ts +100 -11
- package/lib/adapters/dart/EvidenceDartAdapter.js +638 -11
- package/lib/adapters/dart/EvidenceDartDocumentation.d.ts +18 -0
- package/lib/adapters/dart/EvidenceDartDocumentation.js +75 -0
- package/lib/adapters/dart/EvidenceDartFileScanner.d.ts +127 -0
- package/lib/adapters/dart/EvidenceDartFileScanner.js +430 -0
- package/lib/adapters/dart/EvidenceDartLibraries.d.ts +29 -0
- package/lib/adapters/dart/EvidenceDartLibraries.js +235 -0
- package/lib/adapters/dart/IEvidenceDartDeclaration.d.ts +86 -0
- package/lib/adapters/dart/IEvidenceDartDirective.d.ts +56 -0
- package/lib/adapters/dart/IEvidenceDartDocumentation.d.ts +41 -0
- package/lib/adapters/dart/IEvidenceDartDocumentationAttachment.d.ts +24 -0
- package/lib/adapters/dart/IEvidenceDartExportFilter.d.ts +23 -0
- package/lib/adapters/dart/IEvidenceDartFileAnalysis.d.ts +70 -0
- package/lib/adapters/dbml/EvidenceDbmlAdapter.d.ts +43 -25
- package/lib/adapters/dbml/EvidenceDbmlAdapter.js +93 -51
- package/lib/adapters/dbml/EvidenceDbmlDocumentation.d.ts +19 -0
- package/lib/adapters/dbml/EvidenceDbmlDocumentation.js +53 -0
- package/lib/adapters/dbml/EvidenceDbmlFileScanner.d.ts +131 -0
- package/lib/adapters/dbml/EvidenceDbmlFileScanner.js +381 -0
- package/lib/adapters/dbml/IEvidenceDbmlDeclaration.d.ts +43 -0
- package/lib/adapters/dbml/IEvidenceDbmlDocumentation.d.ts +34 -0
- package/lib/adapters/dbml/IEvidenceDbmlEndpoint.d.ts +22 -0
- package/lib/adapters/dbml/IEvidenceDbmlEnum.d.ts +28 -0
- package/lib/adapters/dbml/IEvidenceDbmlFileAnalysis.d.ts +61 -0
- package/lib/adapters/dbml/IEvidenceDbmlRelation.d.ts +60 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptAdapter.d.ts +80 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptAdapter.js +573 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptExportKind.d.ts +8 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptExportResolver.d.ts +183 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptExportResolver.js +518 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptFileScanner.d.ts +120 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptFileScanner.js +1047 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptModuleMode.d.ts +7 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptModuleResolver.d.ts +76 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptModuleResolver.js +218 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptSyntax.d.ts +25 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptSyntax.js +264 -0
- package/lib/adapters/ecmascript/EvidenceEcmaScriptType.d.ts +7 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptBinding.d.ts +30 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptComment.d.ts +42 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptCommentAttachment.d.ts +35 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptExport.d.ts +52 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptFileAnalysis.d.ts +77 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptHostPosition.d.ts +34 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptImport.d.ts +44 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptModule.d.ts +55 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptModuleResolution.d.ts +40 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptOwnedUnit.d.ts +45 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptResolution.d.ts +31 -0
- package/lib/adapters/ecmascript/IEvidenceEcmaScriptStatementContext.d.ts +59 -0
- package/lib/adapters/ecmascript/IEvidenceJavaScriptPackageJson.d.ts +18 -0
- package/lib/adapters/go/EvidenceGoAdapter.d.ts +41 -10
- package/lib/adapters/go/EvidenceGoAdapter.js +526 -10
- package/lib/adapters/go/EvidenceGoDeclarationForm.d.ts +8 -0
- package/lib/adapters/go/EvidenceGoFileScanner.d.ts +61 -0
- package/lib/adapters/go/EvidenceGoFileScanner.js +294 -0
- package/lib/adapters/go/EvidenceGoPackageResolver.d.ts +162 -0
- package/lib/adapters/go/EvidenceGoPackageResolver.js +318 -0
- package/lib/adapters/go/EvidenceGoSyntax.d.ts +18 -0
- package/lib/adapters/go/EvidenceGoSyntax.js +108 -0
- package/lib/adapters/go/IEvidenceGoDeclaration.d.ts +58 -0
- package/lib/adapters/go/IEvidenceGoDocumentation.d.ts +37 -0
- package/lib/adapters/go/IEvidenceGoDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/go/IEvidenceGoFileAnalysis.d.ts +61 -0
- package/lib/adapters/go/IEvidenceGoMaterializedDeclaration.d.ts +28 -0
- package/lib/adapters/index.d.ts +35 -0
- package/lib/adapters/index.js +51 -0
- package/lib/adapters/java/EvidenceJavaAdapter.d.ts +42 -10
- package/lib/adapters/java/EvidenceJavaAdapter.js +586 -10
- package/lib/adapters/java/EvidenceJavaDeclarationForm.d.ts +7 -0
- package/lib/adapters/java/EvidenceJavaDocumentation.d.ts +20 -0
- package/lib/adapters/java/EvidenceJavaDocumentation.js +83 -0
- package/lib/adapters/java/EvidenceJavaFileScanner.d.ts +53 -0
- package/lib/adapters/java/EvidenceJavaFileScanner.js +319 -0
- package/lib/adapters/java/EvidenceJavaSyntax.d.ts +19 -0
- package/lib/adapters/java/EvidenceJavaSyntax.js +101 -0
- package/lib/adapters/java/EvidenceJavaTypeKind.d.ts +7 -0
- package/lib/adapters/java/IEvidenceJavaDeclaration.d.ts +67 -0
- package/lib/adapters/java/IEvidenceJavaDocumentation.d.ts +37 -0
- package/lib/adapters/java/IEvidenceJavaDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/java/IEvidenceJavaFileAnalysis.d.ts +43 -0
- package/lib/adapters/java/IEvidenceJavaTypeContext.d.ts +41 -0
- package/lib/adapters/javascript/EvidenceJavaScriptAdapter.d.ts +15 -7
- package/lib/adapters/javascript/EvidenceJavaScriptAdapter.js +18 -8
- package/lib/adapters/kotlin/EvidenceKotlinAdapter.d.ts +115 -11
- package/lib/adapters/kotlin/EvidenceKotlinAdapter.js +667 -11
- package/lib/adapters/kotlin/EvidenceKotlinDocumentation.d.ts +19 -0
- package/lib/adapters/kotlin/EvidenceKotlinDocumentation.js +80 -0
- package/lib/adapters/kotlin/EvidenceKotlinFileScanner.d.ts +170 -0
- package/lib/adapters/kotlin/EvidenceKotlinFileScanner.js +525 -0
- package/lib/adapters/kotlin/EvidenceKotlinReceivers.d.ts +19 -0
- package/lib/adapters/kotlin/EvidenceKotlinReceivers.js +110 -0
- package/lib/adapters/kotlin/IEvidenceKotlinDeclaration.d.ts +99 -0
- package/lib/adapters/kotlin/IEvidenceKotlinDocumentation.d.ts +39 -0
- package/lib/adapters/kotlin/IEvidenceKotlinDocumentationAttachment.d.ts +23 -0
- package/lib/adapters/kotlin/IEvidenceKotlinFileAnalysis.d.ts +47 -0
- package/lib/adapters/kotlin/IEvidenceKotlinResolvedType.d.ts +24 -0
- package/lib/adapters/kotlin/IEvidenceKotlinTypeReference.d.ts +48 -0
- package/lib/adapters/lua/EvidenceLuaAdapter.d.ts +120 -12
- package/lib/adapters/lua/EvidenceLuaAdapter.js +671 -12
- package/lib/adapters/lua/EvidenceLuaDocumentation.d.ts +20 -0
- package/lib/adapters/lua/EvidenceLuaDocumentation.js +83 -0
- package/lib/adapters/lua/EvidenceLuaFileScanner.d.ts +183 -0
- package/lib/adapters/lua/EvidenceLuaFileScanner.js +605 -0
- package/lib/adapters/lua/IEvidenceLuaDeclaration.d.ts +72 -0
- package/lib/adapters/lua/IEvidenceLuaDocumentation.d.ts +40 -0
- package/lib/adapters/lua/IEvidenceLuaDocumentationAttachment.d.ts +23 -0
- package/lib/adapters/lua/IEvidenceLuaFileAnalysis.d.ts +48 -0
- package/lib/adapters/lua/IEvidenceLuaValue.d.ts +41 -0
- package/lib/adapters/markdown/EvidenceMarkdownAdapter.d.ts +9 -9
- package/lib/adapters/markdown/EvidenceMarkdownAdapter.js +51 -27
- package/lib/adapters/markdown/EvidenceMarkdownScanner.d.ts +224 -0
- package/lib/adapters/markdown/EvidenceMarkdownScanner.js +718 -0
- package/lib/adapters/markdown/EvidenceMarkdownSyntax.d.ts +86 -0
- package/lib/adapters/markdown/EvidenceMarkdownSyntax.js +287 -0
- package/lib/adapters/markdown/EvidenceMarkdownTarget.d.ts +18 -0
- package/lib/adapters/markdown/EvidenceMarkdownTarget.js +39 -0
- package/lib/adapters/markdown/IEvidenceMarkdownComment.d.ts +33 -0
- package/lib/adapters/markdown/IEvidenceMarkdownFence.d.ts +26 -0
- package/lib/adapters/markdown/IEvidenceMarkdownHeading.d.ts +26 -0
- package/lib/adapters/matlab/EvidenceMatlabAdapter.d.ts +111 -11
- package/lib/adapters/matlab/EvidenceMatlabAdapter.js +650 -11
- package/lib/adapters/matlab/EvidenceMatlabDocumentation.d.ts +19 -0
- package/lib/adapters/matlab/EvidenceMatlabDocumentation.js +79 -0
- package/lib/adapters/matlab/EvidenceMatlabFileScanner.d.ts +131 -0
- package/lib/adapters/matlab/EvidenceMatlabFileScanner.js +467 -0
- package/lib/adapters/matlab/EvidenceMatlabOwnership.d.ts +19 -0
- package/lib/adapters/matlab/EvidenceMatlabOwnership.js +142 -0
- package/lib/adapters/matlab/IEvidenceMatlabDeclaration.d.ts +115 -0
- package/lib/adapters/matlab/IEvidenceMatlabDocumentation.d.ts +40 -0
- package/lib/adapters/matlab/IEvidenceMatlabDocumentationAttachment.d.ts +23 -0
- package/lib/adapters/matlab/IEvidenceMatlabFileAnalysis.d.ts +47 -0
- package/lib/adapters/mysql/EvidenceMysqlAdapter.d.ts +28 -9
- package/lib/adapters/mysql/EvidenceMysqlAdapter.js +34 -11
- package/lib/adapters/mysql/EvidenceMysqlDocumentation.d.ts +19 -0
- package/lib/adapters/mysql/EvidenceMysqlDocumentation.js +44 -0
- package/lib/adapters/mysql/EvidenceMysqlFileScanner.d.ts +18 -0
- package/lib/adapters/mysql/EvidenceMysqlFileScanner.js +82 -0
- package/lib/adapters/mysql/EvidenceMysqlIdentifier.d.ts +16 -0
- package/lib/adapters/mysql/EvidenceMysqlIdentifier.js +33 -0
- package/lib/adapters/mysql/EvidenceMysqlPolicy.d.ts +48 -0
- package/lib/adapters/mysql/EvidenceMysqlPolicy.js +188 -0
- package/lib/adapters/objc/EvidenceObjcAdapter.d.ts +106 -11
- package/lib/adapters/objc/EvidenceObjcAdapter.js +670 -11
- package/lib/adapters/objc/EvidenceObjcDeclarationForm.d.ts +8 -0
- package/lib/adapters/objc/EvidenceObjcDocumentation.d.ts +8 -0
- package/lib/adapters/objc/EvidenceObjcDocumentation.js +11 -0
- package/lib/adapters/objc/EvidenceObjcFileScanner.d.ts +143 -0
- package/lib/adapters/objc/EvidenceObjcFileScanner.js +483 -0
- package/lib/adapters/objc/IEvidenceObjcDeclaration.d.ts +83 -0
- package/lib/adapters/objc/IEvidenceObjcDocumentation.d.ts +37 -0
- package/lib/adapters/objc/IEvidenceObjcDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/objc/IEvidenceObjcFileAnalysis.d.ts +45 -0
- package/lib/adapters/php/EvidencePhpAdapter.d.ts +122 -11
- package/lib/adapters/php/EvidencePhpAdapter.js +702 -11
- package/lib/adapters/php/EvidencePhpDocumentation.d.ts +20 -0
- package/lib/adapters/php/EvidencePhpDocumentation.js +82 -0
- package/lib/adapters/php/EvidencePhpFileScanner.d.ts +92 -0
- package/lib/adapters/php/EvidencePhpFileScanner.js +361 -0
- package/lib/adapters/php/IEvidencePhpDeclaration.d.ts +74 -0
- package/lib/adapters/php/IEvidencePhpDocumentation.d.ts +39 -0
- package/lib/adapters/php/IEvidencePhpDocumentationAttachment.d.ts +22 -0
- package/lib/adapters/php/IEvidencePhpFileAnalysis.d.ts +50 -0
- package/lib/adapters/postgresql/EvidencePostgresqlAdapter.d.ts +20 -11
- package/lib/adapters/postgresql/EvidencePostgresqlAdapter.js +31 -21
- package/lib/adapters/postgresql/EvidencePostgresqlFileScanner.d.ts +124 -0
- package/lib/adapters/postgresql/EvidencePostgresqlFileScanner.js +460 -0
- package/lib/adapters/postgresql/EvidencePostgresqlFingerprint.d.ts +16 -0
- package/lib/adapters/postgresql/EvidencePostgresqlFingerprint.js +31 -0
- package/lib/adapters/postgresql/EvidencePostgresqlIdentity.d.ts +23 -0
- package/lib/adapters/postgresql/EvidencePostgresqlIdentity.js +44 -0
- package/lib/adapters/postgresql/EvidencePostgresqlOwnership.d.ts +16 -0
- package/lib/adapters/postgresql/EvidencePostgresqlOwnership.js +691 -0
- package/lib/adapters/postgresql/IEvidencePostgresqlFileAnalysis.d.ts +19 -0
- package/lib/adapters/postgresql/IEvidencePostgresqlReference.d.ts +27 -0
- package/lib/adapters/prisma/EvidencePrismaAdapter.d.ts +17 -14
- package/lib/adapters/prisma/EvidencePrismaAdapter.js +68 -42
- package/lib/adapters/prisma/EvidencePrismaCommentForm.d.ts +7 -0
- package/lib/adapters/prisma/EvidencePrismaFileScanner.d.ts +82 -0
- package/lib/adapters/prisma/EvidencePrismaFileScanner.js +379 -0
- package/lib/adapters/prisma/EvidencePrismaModelLoader.d.ts +13 -0
- package/lib/adapters/prisma/EvidencePrismaModelLoader.js +269 -0
- package/lib/adapters/prisma/EvidencePrismaSyntax.d.ts +9 -0
- package/lib/adapters/prisma/EvidencePrismaSyntax.js +27 -0
- package/lib/adapters/prisma/EvidencePrismaTarget.d.ts +11 -0
- package/lib/adapters/prisma/EvidencePrismaTarget.js +24 -0
- package/lib/adapters/prisma/IEvidencePrismaBlockHead.d.ts +22 -0
- package/lib/adapters/prisma/IEvidencePrismaCacheEntry.d.ts +25 -0
- package/lib/adapters/prisma/IEvidencePrismaCommentRun.d.ts +60 -0
- package/lib/adapters/prisma/IEvidencePrismaDatamodel.d.ts +17 -0
- package/lib/adapters/prisma/IEvidencePrismaDatamodelField.d.ts +29 -0
- package/lib/adapters/prisma/IEvidencePrismaDatamodelModel.d.ts +31 -0
- package/lib/adapters/prisma/IEvidencePrismaField.d.ts +40 -0
- package/lib/adapters/prisma/IEvidencePrismaFileAnalysis.d.ts +33 -0
- package/lib/adapters/prisma/IEvidencePrismaLineParts.d.ts +30 -0
- package/lib/adapters/prisma/IEvidencePrismaLoadResult.d.ts +24 -0
- package/lib/adapters/prisma/IEvidencePrismaLocatedDeclaration.d.ts +23 -0
- package/lib/adapters/prisma/IEvidencePrismaLocation.d.ts +23 -0
- package/lib/adapters/prisma/IEvidencePrismaModel.d.ts +38 -0
- package/lib/adapters/prisma/IEvidencePrismaOwnedUnit.d.ts +39 -0
- package/lib/adapters/prisma/IEvidencePrismaParser.d.ts +31 -0
- package/lib/adapters/prisma/IEvidencePrismaPendingComment.d.ts +61 -0
- package/lib/adapters/prisma/IEvidencePrismaSchemaFile.d.ts +24 -0
- package/lib/adapters/prisma/IEvidenceTrimmedMapping.d.ts +27 -0
- package/lib/adapters/python/EvidencePythonAdapter.d.ts +55 -11
- package/lib/adapters/python/EvidencePythonAdapter.js +550 -11
- package/lib/adapters/python/EvidencePythonAllState.d.ts +9 -0
- package/lib/adapters/python/EvidencePythonBindingKind.d.ts +8 -0
- package/lib/adapters/python/EvidencePythonExportResolver.d.ts +147 -0
- package/lib/adapters/python/EvidencePythonExportResolver.js +409 -0
- package/lib/adapters/python/EvidencePythonFileScanner.d.ts +443 -0
- package/lib/adapters/python/EvidencePythonFileScanner.js +1195 -0
- package/lib/adapters/python/EvidencePythonResolutionMode.d.ts +7 -0
- package/lib/adapters/python/EvidencePythonSyntax.d.ts +119 -0
- package/lib/adapters/python/EvidencePythonSyntax.js +304 -0
- package/lib/adapters/python/IEvidencePythonAll.d.ts +24 -0
- package/lib/adapters/python/IEvidencePythonBinding.d.ts +53 -0
- package/lib/adapters/python/IEvidencePythonClassContext.d.ts +36 -0
- package/lib/adapters/python/IEvidencePythonDocumentation.d.ts +47 -0
- package/lib/adapters/python/IEvidencePythonDocumentationAttachment.d.ts +31 -0
- package/lib/adapters/python/IEvidencePythonFileAnalysis.d.ts +68 -0
- package/lib/adapters/python/IEvidencePythonHostPosition.d.ts +35 -0
- package/lib/adapters/python/IEvidencePythonModule.d.ts +47 -0
- package/lib/adapters/python/IEvidencePythonOwnedUnit.d.ts +30 -0
- package/lib/adapters/python/IEvidencePythonResolution.d.ts +24 -0
- package/lib/adapters/python/IEvidencePythonResolvedBinding.d.ts +23 -0
- package/lib/adapters/ruby/EvidenceRubyAdapter.d.ts +50 -11
- package/lib/adapters/ruby/EvidenceRubyAdapter.js +744 -11
- package/lib/adapters/ruby/EvidenceRubyAttributeMode.d.ts +9 -0
- package/lib/adapters/ruby/EvidenceRubyContainerKind.d.ts +8 -0
- package/lib/adapters/ruby/EvidenceRubyDeclarationForm.d.ts +8 -0
- package/lib/adapters/ruby/EvidenceRubyFileScanner.d.ts +344 -0
- package/lib/adapters/ruby/EvidenceRubyFileScanner.js +1003 -0
- package/lib/adapters/ruby/EvidenceRubyMethodSide.d.ts +9 -0
- package/lib/adapters/ruby/EvidenceRubyScopeKind.d.ts +8 -0
- package/lib/adapters/ruby/EvidenceRubySyntax.d.ts +92 -0
- package/lib/adapters/ruby/EvidenceRubySyntax.js +213 -0
- package/lib/adapters/ruby/EvidenceRubyVisibility.d.ts +9 -0
- package/lib/adapters/ruby/IEvidenceRubyConstantPath.d.ts +21 -0
- package/lib/adapters/ruby/IEvidenceRubyDeclaration.d.ts +116 -0
- package/lib/adapters/ruby/IEvidenceRubyDocumentation.d.ts +46 -0
- package/lib/adapters/ruby/IEvidenceRubyDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/ruby/IEvidenceRubyFileAnalysis.d.ts +45 -0
- package/lib/adapters/ruby/IEvidenceRubyScopeContext.d.ts +53 -0
- package/lib/adapters/rust/EvidenceRustAdapter.d.ts +42 -11
- package/lib/adapters/rust/EvidenceRustAdapter.js +522 -11
- package/lib/adapters/rust/EvidenceRustDeclarationForm.d.ts +8 -0
- package/lib/adapters/rust/EvidenceRustFileScanner.d.ts +63 -0
- package/lib/adapters/rust/EvidenceRustFileScanner.js +554 -0
- package/lib/adapters/rust/EvidenceRustModuleResolver.d.ts +71 -0
- package/lib/adapters/rust/EvidenceRustModuleResolver.js +717 -0
- package/lib/adapters/rust/EvidenceRustSyntax.d.ts +102 -0
- package/lib/adapters/rust/EvidenceRustSyntax.js +253 -0
- package/lib/adapters/rust/EvidenceRustVisibility.d.ts +9 -0
- package/lib/adapters/rust/IEvidenceRustDeclaration.d.ts +79 -0
- package/lib/adapters/rust/IEvidenceRustDocumentation.d.ts +44 -0
- package/lib/adapters/rust/IEvidenceRustDocumentationAttachment.d.ts +22 -0
- package/lib/adapters/rust/IEvidenceRustExportRecord.d.ts +29 -0
- package/lib/adapters/rust/IEvidenceRustExternalModule.d.ts +34 -0
- package/lib/adapters/rust/IEvidenceRustFileAnalysis.d.ts +67 -0
- package/lib/adapters/rust/IEvidenceRustFilePlacement.d.ts +37 -0
- package/lib/adapters/rust/IEvidenceRustImplementation.d.ts +40 -0
- package/lib/adapters/rust/IEvidenceRustLocatedDeclaration.d.ts +35 -0
- package/lib/adapters/rust/IEvidenceRustModuleRecord.d.ts +62 -0
- package/lib/adapters/rust/IEvidenceRustPublicOccurrence.d.ts +37 -0
- package/lib/adapters/rust/IEvidenceRustResolvedMember.d.ts +36 -0
- package/lib/adapters/rust/IEvidenceRustUse.d.ts +35 -0
- package/lib/adapters/rust/IEvidenceRustUseBinding.d.ts +26 -0
- package/lib/adapters/scala/EvidenceScalaAdapter.d.ts +114 -11
- package/lib/adapters/scala/EvidenceScalaAdapter.js +671 -11
- package/lib/adapters/scala/EvidenceScalaDocumentation.d.ts +19 -0
- package/lib/adapters/scala/EvidenceScalaDocumentation.js +97 -0
- package/lib/adapters/scala/EvidenceScalaExports.d.ts +19 -0
- package/lib/adapters/scala/EvidenceScalaExports.js +142 -0
- package/lib/adapters/scala/EvidenceScalaFileScanner.d.ts +135 -0
- package/lib/adapters/scala/EvidenceScalaFileScanner.js +458 -0
- package/lib/adapters/scala/IEvidenceScalaDeclaration.d.ts +89 -0
- package/lib/adapters/scala/IEvidenceScalaDocumentation.d.ts +37 -0
- package/lib/adapters/scala/IEvidenceScalaDocumentationAttachment.d.ts +22 -0
- package/lib/adapters/scala/IEvidenceScalaExport.d.ts +29 -0
- package/lib/adapters/scala/IEvidenceScalaFileAnalysis.d.ts +56 -0
- package/lib/adapters/sql/EvidenceSqlAdapter.d.ts +25 -6
- package/lib/adapters/sql/EvidenceSqlAdapter.js +31 -10
- package/lib/adapters/sql/EvidenceSqlDocumentation.d.ts +19 -0
- package/lib/adapters/sql/EvidenceSqlDocumentation.js +95 -0
- package/lib/adapters/sql/EvidenceSqlFileScanner.d.ts +100 -0
- package/lib/adapters/sql/EvidenceSqlFileScanner.js +313 -0
- package/lib/adapters/sql/EvidenceSqlInventoryMaterializer.d.ts +129 -0
- package/lib/adapters/sql/EvidenceSqlInventoryMaterializer.js +683 -0
- package/lib/adapters/sql/EvidenceSqlPolicy.d.ts +25 -0
- package/lib/adapters/sql/EvidenceSqlPolicy.js +116 -0
- package/lib/adapters/sql/IEvidenceSqlAdapterOptions.d.ts +38 -0
- package/lib/adapters/sql/IEvidenceSqlDeclaration.d.ts +78 -0
- package/lib/adapters/sql/IEvidenceSqlDocumentation.d.ts +46 -0
- package/lib/adapters/sql/IEvidenceSqlDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/sql/IEvidenceSqlFileAnalysis.d.ts +47 -0
- package/lib/adapters/sql/IEvidenceSqlPolicy.d.ts +50 -0
- package/lib/adapters/sqlite/EvidenceSqliteAdapter.d.ts +22 -5
- package/lib/adapters/sqlite/EvidenceSqliteAdapter.js +28 -10
- package/lib/adapters/sqlite/EvidenceSqliteFileScanner.d.ts +96 -0
- package/lib/adapters/sqlite/EvidenceSqliteFileScanner.js +300 -0
- package/lib/adapters/sqlite/EvidenceSqliteSyntax.d.ts +32 -0
- package/lib/adapters/sqlite/EvidenceSqliteSyntax.js +55 -0
- package/lib/adapters/swagger/EvidenceSwaggerAdapter.d.ts +40 -17
- package/lib/adapters/swagger/EvidenceSwaggerAdapter.js +98 -50
- package/lib/adapters/swagger/EvidenceSwaggerDescription.d.ts +21 -0
- package/lib/adapters/swagger/EvidenceSwaggerDescription.js +66 -0
- package/lib/adapters/swagger/EvidenceSwaggerDocumentInput.d.ts +9 -0
- package/lib/adapters/swagger/EvidenceSwaggerDocumentLoader.d.ts +17 -0
- package/lib/adapters/swagger/EvidenceSwaggerDocumentLoader.js +7091 -0
- package/lib/adapters/swagger/EvidenceSwaggerRemoteReader.d.ts +45 -0
- package/lib/adapters/swagger/EvidenceSwaggerRemoteReader.js +153 -0
- package/lib/adapters/swagger/EvidenceSwaggerTarget.d.ts +16 -0
- package/lib/adapters/swagger/EvidenceSwaggerTarget.js +31 -0
- package/lib/adapters/swagger/EvidenceYamlScalarMapper.d.ts +11 -0
- package/lib/adapters/swagger/EvidenceYamlScalarMapper.js +76 -0
- package/lib/adapters/swagger/IEvidenceRemoteSwaggerSource.d.ts +22 -0
- package/lib/adapters/swagger/IEvidenceSwaggerCacheEntry.d.ts +21 -0
- package/lib/adapters/swagger/IEvidenceSwaggerLoadResult.d.ts +15 -0
- package/lib/adapters/swagger/IEvidenceSwaggerOperation.d.ts +48 -0
- package/lib/adapters/swagger/IEvidenceSwaggerOperationLocation.d.ts +22 -0
- package/lib/adapters/swagger/IEvidenceYamlScalarMapping.d.ts +38 -0
- package/lib/adapters/swift/EvidenceSwiftAdapter.d.ts +120 -11
- package/lib/adapters/swift/EvidenceSwiftAdapter.js +696 -11
- package/lib/adapters/swift/EvidenceSwiftDocumentation.d.ts +18 -0
- package/lib/adapters/swift/EvidenceSwiftDocumentation.js +77 -0
- package/lib/adapters/swift/EvidenceSwiftFileScanner.d.ts +100 -0
- package/lib/adapters/swift/EvidenceSwiftFileScanner.js +354 -0
- package/lib/adapters/swift/EvidenceSwiftOwnership.d.ts +20 -0
- package/lib/adapters/swift/EvidenceSwiftOwnership.js +150 -0
- package/lib/adapters/swift/IEvidenceSwiftDeclaration.d.ts +102 -0
- package/lib/adapters/swift/IEvidenceSwiftDocumentation.d.ts +37 -0
- package/lib/adapters/swift/IEvidenceSwiftDocumentationAttachment.d.ts +22 -0
- package/lib/adapters/swift/IEvidenceSwiftFileAnalysis.d.ts +47 -0
- package/lib/adapters/typescript/EvidenceTypeScriptAdapter.d.ts +25 -15
- package/lib/adapters/typescript/EvidenceTypeScriptAdapter.js +28 -16
- package/lib/adapters/zig/EvidenceZigAdapter.d.ts +120 -12
- package/lib/adapters/zig/EvidenceZigAdapter.js +670 -12
- package/lib/adapters/zig/EvidenceZigDocumentation.d.ts +20 -0
- package/lib/adapters/zig/EvidenceZigDocumentation.js +82 -0
- package/lib/adapters/zig/EvidenceZigFileScanner.d.ts +146 -0
- package/lib/adapters/zig/EvidenceZigFileScanner.js +559 -0
- package/lib/adapters/zig/IEvidenceZigDeclaration.d.ts +76 -0
- package/lib/adapters/zig/IEvidenceZigDocumentation.d.ts +38 -0
- package/lib/adapters/zig/IEvidenceZigDocumentationAttachment.d.ts +21 -0
- package/lib/adapters/zig/IEvidenceZigFileAnalysis.d.ts +51 -0
- package/lib/commands/EvidenceCommand.d.ts +36 -31
- package/lib/commands/EvidenceCommand.js +91 -76
- package/lib/commands/EvidenceCommandError.d.ts +3 -3
- package/lib/commands/EvidenceCommandError.js +3 -3
- package/lib/commands/EvidenceWatcher.d.ts +41 -29
- package/lib/commands/EvidenceWatcher.js +77 -59
- package/lib/commands/index.d.ts +10 -0
- package/lib/commands/index.js +26 -0
- package/lib/contexts/EvidenceQueryPopulationContext.d.ts +36 -20
- package/lib/contexts/EvidenceQueryPopulationContext.js +36 -20
- package/lib/contexts/IEvidenceCheckContext.d.ts +6 -4
- package/lib/contexts/IEvidenceClaimContext.d.ts +8 -5
- package/lib/contexts/IEvidenceGraphClaimContext.d.ts +10 -7
- package/lib/contexts/IEvidenceGraphReferenceContext.d.ts +17 -12
- package/lib/contexts/IEvidenceQueryContext.d.ts +4 -4
- package/lib/contexts/IEvidenceTagContext.d.ts +26 -19
- package/lib/graph/EvidenceFingerprint.d.ts +14 -12
- package/lib/graph/EvidenceFingerprint.js +14 -12
- package/lib/graph/EvidenceGraph.d.ts +18 -15
- package/lib/graph/EvidenceGraph.js +262 -209
- package/lib/graph/EvidenceInventory.d.ts +72 -52
- package/lib/graph/EvidenceInventory.js +238 -192
- package/lib/graph/EvidenceQuery.d.ts +32 -22
- package/lib/graph/EvidenceQuery.js +32 -22
- package/lib/graph/index.d.ts +10 -0
- package/lib/graph/index.js +26 -0
- package/lib/index.d.ts +10 -102
- package/lib/index.js +25 -145
- package/lib/internal/EvidenceAdapterFactory.d.ts +5 -3
- package/lib/internal/EvidenceAdapterFactory.js +0 -4
- package/lib/internal/EvidenceArtifactTypes.d.ts +8 -4
- package/lib/internal/EvidenceArtifactTypes.js +8 -4
- package/lib/internal/EvidenceCanonicalJson.d.ts +23 -0
- package/lib/internal/EvidenceCanonicalJson.js +75 -0
- package/lib/internal/EvidenceConfigDependencyScanner.d.ts +94 -0
- package/lib/internal/EvidenceConfigDependencyScanner.js +1585 -0
- package/lib/internal/EvidenceConfigFormat.d.ts +9 -4
- package/lib/internal/EvidenceConfigFormat.js +9 -4
- package/lib/internal/EvidenceConfigModuleMode.d.ts +8 -0
- package/lib/internal/EvidenceConfigPackageMainError.d.ts +17 -0
- package/lib/internal/EvidenceConfigPackageMainError.js +24 -0
- package/lib/internal/EvidenceConfigPackageTargetError.d.ts +17 -0
- package/lib/internal/EvidenceConfigPackageTargetError.js +24 -0
- package/lib/internal/EvidenceFileGlob.d.ts +33 -0
- package/lib/internal/EvidenceFileGlob.js +167 -0
- package/lib/internal/EvidenceFingerprintIndex.d.ts +88 -12
- package/lib/internal/EvidenceFingerprintIndex.js +208 -35
- package/lib/internal/EvidenceInventoryMerge.d.ts +60 -0
- package/lib/internal/EvidenceInventoryMerge.js +343 -0
- package/lib/internal/EvidenceInventorySources.d.ts +19 -0
- package/lib/internal/EvidenceInventorySources.js +81 -0
- package/lib/internal/EvidenceParserSlots.d.ts +87 -0
- package/lib/internal/EvidenceParserSlots.js +120 -0
- package/lib/internal/EvidenceSourceCollector.d.ts +70 -0
- package/lib/internal/EvidenceSourceCollector.js +331 -0
- package/lib/internal/EvidenceSourceFailure.d.ts +19 -0
- package/lib/internal/EvidenceSourceFailure.js +25 -0
- package/lib/internal/EvidenceSourcePath.d.ts +47 -0
- package/lib/internal/EvidenceSourcePath.js +97 -0
- package/lib/internal/EvidenceSourceText.d.ts +42 -0
- package/lib/internal/EvidenceSourceText.js +83 -0
- package/lib/internal/EvidenceTargetApplicability.d.ts +7 -3
- package/lib/internal/EvidenceTargetApplicability.js +44 -20
- package/lib/internal/EvidenceTargetBody.d.ts +4 -2
- package/lib/internal/EvidenceTargetBody.js +4 -2
- package/lib/internal/EvidenceTreeSitterAssetCache.d.ts +39 -0
- package/lib/internal/EvidenceTreeSitterAssetCache.js +459 -0
- package/lib/internal/EvidenceTreeSitterAssetScope.d.ts +26 -0
- package/lib/internal/EvidenceTreeSitterAssetScope.js +43 -0
- package/lib/internal/EvidenceTreeSitterAssets.d.ts +73 -0
- package/lib/internal/EvidenceTreeSitterAssets.js +373 -0
- package/lib/internal/EvidenceTreeSitterRange.d.ts +19 -0
- package/lib/internal/EvidenceTreeSitterRange.js +35 -0
- package/lib/internal/EvidenceTreeSitterRuntime.d.ts +19 -0
- package/lib/internal/EvidenceTreeSitterRuntime.js +59 -0
- package/lib/internal/EvidenceWatchDependencySet.d.ts +35 -0
- package/lib/internal/EvidenceWatchDependencySet.js +63 -0
- package/lib/internal/EvidenceWatchDependencySnapshot.d.ts +41 -0
- package/lib/internal/EvidenceWatchDependencySnapshot.js +197 -0
- package/lib/internal/IEvidenceConfigDataModule.d.ts +15 -0
- package/lib/internal/IEvidenceConfigDependencyScan.d.ts +27 -0
- package/lib/internal/IEvidenceConfigModuleSpecifier.d.ts +25 -0
- package/lib/internal/IEvidenceConfigPackageBoundary.d.ts +23 -0
- package/lib/internal/IEvidenceConfigPackageScope.d.ts +18 -0
- package/lib/internal/IEvidenceConfigResolutionManifest.d.ts +47 -0
- package/lib/internal/IEvidenceEvaluateTypeScriptConfigOptions.d.ts +16 -0
- package/lib/internal/IEvidenceFileGlobPattern.d.ts +25 -0
- package/lib/internal/IEvidenceMaterializedClaim.d.ts +10 -5
- package/lib/internal/IEvidenceMaterializedReference.d.ts +5 -3
- package/lib/internal/IEvidencePackageManifest.d.ts +17 -0
- package/lib/internal/IEvidencePendingEvidenceTag.d.ts +37 -0
- package/lib/internal/IEvidenceQueryPopulation.d.ts +13 -8
- package/lib/internal/IEvidenceResolvedReview.d.ts +8 -7
- package/lib/internal/IEvidenceTargetCandidate.d.ts +8 -5
- package/lib/internal/IEvidenceTreeSitterAssetLock.d.ts +25 -0
- package/lib/internal/IEvidenceTreeSitterAssetOptions.d.ts +56 -0
- package/lib/internal/IEvidenceTreeSitterAssetOptions.js +2 -0
- package/lib/internal/IEvidenceTreeSitterAssetPending.d.ts +31 -0
- package/lib/internal/IEvidenceTreeSitterAssetPending.js +2 -0
- package/lib/internal/IEvidenceTtsxExecutables.d.ts +16 -0
- package/lib/internal/IEvidenceTtsxExecutables.js +2 -0
- package/lib/internal/IEvidenceTtsxManifest.d.ts +19 -0
- package/lib/internal/IEvidenceTtsxManifest.js +2 -0
- package/lib/internal/IEvidenceUnhostedChecklist.d.ts +2 -1
- package/lib/internal/IEvidenceWatchAttempt.d.ts +8 -6
- package/lib/internal/createEvidenceConfigPlan.js +16 -7
- package/lib/internal/evaluateTypeScriptConfig.d.ts +4 -3
- package/lib/internal/evaluateTypeScriptConfig.js +39 -20
- package/lib/internal/index.d.ts +18 -0
- package/lib/internal/index.js +34 -0
- package/lib/internal/validateEvidenceConfig.d.ts +2 -1
- package/lib/internal/validateEvidenceConfig.js +27 -19
- package/lib/loaders/EvidenceConfigLoader.d.ts +13 -11
- package/lib/loaders/EvidenceConfigLoader.js +33 -22
- package/lib/loaders/EvidenceSourceLoader.d.ts +16 -14
- package/lib/loaders/EvidenceSourceLoader.js +21 -19
- package/lib/loaders/index.d.ts +8 -0
- package/lib/loaders/index.js +24 -0
- package/lib/parsers/EvidenceDocumentation.d.ts +8 -6
- package/lib/parsers/EvidenceDocumentation.js +10 -8
- package/lib/parsers/EvidenceDocumentationExamples.d.ts +55 -0
- package/lib/parsers/EvidenceDocumentationExamples.js +377 -0
- package/lib/parsers/EvidenceLanguageRegistry.d.ts +15 -11
- package/lib/parsers/EvidenceLanguageRegistry.js +15 -11
- package/lib/parsers/EvidenceParseSession.d.ts +31 -23
- package/lib/parsers/EvidenceParseSession.js +33 -25
- package/lib/parsers/EvidenceParser.d.ts +36 -26
- package/lib/parsers/EvidenceParser.js +46 -36
- package/lib/parsers/EvidenceParserError.d.ts +29 -20
- package/lib/parsers/EvidenceParserError.js +23 -16
- package/lib/parsers/EvidenceTagParser.d.ts +27 -19
- package/lib/parsers/EvidenceTagParser.js +29 -21
- package/lib/parsers/IEvidenceDocumentationFence.d.ts +27 -0
- package/lib/parsers/IEvidenceDocumentationFence.js +2 -0
- package/lib/parsers/index.d.ts +13 -0
- package/lib/parsers/index.js +28 -0
- package/lib/programmers/EvidenceCheckProgrammer.d.ts +11 -6
- package/lib/programmers/EvidenceCheckProgrammer.js +61 -48
- package/lib/programmers/EvidenceQueryProgrammer.d.ts +25 -18
- package/lib/programmers/EvidenceQueryProgrammer.js +130 -101
- package/lib/programmers/EvidenceTagProgrammer.d.ts +10 -6
- package/lib/programmers/EvidenceTagProgrammer.js +51 -43
- package/lib/reporters/EvidenceGraphReporter.d.ts +10 -9
- package/lib/reporters/EvidenceGraphReporter.js +18 -16
- package/lib/reporters/EvidenceQueryReporter.d.ts +5 -4
- package/lib/reporters/EvidenceQueryReporter.js +17 -14
- package/lib/reporters/EvidenceReporter.d.ts +4 -3
- package/lib/reporters/EvidenceReporter.js +8 -6
- package/lib/reporters/EvidenceWatchReporter.d.ts +6 -5
- package/lib/reporters/EvidenceWatchReporter.js +7 -6
- package/lib/reporters/index.d.ts +10 -0
- package/lib/reporters/index.js +26 -0
- package/lib/structures/IEvidenceAdapter.d.ts +16 -11
- package/lib/structures/IEvidenceAddress.d.ts +5 -4
- package/lib/structures/IEvidenceCheckAnalysis.d.ts +3 -2
- package/lib/structures/IEvidenceCheckClaim.d.ts +4 -2
- package/lib/structures/IEvidenceCheckCommand.d.ts +13 -7
- package/lib/structures/IEvidenceCheckCounts.d.ts +9 -5
- package/lib/structures/IEvidenceCheckObligation.d.ts +6 -3
- package/lib/structures/IEvidenceCheckReport.d.ts +5 -3
- package/lib/structures/IEvidenceClaimBase.d.ts +28 -22
- package/lib/structures/IEvidenceCommand.d.ts +2 -2
- package/lib/structures/IEvidenceCommandFailure.d.ts +6 -3
- package/lib/structures/IEvidenceCommandResult.d.ts +4 -4
- package/lib/structures/IEvidenceCommentSyntax.d.ts +10 -7
- package/lib/structures/IEvidenceConfig.d.ts +22 -14
- package/lib/structures/IEvidenceConfigPlan.d.ts +6 -4
- package/lib/structures/IEvidenceConfigPlanClaim.d.ts +6 -4
- package/lib/structures/IEvidenceConfigPlanReference.d.ts +11 -9
- package/lib/structures/IEvidenceDatabaseClaim.d.ts +4 -4
- package/lib/structures/IEvidenceDatabaseLanguage.d.ts +8 -5
- package/lib/structures/IEvidenceDatabaseLanguageAdapter.d.ts +9 -6
- package/lib/structures/IEvidenceDatabaseReference.d.ts +5 -4
- package/lib/structures/IEvidenceDeclaration.d.ts +14 -11
- package/lib/structures/IEvidenceDiagnostic.d.ts +10 -5
- package/lib/structures/IEvidenceDocumentation.d.ts +18 -12
- package/lib/structures/IEvidenceDocumentedConfig.d.ts +2 -2
- package/lib/structures/IEvidenceFingerprint.d.ts +6 -5
- package/lib/structures/IEvidenceGrammar.d.ts +13 -8
- package/lib/structures/IEvidenceGrammarAsset.d.ts +6 -5
- package/lib/structures/IEvidenceGraphBoundary.d.ts +17 -10
- package/lib/structures/IEvidenceGraphClaim.d.ts +11 -8
- package/lib/structures/IEvidenceGraphClaimResult.d.ts +2 -2
- package/lib/structures/IEvidenceGraphCommand.d.ts +12 -7
- package/lib/structures/IEvidenceGraphEdge.d.ts +8 -7
- package/lib/structures/IEvidenceGraphExportEdge.d.ts +20 -11
- package/lib/structures/IEvidenceGraphExportReview.d.ts +15 -10
- package/lib/structures/IEvidenceGraphHostCoverage.d.ts +5 -3
- package/lib/structures/IEvidenceGraphHostNode.d.ts +12 -7
- package/lib/structures/IEvidenceGraphInput.d.ts +11 -9
- package/lib/structures/IEvidenceGraphNode.d.ts +19 -12
- package/lib/structures/IEvidenceGraphObligation.d.ts +19 -16
- package/lib/structures/IEvidenceGraphReference.d.ts +15 -10
- package/lib/structures/IEvidenceGraphReport.d.ts +24 -15
- package/lib/structures/IEvidenceGraphResolution.d.ts +2 -1
- package/lib/structures/IEvidenceGraphResult.d.ts +9 -7
- package/lib/structures/IEvidenceGraphReviewResolution.d.ts +4 -3
- package/lib/structures/IEvidenceHelpCommand.d.ts +2 -1
- package/lib/structures/IEvidenceHost.d.ts +19 -12
- package/lib/structures/IEvidenceInitCommand.d.ts +9 -5
- package/lib/structures/IEvidenceInspectCommand.d.ts +7 -4
- package/lib/structures/IEvidenceInspectReport.d.ts +14 -9
- package/lib/structures/IEvidenceInspectedAcknowledgement.d.ts +14 -7
- package/lib/structures/IEvidenceInspectedObligation.d.ts +12 -7
- package/lib/structures/IEvidenceInspectedReview.d.ts +14 -8
- package/lib/structures/IEvidenceInspectedUnit.d.ts +14 -7
- package/lib/structures/IEvidenceInspection.d.ts +30 -17
- package/lib/structures/IEvidenceInventory.d.ts +26 -19
- package/lib/structures/IEvidenceLanguage.d.ts +8 -4
- package/lib/structures/IEvidenceLanguageAdapter.d.ts +9 -5
- package/lib/structures/IEvidenceLanguageCandidate.d.ts +22 -14
- package/lib/structures/IEvidenceLanguageGrammar.d.ts +5 -3
- package/lib/structures/IEvidenceLanguagesCommand.d.ts +6 -4
- package/lib/structures/IEvidenceLanguagesReport.d.ts +5 -4
- package/lib/structures/IEvidenceListCommand.d.ts +8 -4
- package/lib/structures/IEvidenceListItem.d.ts +17 -10
- package/lib/structures/IEvidenceListReport.d.ts +15 -9
- package/lib/structures/IEvidenceMarkdownClaim.d.ts +4 -4
- package/lib/structures/IEvidenceMarkdownReference.d.ts +7 -6
- package/lib/structures/IEvidenceParserInput.d.ts +6 -5
- package/lib/structures/IEvidenceParserOptions.d.ts +2 -1
- package/lib/structures/IEvidenceParserState.d.ts +8 -5
- package/lib/structures/IEvidencePopulation.d.ts +15 -11
- package/lib/structures/IEvidenceProgrammingClaim.d.ts +11 -10
- package/lib/structures/IEvidenceProgrammingReference.d.ts +4 -3
- package/lib/structures/IEvidencePublicAddress.d.ts +6 -5
- package/lib/structures/IEvidenceQueryScope.d.ts +5 -3
- package/lib/structures/IEvidenceReferenceBase.d.ts +24 -18
- package/lib/structures/IEvidenceResolution.d.ts +3 -2
- package/lib/structures/IEvidenceReview.d.ts +21 -16
- package/lib/structures/IEvidenceSourceAddress.d.ts +4 -4
- package/lib/structures/IEvidenceSourceDiagnostic.d.ts +7 -5
- package/lib/structures/IEvidenceSourceFile.d.ts +30 -8
- package/lib/structures/IEvidenceSourceFingerprintRoot.d.ts +22 -0
- package/lib/structures/IEvidenceSourceFingerprintRoot.js +2 -0
- package/lib/structures/IEvidenceSourceLocation.d.ts +2 -2
- package/lib/structures/IEvidenceSourcePosition.d.ts +5 -4
- package/lib/structures/IEvidenceSourceRange.d.ts +9 -5
- package/lib/structures/IEvidenceSourceRoot.d.ts +11 -8
- package/lib/structures/IEvidenceSourceSnapshot.d.ts +10 -7
- package/lib/structures/IEvidenceSupportedDatabaseLanguage.d.ts +7 -5
- package/lib/structures/IEvidenceSupportedLanguage.d.ts +4 -2
- package/lib/structures/IEvidenceSwaggerClaim.d.ts +3 -3
- package/lib/structures/IEvidenceSwaggerReference.d.ts +5 -4
- package/lib/structures/IEvidenceTagParseResult.d.ts +6 -4
- package/lib/structures/IEvidenceTargetResolution.d.ts +7 -7
- package/lib/structures/IEvidenceTargetStatement.d.ts +8 -6
- package/lib/structures/IEvidenceUnit.d.ts +25 -19
- package/lib/structures/IEvidenceUnitSite.d.ts +9 -6
- package/lib/structures/IEvidenceWatchCheckCycle.d.ts +15 -10
- package/lib/structures/IEvidenceWatchFailureCycle.d.ts +17 -11
- package/lib/structures/IEvidenceWatchOptions.d.ts +4 -4
- package/lib/structures/IEvidenceWithdrawal.d.ts +6 -5
- package/lib/structures/index.d.ts +1 -0
- package/lib/targets/EvidenceAccessor.d.ts +13 -10
- package/lib/targets/EvidenceAccessor.js +13 -10
- package/lib/targets/EvidenceFileTarget.d.ts +15 -11
- package/lib/targets/EvidenceFileTarget.js +21 -15
- package/lib/targets/EvidenceTargetResolver.d.ts +41 -33
- package/lib/targets/EvidenceTargetResolver.js +58 -50
- package/lib/targets/index.d.ts +9 -0
- package/lib/targets/index.js +25 -0
- package/lib/typings/EvidenceAcknowledgementKind.d.ts +4 -2
- package/lib/typings/EvidenceActiveSeverity.d.ts +2 -1
- package/lib/typings/EvidenceArtifactType.d.ts +2 -1
- package/lib/typings/EvidenceCheckStatus.d.ts +2 -1
- package/lib/typings/EvidenceCommandExitCode.d.ts +2 -1
- package/lib/typings/EvidenceDatabaseSymbol.d.ts +11 -9
- package/lib/typings/EvidenceDatabaseType.d.ts +2 -1
- package/lib/typings/EvidenceGrammarWasmAvailability.d.ts +3 -1
- package/lib/typings/EvidenceGraphFormat.d.ts +2 -1
- package/lib/typings/EvidenceGraphNode.d.ts +2 -1
- package/lib/typings/EvidenceLanguageCandidateId.d.ts +2 -1
- package/lib/typings/EvidenceLanguageCandidateKind.d.ts +6 -4
- package/lib/typings/EvidenceMarkdownSymbol.d.ts +3 -2
- package/lib/typings/EvidenceParserErrorCode.d.ts +2 -1
- package/lib/typings/EvidencePopulationRole.d.ts +4 -2
- package/lib/typings/EvidenceProgrammingSymbol.d.ts +22 -18
- package/lib/typings/EvidenceProgrammingType.d.ts +6 -4
- package/lib/typings/EvidenceQueryReport.d.ts +4 -2
- package/lib/typings/EvidenceReportFormat.d.ts +2 -1
- package/lib/typings/EvidenceSeverity.d.ts +4 -2
- package/lib/typings/EvidenceSymbol.d.ts +4 -3
- package/lib/typings/EvidenceTargetResolutionStatus.d.ts +2 -1
- package/lib/typings/EvidenceUnitSelection.d.ts +2 -1
- package/lib/typings/EvidenceWatchCycle.d.ts +2 -1
- package/lib/typings/EvidenceWatchPublisher.d.ts +2 -1
- package/package.json +1 -1
- package/lib/adapters/bigquery/BigQueryColumnType.d.ts +0 -14
- package/lib/adapters/bigquery/BigQueryColumnType.js +0 -34
- package/lib/adapters/bigquery/BigQueryFileScanner.d.ts +0 -97
- package/lib/adapters/bigquery/BigQueryFileScanner.js +0 -375
- package/lib/adapters/bigquery/BigQueryIdentifier.d.ts +0 -37
- package/lib/adapters/bigquery/BigQueryIdentifier.js +0 -88
- package/lib/adapters/bigquery/BigQueryString.d.ts +0 -14
- package/lib/adapters/bigquery/BigQueryString.js +0 -82
- package/lib/adapters/bigquery/BigQueryWithdrawals.d.ts +0 -14
- package/lib/adapters/bigquery/BigQueryWithdrawals.js +0 -70
- package/lib/adapters/c/CAdapter.d.ts +0 -48
- package/lib/adapters/c/CAdapter.js +0 -677
- package/lib/adapters/c/CDeclarationForm.d.ts +0 -8
- package/lib/adapters/c/CDeclaratorKind.d.ts +0 -8
- package/lib/adapters/c/CDocumentation.d.ts +0 -12
- package/lib/adapters/c/CDocumentation.js +0 -35
- package/lib/adapters/c/CFileScanner.d.ts +0 -64
- package/lib/adapters/c/CFileScanner.js +0 -505
- package/lib/adapters/c/CSyntax.d.ts +0 -24
- package/lib/adapters/c/CSyntax.js +0 -164
- package/lib/adapters/c/ICDeclaration.d.ts +0 -74
- package/lib/adapters/c/ICDeclarationAddress.d.ts +0 -28
- package/lib/adapters/c/ICDeclarationGroup.d.ts +0 -23
- package/lib/adapters/c/ICDeclaratorShape.d.ts +0 -30
- package/lib/adapters/c/ICDocumentation.d.ts +0 -36
- package/lib/adapters/c/ICDocumentationAttachment.d.ts +0 -21
- package/lib/adapters/c/ICFileAnalysis.d.ts +0 -44
- package/lib/adapters/c/ICTypeContext.d.ts +0 -21
- package/lib/adapters/cpp/CppAccess.d.ts +0 -7
- package/lib/adapters/cpp/CppAdapter.d.ts +0 -50
- package/lib/adapters/cpp/CppAdapter.js +0 -707
- package/lib/adapters/cpp/CppAliasKind.d.ts +0 -7
- package/lib/adapters/cpp/CppDeclarationForm.d.ts +0 -7
- package/lib/adapters/cpp/CppDeclaratorKind.d.ts +0 -7
- package/lib/adapters/cpp/CppDocumentation.d.ts +0 -12
- package/lib/adapters/cpp/CppDocumentation.js +0 -35
- package/lib/adapters/cpp/CppFileScanner.d.ts +0 -79
- package/lib/adapters/cpp/CppFileScanner.js +0 -792
- package/lib/adapters/cpp/CppScopeKind.d.ts +0 -7
- package/lib/adapters/cpp/CppSyntax.d.ts +0 -31
- package/lib/adapters/cpp/CppSyntax.js +0 -342
- package/lib/adapters/cpp/CppVisibility.d.ts +0 -7
- package/lib/adapters/cpp/ICppAlias.d.ts +0 -44
- package/lib/adapters/cpp/ICppDeclaration.d.ts +0 -55
- package/lib/adapters/cpp/ICppDeclarationGroup.d.ts +0 -25
- package/lib/adapters/cpp/ICppDeclaratorShape.d.ts +0 -42
- package/lib/adapters/cpp/ICppDocumentation.d.ts +0 -30
- package/lib/adapters/cpp/ICppDocumentationAttachment.d.ts +0 -16
- package/lib/adapters/cpp/ICppFileAnalysis.d.ts +0 -41
- package/lib/adapters/cpp/ICppQualifiedName.d.ts +0 -16
- package/lib/adapters/cpp/ICppResolvedAlias.d.ts +0 -24
- package/lib/adapters/cpp/ICppScopeContext.d.ts +0 -37
- package/lib/adapters/csharp/CSharpAccessibility.d.ts +0 -7
- package/lib/adapters/csharp/CSharpAdapter.d.ts +0 -47
- package/lib/adapters/csharp/CSharpAdapter.js +0 -687
- package/lib/adapters/csharp/CSharpDeclarationForm.d.ts +0 -7
- package/lib/adapters/csharp/CSharpDocumentation.d.ts +0 -12
- package/lib/adapters/csharp/CSharpDocumentation.js +0 -35
- package/lib/adapters/csharp/CSharpFileScanner.d.ts +0 -54
- package/lib/adapters/csharp/CSharpFileScanner.js +0 -403
- package/lib/adapters/csharp/CSharpSyntax.d.ts +0 -23
- package/lib/adapters/csharp/CSharpSyntax.js +0 -174
- package/lib/adapters/csharp/CSharpTypeKind.d.ts +0 -7
- package/lib/adapters/csharp/ICSharpDeclaration.d.ts +0 -63
- package/lib/adapters/csharp/ICSharpDeclarationAddress.d.ts +0 -22
- package/lib/adapters/csharp/ICSharpDeclarationGroup.d.ts +0 -19
- package/lib/adapters/csharp/ICSharpDocumentation.d.ts +0 -43
- package/lib/adapters/csharp/ICSharpDocumentationAttachment.d.ts +0 -25
- package/lib/adapters/csharp/ICSharpFileAnalysis.d.ts +0 -51
- package/lib/adapters/csharp/ICSharpTypeContext.d.ts +0 -41
- package/lib/adapters/dart/DartAdapter.d.ts +0 -96
- package/lib/adapters/dart/DartAdapter.js +0 -616
- package/lib/adapters/dart/DartDocumentation.d.ts +0 -16
- package/lib/adapters/dart/DartDocumentation.js +0 -73
- package/lib/adapters/dart/DartFileScanner.d.ts +0 -112
- package/lib/adapters/dart/DartFileScanner.js +0 -415
- package/lib/adapters/dart/DartLibraries.d.ts +0 -24
- package/lib/adapters/dart/DartLibraries.js +0 -228
- package/lib/adapters/dart/IDartDeclaration.d.ts +0 -69
- package/lib/adapters/dart/IDartDirective.d.ts +0 -53
- package/lib/adapters/dart/IDartDocumentation.d.ts +0 -31
- package/lib/adapters/dart/IDartDocumentationAttachment.d.ts +0 -23
- package/lib/adapters/dart/IDartExportFilter.d.ts +0 -22
- package/lib/adapters/dart/IDartFileAnalysis.d.ts +0 -55
- package/lib/adapters/dbml/DbmlDocumentation.d.ts +0 -15
- package/lib/adapters/dbml/DbmlDocumentation.js +0 -49
- package/lib/adapters/dbml/DbmlFileScanner.d.ts +0 -114
- package/lib/adapters/dbml/DbmlFileScanner.js +0 -364
- package/lib/adapters/dbml/IDbmlDeclaration.d.ts +0 -38
- package/lib/adapters/dbml/IDbmlDocumentation.d.ts +0 -34
- package/lib/adapters/dbml/IDbmlEndpoint.d.ts +0 -20
- package/lib/adapters/dbml/IDbmlEnum.d.ts +0 -27
- package/lib/adapters/dbml/IDbmlFileAnalysis.d.ts +0 -56
- package/lib/adapters/dbml/IDbmlRelation.d.ts +0 -56
- package/lib/adapters/ecmascript/EcmaScriptAdapter.d.ts +0 -71
- package/lib/adapters/ecmascript/EcmaScriptAdapter.js +0 -516
- package/lib/adapters/ecmascript/EcmaScriptExportKind.d.ts +0 -7
- package/lib/adapters/ecmascript/EcmaScriptExportResolver.d.ts +0 -175
- package/lib/adapters/ecmascript/EcmaScriptExportResolver.js +0 -510
- package/lib/adapters/ecmascript/EcmaScriptFileScanner.d.ts +0 -84
- package/lib/adapters/ecmascript/EcmaScriptFileScanner.js +0 -946
- package/lib/adapters/ecmascript/EcmaScriptModuleMode.d.ts +0 -7
- package/lib/adapters/ecmascript/EcmaScriptModuleResolver.d.ts +0 -70
- package/lib/adapters/ecmascript/EcmaScriptModuleResolver.js +0 -211
- package/lib/adapters/ecmascript/EcmaScriptSyntax.d.ts +0 -24
- package/lib/adapters/ecmascript/EcmaScriptSyntax.js +0 -263
- package/lib/adapters/ecmascript/EcmaScriptType.d.ts +0 -7
- package/lib/adapters/ecmascript/IEcmaScriptBinding.d.ts +0 -29
- package/lib/adapters/ecmascript/IEcmaScriptComment.d.ts +0 -39
- package/lib/adapters/ecmascript/IEcmaScriptCommentAttachment.d.ts +0 -24
- package/lib/adapters/ecmascript/IEcmaScriptExport.d.ts +0 -51
- package/lib/adapters/ecmascript/IEcmaScriptFileAnalysis.d.ts +0 -56
- package/lib/adapters/ecmascript/IEcmaScriptHostPosition.d.ts +0 -25
- package/lib/adapters/ecmascript/IEcmaScriptImport.d.ts +0 -44
- package/lib/adapters/ecmascript/IEcmaScriptModule.d.ts +0 -55
- package/lib/adapters/ecmascript/IEcmaScriptModuleResolution.d.ts +0 -40
- package/lib/adapters/ecmascript/IEcmaScriptOwnedUnit.d.ts +0 -45
- package/lib/adapters/ecmascript/IEcmaScriptResolution.d.ts +0 -31
- package/lib/adapters/ecmascript/IEcmaScriptStatementContext.d.ts +0 -58
- package/lib/adapters/ecmascript/IJavaScriptPackageJson.d.ts +0 -16
- package/lib/adapters/go/GoAdapter.d.ts +0 -43
- package/lib/adapters/go/GoAdapter.js +0 -509
- package/lib/adapters/go/GoDeclarationForm.d.ts +0 -7
- package/lib/adapters/go/GoFileScanner.d.ts +0 -57
- package/lib/adapters/go/GoFileScanner.js +0 -288
- package/lib/adapters/go/GoPackageResolver.d.ts +0 -147
- package/lib/adapters/go/GoPackageResolver.js +0 -306
- package/lib/adapters/go/GoSyntax.d.ts +0 -17
- package/lib/adapters/go/GoSyntax.js +0 -107
- package/lib/adapters/go/IGoDeclaration.d.ts +0 -53
- package/lib/adapters/go/IGoDocumentation.d.ts +0 -35
- package/lib/adapters/go/IGoDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/go/IGoFileAnalysis.d.ts +0 -60
- package/lib/adapters/go/IGoMaterializedDeclaration.d.ts +0 -28
- package/lib/adapters/java/IJavaDeclaration.d.ts +0 -65
- package/lib/adapters/java/IJavaDocumentation.d.ts +0 -35
- package/lib/adapters/java/IJavaDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/java/IJavaFileAnalysis.d.ts +0 -42
- package/lib/adapters/java/IJavaTypeContext.d.ts +0 -39
- package/lib/adapters/java/JavaAdapter.d.ts +0 -45
- package/lib/adapters/java/JavaAdapter.js +0 -572
- package/lib/adapters/java/JavaDeclarationForm.d.ts +0 -7
- package/lib/adapters/java/JavaDocumentation.d.ts +0 -12
- package/lib/adapters/java/JavaDocumentation.js +0 -52
- package/lib/adapters/java/JavaFileScanner.d.ts +0 -51
- package/lib/adapters/java/JavaFileScanner.js +0 -317
- package/lib/adapters/java/JavaSyntax.d.ts +0 -18
- package/lib/adapters/java/JavaSyntax.js +0 -100
- package/lib/adapters/java/JavaTypeKind.d.ts +0 -7
- package/lib/adapters/kotlin/IKotlinDeclaration.d.ts +0 -77
- package/lib/adapters/kotlin/IKotlinDocumentation.d.ts +0 -31
- package/lib/adapters/kotlin/IKotlinDocumentationAttachment.d.ts +0 -23
- package/lib/adapters/kotlin/IKotlinFileAnalysis.d.ts +0 -39
- package/lib/adapters/kotlin/IKotlinResolvedType.d.ts +0 -23
- package/lib/adapters/kotlin/IKotlinTypeReference.d.ts +0 -44
- package/lib/adapters/kotlin/KotlinAdapter.d.ts +0 -114
- package/lib/adapters/kotlin/KotlinAdapter.js +0 -649
- package/lib/adapters/kotlin/KotlinDocumentation.d.ts +0 -18
- package/lib/adapters/kotlin/KotlinDocumentation.js +0 -80
- package/lib/adapters/kotlin/KotlinFileScanner.d.ts +0 -153
- package/lib/adapters/kotlin/KotlinFileScanner.js +0 -508
- package/lib/adapters/kotlin/KotlinReceivers.d.ts +0 -16
- package/lib/adapters/kotlin/KotlinReceivers.js +0 -104
- package/lib/adapters/lua/ILuaDeclaration.d.ts +0 -54
- package/lib/adapters/lua/ILuaDocumentation.d.ts +0 -31
- package/lib/adapters/lua/ILuaDocumentationAttachment.d.ts +0 -23
- package/lib/adapters/lua/ILuaFileAnalysis.d.ts +0 -39
- package/lib/adapters/lua/ILuaValue.d.ts +0 -39
- package/lib/adapters/lua/LuaAdapter.d.ts +0 -114
- package/lib/adapters/lua/LuaAdapter.js +0 -647
- package/lib/adapters/lua/LuaDocumentation.d.ts +0 -19
- package/lib/adapters/lua/LuaDocumentation.js +0 -79
- package/lib/adapters/lua/LuaFileScanner.d.ts +0 -167
- package/lib/adapters/lua/LuaFileScanner.js +0 -585
- package/lib/adapters/markdown/EvidenceMarkdownRenderedEdge.d.ts +0 -7
- package/lib/adapters/markdown/IMarkdownComment.d.ts +0 -31
- package/lib/adapters/markdown/IMarkdownFence.d.ts +0 -25
- package/lib/adapters/markdown/IMarkdownHeading.d.ts +0 -25
- package/lib/adapters/markdown/MarkdownScanner.d.ts +0 -102
- package/lib/adapters/markdown/MarkdownScanner.js +0 -471
- package/lib/adapters/markdown/MarkdownSyntax.d.ts +0 -34
- package/lib/adapters/markdown/MarkdownSyntax.js +0 -234
- package/lib/adapters/markdown/MarkdownTarget.d.ts +0 -17
- package/lib/adapters/markdown/MarkdownTarget.js +0 -38
- package/lib/adapters/matlab/IMatlabDeclaration.d.ts +0 -103
- package/lib/adapters/matlab/IMatlabDocumentation.d.ts +0 -35
- package/lib/adapters/matlab/IMatlabDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/matlab/IMatlabFileAnalysis.d.ts +0 -43
- package/lib/adapters/matlab/MatlabAdapter.d.ts +0 -104
- package/lib/adapters/matlab/MatlabAdapter.js +0 -625
- package/lib/adapters/matlab/MatlabDocumentation.d.ts +0 -18
- package/lib/adapters/matlab/MatlabDocumentation.js +0 -78
- package/lib/adapters/matlab/MatlabFileScanner.d.ts +0 -118
- package/lib/adapters/matlab/MatlabFileScanner.js +0 -454
- package/lib/adapters/matlab/MatlabOwnership.d.ts +0 -17
- package/lib/adapters/matlab/MatlabOwnership.js +0 -139
- package/lib/adapters/mysql/MysqlDocumentation.d.ts +0 -15
- package/lib/adapters/mysql/MysqlDocumentation.js +0 -40
- package/lib/adapters/mysql/MysqlFileScanner.d.ts +0 -16
- package/lib/adapters/mysql/MysqlFileScanner.js +0 -78
- package/lib/adapters/mysql/MysqlIdentifier.d.ts +0 -13
- package/lib/adapters/mysql/MysqlIdentifier.js +0 -30
- package/lib/adapters/mysql/MysqlPolicy.d.ts +0 -39
- package/lib/adapters/mysql/MysqlPolicy.js +0 -173
- package/lib/adapters/objc/IObjcDeclaration.d.ts +0 -79
- package/lib/adapters/objc/IObjcDocumentation.d.ts +0 -35
- package/lib/adapters/objc/IObjcDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/objc/IObjcFileAnalysis.d.ts +0 -43
- package/lib/adapters/objc/ObjcAdapter.d.ts +0 -100
- package/lib/adapters/objc/ObjcAdapter.js +0 -646
- package/lib/adapters/objc/ObjcDeclarationForm.d.ts +0 -7
- package/lib/adapters/objc/ObjcDocumentation.d.ts +0 -8
- package/lib/adapters/objc/ObjcDocumentation.js +0 -11
- package/lib/adapters/objc/ObjcFileScanner.d.ts +0 -123
- package/lib/adapters/objc/ObjcFileScanner.js +0 -461
- package/lib/adapters/php/IPhpDeclaration.d.ts +0 -64
- package/lib/adapters/php/IPhpDocumentation.d.ts +0 -35
- package/lib/adapters/php/IPhpDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/php/IPhpFileAnalysis.d.ts +0 -48
- package/lib/adapters/php/PhpAdapter.d.ts +0 -108
- package/lib/adapters/php/PhpAdapter.js +0 -670
- package/lib/adapters/php/PhpDocumentation.d.ts +0 -18
- package/lib/adapters/php/PhpDocumentation.js +0 -80
- package/lib/adapters/php/PhpFileScanner.d.ts +0 -79
- package/lib/adapters/php/PhpFileScanner.js +0 -346
- package/lib/adapters/postgresql/IPostgresqlFileAnalysis.d.ts +0 -16
- package/lib/adapters/postgresql/IPostgresqlReference.d.ts +0 -26
- package/lib/adapters/postgresql/PostgresqlFileScanner.d.ts +0 -103
- package/lib/adapters/postgresql/PostgresqlFileScanner.js +0 -431
- package/lib/adapters/postgresql/PostgresqlFingerprint.d.ts +0 -14
- package/lib/adapters/postgresql/PostgresqlFingerprint.js +0 -29
- package/lib/adapters/postgresql/PostgresqlIdentity.d.ts +0 -20
- package/lib/adapters/postgresql/PostgresqlIdentity.js +0 -41
- package/lib/adapters/postgresql/PostgresqlOwnership.d.ts +0 -14
- package/lib/adapters/postgresql/PostgresqlOwnership.js +0 -668
- package/lib/adapters/prisma/IPrismaBlockHead.d.ts +0 -21
- package/lib/adapters/prisma/IPrismaCacheEntry.d.ts +0 -22
- package/lib/adapters/prisma/IPrismaCommentRun.d.ts +0 -51
- package/lib/adapters/prisma/IPrismaDatamodel.d.ts +0 -15
- package/lib/adapters/prisma/IPrismaDatamodelField.d.ts +0 -26
- package/lib/adapters/prisma/IPrismaDatamodelModel.d.ts +0 -29
- package/lib/adapters/prisma/IPrismaField.d.ts +0 -36
- package/lib/adapters/prisma/IPrismaFileAnalysis.d.ts +0 -31
- package/lib/adapters/prisma/IPrismaLineParts.d.ts +0 -26
- package/lib/adapters/prisma/IPrismaLoadResult.d.ts +0 -22
- package/lib/adapters/prisma/IPrismaLocatedDeclaration.d.ts +0 -20
- package/lib/adapters/prisma/IPrismaLocation.d.ts +0 -22
- package/lib/adapters/prisma/IPrismaModel.d.ts +0 -36
- package/lib/adapters/prisma/IPrismaOwnedUnit.d.ts +0 -37
- package/lib/adapters/prisma/IPrismaParser.d.ts +0 -28
- package/lib/adapters/prisma/IPrismaPendingComment.d.ts +0 -52
- package/lib/adapters/prisma/IPrismaSchemaFile.d.ts +0 -22
- package/lib/adapters/prisma/ITrimmedMapping.d.ts +0 -23
- package/lib/adapters/prisma/PrismaCommentForm.d.ts +0 -7
- package/lib/adapters/prisma/PrismaFileScanner.d.ts +0 -70
- package/lib/adapters/prisma/PrismaFileScanner.js +0 -361
- package/lib/adapters/prisma/PrismaModelLoader.d.ts +0 -12
- package/lib/adapters/prisma/PrismaModelLoader.js +0 -268
- package/lib/adapters/prisma/PrismaSyntax.d.ts +0 -9
- package/lib/adapters/prisma/PrismaSyntax.js +0 -27
- package/lib/adapters/prisma/PrismaTarget.d.ts +0 -10
- package/lib/adapters/prisma/PrismaTarget.js +0 -23
- package/lib/adapters/python/IPythonAll.d.ts +0 -24
- package/lib/adapters/python/IPythonBinding.d.ts +0 -52
- package/lib/adapters/python/IPythonClassContext.d.ts +0 -36
- package/lib/adapters/python/IPythonDocumentation.d.ts +0 -47
- package/lib/adapters/python/IPythonDocumentationAttachment.d.ts +0 -31
- package/lib/adapters/python/IPythonFileAnalysis.d.ts +0 -63
- package/lib/adapters/python/IPythonHostPosition.d.ts +0 -33
- package/lib/adapters/python/IPythonModule.d.ts +0 -42
- package/lib/adapters/python/IPythonOwnedUnit.d.ts +0 -30
- package/lib/adapters/python/IPythonResolution.d.ts +0 -21
- package/lib/adapters/python/IPythonResolvedBinding.d.ts +0 -20
- package/lib/adapters/python/PythonAdapter.d.ts +0 -43
- package/lib/adapters/python/PythonAdapter.js +0 -488
- package/lib/adapters/python/PythonAllState.d.ts +0 -7
- package/lib/adapters/python/PythonBindingKind.d.ts +0 -7
- package/lib/adapters/python/PythonExportResolver.d.ts +0 -146
- package/lib/adapters/python/PythonExportResolver.js +0 -408
- package/lib/adapters/python/PythonFileScanner.d.ts +0 -367
- package/lib/adapters/python/PythonFileScanner.js +0 -1019
- package/lib/adapters/python/PythonResolutionMode.d.ts +0 -7
- package/lib/adapters/python/PythonSyntax.d.ts +0 -115
- package/lib/adapters/python/PythonSyntax.js +0 -298
- package/lib/adapters/ruby/IRubyConstantPath.d.ts +0 -20
- package/lib/adapters/ruby/IRubyDeclaration.d.ts +0 -105
- package/lib/adapters/ruby/IRubyDocumentation.d.ts +0 -42
- package/lib/adapters/ruby/IRubyDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/ruby/IRubyFileAnalysis.d.ts +0 -42
- package/lib/adapters/ruby/IRubyScopeContext.d.ts +0 -48
- package/lib/adapters/ruby/RubyAdapter.d.ts +0 -50
- package/lib/adapters/ruby/RubyAdapter.js +0 -724
- package/lib/adapters/ruby/RubyAttributeMode.d.ts +0 -7
- package/lib/adapters/ruby/RubyContainerKind.d.ts +0 -7
- package/lib/adapters/ruby/RubyDeclarationForm.d.ts +0 -7
- package/lib/adapters/ruby/RubyFileScanner.d.ts +0 -332
- package/lib/adapters/ruby/RubyFileScanner.js +0 -990
- package/lib/adapters/ruby/RubyMethodSide.d.ts +0 -7
- package/lib/adapters/ruby/RubyScopeKind.d.ts +0 -7
- package/lib/adapters/ruby/RubySyntax.d.ts +0 -81
- package/lib/adapters/ruby/RubySyntax.js +0 -202
- package/lib/adapters/ruby/RubyVisibility.d.ts +0 -7
- package/lib/adapters/rust/IRustDeclaration.d.ts +0 -72
- package/lib/adapters/rust/IRustDocumentation.d.ts +0 -41
- package/lib/adapters/rust/IRustDocumentationAttachment.d.ts +0 -20
- package/lib/adapters/rust/IRustExportRecord.d.ts +0 -28
- package/lib/adapters/rust/IRustExternalModule.d.ts +0 -32
- package/lib/adapters/rust/IRustFileAnalysis.d.ts +0 -66
- package/lib/adapters/rust/IRustFilePlacement.d.ts +0 -35
- package/lib/adapters/rust/IRustImplementation.d.ts +0 -38
- package/lib/adapters/rust/IRustLocatedDeclaration.d.ts +0 -35
- package/lib/adapters/rust/IRustModuleRecord.d.ts +0 -62
- package/lib/adapters/rust/IRustPublicOccurrence.d.ts +0 -35
- package/lib/adapters/rust/IRustResolvedMember.d.ts +0 -34
- package/lib/adapters/rust/IRustUse.d.ts +0 -33
- package/lib/adapters/rust/IRustUseBinding.d.ts +0 -26
- package/lib/adapters/rust/RustAdapter.d.ts +0 -43
- package/lib/adapters/rust/RustAdapter.js +0 -503
- package/lib/adapters/rust/RustDeclarationForm.d.ts +0 -7
- package/lib/adapters/rust/RustFileScanner.d.ts +0 -61
- package/lib/adapters/rust/RustFileScanner.js +0 -550
- package/lib/adapters/rust/RustModuleResolver.d.ts +0 -70
- package/lib/adapters/rust/RustModuleResolver.js +0 -716
- package/lib/adapters/rust/RustSyntax.d.ts +0 -93
- package/lib/adapters/rust/RustSyntax.js +0 -244
- package/lib/adapters/rust/RustVisibility.d.ts +0 -7
- package/lib/adapters/scala/IScalaDeclaration.d.ts +0 -78
- package/lib/adapters/scala/IScalaDocumentation.d.ts +0 -35
- package/lib/adapters/scala/IScalaDocumentationAttachment.d.ts +0 -22
- package/lib/adapters/scala/IScalaExport.d.ts +0 -29
- package/lib/adapters/scala/IScalaFileAnalysis.d.ts +0 -50
- package/lib/adapters/scala/ScalaAdapter.d.ts +0 -100
- package/lib/adapters/scala/ScalaAdapter.js +0 -638
- package/lib/adapters/scala/ScalaDocumentation.d.ts +0 -16
- package/lib/adapters/scala/ScalaDocumentation.js +0 -77
- package/lib/adapters/scala/ScalaExports.d.ts +0 -16
- package/lib/adapters/scala/ScalaExports.js +0 -136
- package/lib/adapters/scala/ScalaFileScanner.d.ts +0 -111
- package/lib/adapters/scala/ScalaFileScanner.js +0 -434
- package/lib/adapters/sql/ISqlAdapterOptions.d.ts +0 -33
- package/lib/adapters/sql/ISqlDeclaration.d.ts +0 -67
- package/lib/adapters/sql/ISqlDocumentation.d.ts +0 -40
- package/lib/adapters/sql/ISqlDocumentationAttachment.d.ts +0 -18
- package/lib/adapters/sql/ISqlFileAnalysis.d.ts +0 -41
- package/lib/adapters/sql/ISqlPolicy.d.ts +0 -43
- package/lib/adapters/sql/SqlAdapter.d.ts +0 -123
- package/lib/adapters/sql/SqlAdapter.js +0 -658
- package/lib/adapters/sql/SqlDocumentation.d.ts +0 -16
- package/lib/adapters/sql/SqlDocumentation.js +0 -91
- package/lib/adapters/sql/SqlFileScanner.d.ts +0 -86
- package/lib/adapters/sql/SqlFileScanner.js +0 -299
- package/lib/adapters/sql/SqlPolicy.d.ts +0 -20
- package/lib/adapters/sql/SqlPolicy.js +0 -111
- package/lib/adapters/sqlite/SqliteFileScanner.d.ts +0 -83
- package/lib/adapters/sqlite/SqliteFileScanner.js +0 -285
- package/lib/adapters/sqlite/SqliteSyntax.d.ts +0 -26
- package/lib/adapters/sqlite/SqliteSyntax.js +0 -49
- package/lib/adapters/swagger/IRemoteSwaggerSource.d.ts +0 -19
- package/lib/adapters/swagger/ISwaggerCacheEntry.d.ts +0 -18
- package/lib/adapters/swagger/ISwaggerLoadResult.d.ts +0 -13
- package/lib/adapters/swagger/ISwaggerOperation.d.ts +0 -42
- package/lib/adapters/swagger/ISwaggerOperationLocation.d.ts +0 -21
- package/lib/adapters/swagger/IYamlScalarMapping.d.ts +0 -36
- package/lib/adapters/swagger/SwaggerDescription.d.ts +0 -18
- package/lib/adapters/swagger/SwaggerDescription.js +0 -62
- package/lib/adapters/swagger/SwaggerDocumentInput.d.ts +0 -8
- package/lib/adapters/swagger/SwaggerDocumentLoader.d.ts +0 -15
- package/lib/adapters/swagger/SwaggerDocumentLoader.js +0 -6962
- package/lib/adapters/swagger/SwaggerRemoteReader.d.ts +0 -26
- package/lib/adapters/swagger/SwaggerRemoteReader.js +0 -89
- package/lib/adapters/swagger/SwaggerTarget.d.ts +0 -14
- package/lib/adapters/swagger/SwaggerTarget.js +0 -29
- package/lib/adapters/swagger/YamlScalarMapper.d.ts +0 -11
- package/lib/adapters/swagger/YamlScalarMapper.js +0 -76
- package/lib/adapters/swift/ISwiftDeclaration.d.ts +0 -91
- package/lib/adapters/swift/ISwiftDocumentation.d.ts +0 -35
- package/lib/adapters/swift/ISwiftDocumentationAttachment.d.ts +0 -22
- package/lib/adapters/swift/ISwiftFileAnalysis.d.ts +0 -43
- package/lib/adapters/swift/SwiftAdapter.d.ts +0 -108
- package/lib/adapters/swift/SwiftAdapter.js +0 -666
- package/lib/adapters/swift/SwiftDocumentation.d.ts +0 -16
- package/lib/adapters/swift/SwiftDocumentation.js +0 -75
- package/lib/adapters/swift/SwiftFileScanner.d.ts +0 -87
- package/lib/adapters/swift/SwiftFileScanner.js +0 -341
- package/lib/adapters/swift/SwiftOwnership.d.ts +0 -16
- package/lib/adapters/swift/SwiftOwnership.js +0 -141
- package/lib/adapters/zig/IZigDeclaration.d.ts +0 -73
- package/lib/adapters/zig/IZigDocumentation.d.ts +0 -35
- package/lib/adapters/zig/IZigDocumentationAttachment.d.ts +0 -21
- package/lib/adapters/zig/IZigFileAnalysis.d.ts +0 -47
- package/lib/adapters/zig/ZigAdapter.d.ts +0 -114
- package/lib/adapters/zig/ZigAdapter.js +0 -647
- package/lib/adapters/zig/ZigDocumentation.d.ts +0 -18
- package/lib/adapters/zig/ZigDocumentation.js +0 -80
- package/lib/adapters/zig/ZigFileScanner.d.ts +0 -125
- package/lib/adapters/zig/ZigFileScanner.js +0 -538
- package/lib/internal/CanonicalJson.d.ts +0 -20
- package/lib/internal/CanonicalJson.js +0 -67
- package/lib/internal/ConfigDependencyScanner.d.ts +0 -40
- package/lib/internal/ConfigDependencyScanner.js +0 -330
- package/lib/internal/FileGlob.d.ts +0 -24
- package/lib/internal/FileGlob.js +0 -148
- package/lib/internal/IConfigDependencyScan.d.ts +0 -25
- package/lib/internal/IConfigPackageScope.d.ts +0 -16
- package/lib/internal/IEvaluateTypeScriptConfigOptions.d.ts +0 -16
- package/lib/internal/IFileGlobPattern.d.ts +0 -22
- package/lib/internal/IPackageManifest.d.ts +0 -16
- package/lib/internal/IPendingEvidenceTag.d.ts +0 -36
- package/lib/internal/ITreeSitterAssetLock.d.ts +0 -23
- package/lib/internal/ITreeSitterAssetOptions.d.ts +0 -51
- package/lib/internal/ITreeSitterAssetPending.d.ts +0 -29
- package/lib/internal/ITtsxExecutables.d.ts +0 -16
- package/lib/internal/ITtsxManifest.d.ts +0 -17
- package/lib/internal/InventoryMerge.d.ts +0 -53
- package/lib/internal/InventoryMerge.js +0 -317
- package/lib/internal/InventorySources.d.ts +0 -16
- package/lib/internal/InventorySources.js +0 -77
- package/lib/internal/ParserSlots.d.ts +0 -79
- package/lib/internal/ParserSlots.js +0 -113
- package/lib/internal/SourceCollector.d.ts +0 -62
- package/lib/internal/SourceCollector.js +0 -301
- package/lib/internal/SourceFailure.d.ts +0 -17
- package/lib/internal/SourceFailure.js +0 -23
- package/lib/internal/SourcePath.d.ts +0 -43
- package/lib/internal/SourcePath.js +0 -93
- package/lib/internal/SourceText.d.ts +0 -40
- package/lib/internal/SourceText.js +0 -81
- package/lib/internal/TreeSitterAssetCache.d.ts +0 -35
- package/lib/internal/TreeSitterAssetCache.js +0 -456
- package/lib/internal/TreeSitterAssetScope.d.ts +0 -23
- package/lib/internal/TreeSitterAssetScope.js +0 -40
- package/lib/internal/TreeSitterAssets.d.ts +0 -67
- package/lib/internal/TreeSitterAssets.js +0 -367
- package/lib/internal/TreeSitterRange.d.ts +0 -17
- package/lib/internal/TreeSitterRange.js +0 -33
- package/lib/internal/TreeSitterRuntime.d.ts +0 -17
- package/lib/internal/TreeSitterRuntime.js +0 -57
- package/lib/internal/WatchDependencySet.d.ts +0 -31
- package/lib/internal/WatchDependencySet.js +0 -59
- package/lib/internal/WatchDependencySnapshot.d.ts +0 -38
- package/lib/internal/WatchDependencySnapshot.js +0 -191
- /package/lib/adapters/c/{CDeclarationForm.js → EvidenceCDeclarationForm.js} +0 -0
- /package/lib/adapters/c/{CDeclaratorKind.js → EvidenceCDeclaratorKind.js} +0 -0
- /package/lib/adapters/c/{ICDeclaration.js → IEvidenceCDeclaration.js} +0 -0
- /package/lib/adapters/c/{ICDeclarationAddress.js → IEvidenceCDeclarationAddress.js} +0 -0
- /package/lib/adapters/c/{ICDeclarationGroup.js → IEvidenceCDeclarationGroup.js} +0 -0
- /package/lib/adapters/c/{ICDeclaratorShape.js → IEvidenceCDeclaratorShape.js} +0 -0
- /package/lib/adapters/c/{ICDocumentation.js → IEvidenceCDocumentation.js} +0 -0
- /package/lib/adapters/c/{ICDocumentationAttachment.js → IEvidenceCDocumentationAttachment.js} +0 -0
- /package/lib/adapters/c/{ICFileAnalysis.js → IEvidenceCFileAnalysis.js} +0 -0
- /package/lib/adapters/c/{ICTypeContext.js → IEvidenceCTypeContext.js} +0 -0
- /package/lib/adapters/cpp/{CppAccess.js → EvidenceCppAccess.js} +0 -0
- /package/lib/adapters/cpp/{CppAliasKind.js → EvidenceCppAliasKind.js} +0 -0
- /package/lib/adapters/cpp/{CppDeclarationForm.js → EvidenceCppDeclarationForm.js} +0 -0
- /package/lib/adapters/cpp/{CppDeclaratorKind.js → EvidenceCppDeclaratorKind.js} +0 -0
- /package/lib/adapters/cpp/{CppScopeKind.js → EvidenceCppScopeKind.js} +0 -0
- /package/lib/adapters/cpp/{CppVisibility.js → EvidenceCppVisibility.js} +0 -0
- /package/lib/adapters/cpp/{ICppAlias.js → IEvidenceCppAlias.js} +0 -0
- /package/lib/adapters/cpp/{ICppDeclaration.js → IEvidenceCppDeclaration.js} +0 -0
- /package/lib/adapters/cpp/{ICppDeclarationGroup.js → IEvidenceCppDeclarationGroup.js} +0 -0
- /package/lib/adapters/cpp/{ICppDeclaratorShape.js → IEvidenceCppDeclaratorShape.js} +0 -0
- /package/lib/adapters/cpp/{ICppDocumentation.js → IEvidenceCppDocumentation.js} +0 -0
- /package/lib/adapters/cpp/{ICppDocumentationAttachment.js → IEvidenceCppDocumentationAttachment.js} +0 -0
- /package/lib/adapters/cpp/{ICppFileAnalysis.js → IEvidenceCppFileAnalysis.js} +0 -0
- /package/lib/adapters/cpp/{ICppQualifiedName.js → IEvidenceCppQualifiedName.js} +0 -0
- /package/lib/adapters/cpp/{ICppResolvedAlias.js → IEvidenceCppResolvedAlias.js} +0 -0
- /package/lib/adapters/cpp/{ICppScopeContext.js → IEvidenceCppScopeContext.js} +0 -0
- /package/lib/adapters/csharp/{CSharpAccessibility.js → EvidenceCSharpAccessibility.js} +0 -0
- /package/lib/adapters/csharp/{CSharpDeclarationForm.js → EvidenceCSharpDeclarationForm.js} +0 -0
- /package/lib/adapters/csharp/{CSharpTypeKind.js → EvidenceCSharpTypeKind.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpDeclaration.js → IEvidenceCSharpDeclaration.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpDeclarationAddress.js → IEvidenceCSharpDeclarationAddress.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpDeclarationGroup.js → IEvidenceCSharpDeclarationGroup.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpDocumentation.js → IEvidenceCSharpDocumentation.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpDocumentationAttachment.js → IEvidenceCSharpDocumentationAttachment.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpFileAnalysis.js → IEvidenceCSharpFileAnalysis.js} +0 -0
- /package/lib/adapters/csharp/{ICSharpTypeContext.js → IEvidenceCSharpTypeContext.js} +0 -0
- /package/lib/adapters/dart/{IDartDeclaration.js → IEvidenceDartDeclaration.js} +0 -0
- /package/lib/adapters/dart/{IDartDirective.js → IEvidenceDartDirective.js} +0 -0
- /package/lib/adapters/dart/{IDartDocumentation.js → IEvidenceDartDocumentation.js} +0 -0
- /package/lib/adapters/dart/{IDartDocumentationAttachment.js → IEvidenceDartDocumentationAttachment.js} +0 -0
- /package/lib/adapters/dart/{IDartExportFilter.js → IEvidenceDartExportFilter.js} +0 -0
- /package/lib/adapters/dart/{IDartFileAnalysis.js → IEvidenceDartFileAnalysis.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlDeclaration.js → IEvidenceDbmlDeclaration.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlDocumentation.js → IEvidenceDbmlDocumentation.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlEndpoint.js → IEvidenceDbmlEndpoint.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlEnum.js → IEvidenceDbmlEnum.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlFileAnalysis.js → IEvidenceDbmlFileAnalysis.js} +0 -0
- /package/lib/adapters/dbml/{IDbmlRelation.js → IEvidenceDbmlRelation.js} +0 -0
- /package/lib/adapters/ecmascript/{EcmaScriptExportKind.js → EvidenceEcmaScriptExportKind.js} +0 -0
- /package/lib/adapters/ecmascript/{EcmaScriptModuleMode.js → EvidenceEcmaScriptModuleMode.js} +0 -0
- /package/lib/adapters/ecmascript/{EcmaScriptType.js → EvidenceEcmaScriptType.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptBinding.js → IEvidenceEcmaScriptBinding.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptComment.js → IEvidenceEcmaScriptComment.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptCommentAttachment.js → IEvidenceEcmaScriptCommentAttachment.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptExport.js → IEvidenceEcmaScriptExport.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptFileAnalysis.js → IEvidenceEcmaScriptFileAnalysis.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptHostPosition.js → IEvidenceEcmaScriptHostPosition.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptImport.js → IEvidenceEcmaScriptImport.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptModule.js → IEvidenceEcmaScriptModule.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptModuleResolution.js → IEvidenceEcmaScriptModuleResolution.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptOwnedUnit.js → IEvidenceEcmaScriptOwnedUnit.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptResolution.js → IEvidenceEcmaScriptResolution.js} +0 -0
- /package/lib/adapters/ecmascript/{IEcmaScriptStatementContext.js → IEvidenceEcmaScriptStatementContext.js} +0 -0
- /package/lib/adapters/ecmascript/{IJavaScriptPackageJson.js → IEvidenceJavaScriptPackageJson.js} +0 -0
- /package/lib/adapters/go/{GoDeclarationForm.js → EvidenceGoDeclarationForm.js} +0 -0
- /package/lib/adapters/go/{IGoDeclaration.js → IEvidenceGoDeclaration.js} +0 -0
- /package/lib/adapters/go/{IGoDocumentation.js → IEvidenceGoDocumentation.js} +0 -0
- /package/lib/adapters/go/{IGoDocumentationAttachment.js → IEvidenceGoDocumentationAttachment.js} +0 -0
- /package/lib/adapters/go/{IGoFileAnalysis.js → IEvidenceGoFileAnalysis.js} +0 -0
- /package/lib/adapters/go/{IGoMaterializedDeclaration.js → IEvidenceGoMaterializedDeclaration.js} +0 -0
- /package/lib/adapters/java/{IJavaDeclaration.js → EvidenceJavaDeclarationForm.js} +0 -0
- /package/lib/adapters/java/{IJavaDocumentation.js → EvidenceJavaTypeKind.js} +0 -0
- /package/lib/adapters/java/{IJavaDocumentationAttachment.js → IEvidenceJavaDeclaration.js} +0 -0
- /package/lib/adapters/java/{IJavaFileAnalysis.js → IEvidenceJavaDocumentation.js} +0 -0
- /package/lib/adapters/java/{IJavaTypeContext.js → IEvidenceJavaDocumentationAttachment.js} +0 -0
- /package/lib/adapters/java/{JavaDeclarationForm.js → IEvidenceJavaFileAnalysis.js} +0 -0
- /package/lib/adapters/java/{JavaTypeKind.js → IEvidenceJavaTypeContext.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinDeclaration.js → IEvidenceKotlinDeclaration.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinDocumentation.js → IEvidenceKotlinDocumentation.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinDocumentationAttachment.js → IEvidenceKotlinDocumentationAttachment.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinFileAnalysis.js → IEvidenceKotlinFileAnalysis.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinResolvedType.js → IEvidenceKotlinResolvedType.js} +0 -0
- /package/lib/adapters/kotlin/{IKotlinTypeReference.js → IEvidenceKotlinTypeReference.js} +0 -0
- /package/lib/adapters/lua/{ILuaDeclaration.js → IEvidenceLuaDeclaration.js} +0 -0
- /package/lib/adapters/lua/{ILuaDocumentation.js → IEvidenceLuaDocumentation.js} +0 -0
- /package/lib/adapters/lua/{ILuaDocumentationAttachment.js → IEvidenceLuaDocumentationAttachment.js} +0 -0
- /package/lib/adapters/lua/{ILuaFileAnalysis.js → IEvidenceLuaFileAnalysis.js} +0 -0
- /package/lib/adapters/lua/{ILuaValue.js → IEvidenceLuaValue.js} +0 -0
- /package/lib/adapters/markdown/{EvidenceMarkdownRenderedEdge.js → IEvidenceMarkdownComment.js} +0 -0
- /package/lib/adapters/markdown/{IMarkdownComment.js → IEvidenceMarkdownFence.js} +0 -0
- /package/lib/adapters/markdown/{IMarkdownFence.js → IEvidenceMarkdownHeading.js} +0 -0
- /package/lib/adapters/{markdown/IMarkdownHeading.js → matlab/IEvidenceMatlabDeclaration.js} +0 -0
- /package/lib/adapters/matlab/{IMatlabDeclaration.js → IEvidenceMatlabDocumentation.js} +0 -0
- /package/lib/adapters/matlab/{IMatlabDocumentation.js → IEvidenceMatlabDocumentationAttachment.js} +0 -0
- /package/lib/adapters/matlab/{IMatlabDocumentationAttachment.js → IEvidenceMatlabFileAnalysis.js} +0 -0
- /package/lib/adapters/{matlab/IMatlabFileAnalysis.js → objc/EvidenceObjcDeclarationForm.js} +0 -0
- /package/lib/adapters/objc/{IObjcDeclaration.js → IEvidenceObjcDeclaration.js} +0 -0
- /package/lib/adapters/objc/{IObjcDocumentation.js → IEvidenceObjcDocumentation.js} +0 -0
- /package/lib/adapters/objc/{IObjcDocumentationAttachment.js → IEvidenceObjcDocumentationAttachment.js} +0 -0
- /package/lib/adapters/objc/{IObjcFileAnalysis.js → IEvidenceObjcFileAnalysis.js} +0 -0
- /package/lib/adapters/{objc/ObjcDeclarationForm.js → php/IEvidencePhpDeclaration.js} +0 -0
- /package/lib/adapters/php/{IPhpDeclaration.js → IEvidencePhpDocumentation.js} +0 -0
- /package/lib/adapters/php/{IPhpDocumentation.js → IEvidencePhpDocumentationAttachment.js} +0 -0
- /package/lib/adapters/php/{IPhpDocumentationAttachment.js → IEvidencePhpFileAnalysis.js} +0 -0
- /package/lib/adapters/{php/IPhpFileAnalysis.js → postgresql/IEvidencePostgresqlFileAnalysis.js} +0 -0
- /package/lib/adapters/postgresql/{IPostgresqlFileAnalysis.js → IEvidencePostgresqlReference.js} +0 -0
- /package/lib/adapters/{postgresql/IPostgresqlReference.js → prisma/EvidencePrismaCommentForm.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaBlockHead.js → IEvidencePrismaBlockHead.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaCacheEntry.js → IEvidencePrismaCacheEntry.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaCommentRun.js → IEvidencePrismaCommentRun.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaDatamodel.js → IEvidencePrismaDatamodel.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaDatamodelField.js → IEvidencePrismaDatamodelField.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaDatamodelModel.js → IEvidencePrismaDatamodelModel.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaField.js → IEvidencePrismaField.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaFileAnalysis.js → IEvidencePrismaFileAnalysis.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaLineParts.js → IEvidencePrismaLineParts.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaLoadResult.js → IEvidencePrismaLoadResult.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaLocatedDeclaration.js → IEvidencePrismaLocatedDeclaration.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaLocation.js → IEvidencePrismaLocation.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaModel.js → IEvidencePrismaModel.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaOwnedUnit.js → IEvidencePrismaOwnedUnit.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaParser.js → IEvidencePrismaParser.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaPendingComment.js → IEvidencePrismaPendingComment.js} +0 -0
- /package/lib/adapters/prisma/{IPrismaSchemaFile.js → IEvidencePrismaSchemaFile.js} +0 -0
- /package/lib/adapters/prisma/{ITrimmedMapping.js → IEvidenceTrimmedMapping.js} +0 -0
- /package/lib/adapters/{prisma/PrismaCommentForm.js → python/EvidencePythonAllState.js} +0 -0
- /package/lib/adapters/python/{IPythonAll.js → EvidencePythonBindingKind.js} +0 -0
- /package/lib/adapters/python/{IPythonBinding.js → EvidencePythonResolutionMode.js} +0 -0
- /package/lib/adapters/python/{IPythonClassContext.js → IEvidencePythonAll.js} +0 -0
- /package/lib/adapters/python/{IPythonDocumentation.js → IEvidencePythonBinding.js} +0 -0
- /package/lib/adapters/python/{IPythonDocumentationAttachment.js → IEvidencePythonClassContext.js} +0 -0
- /package/lib/adapters/python/{IPythonFileAnalysis.js → IEvidencePythonDocumentation.js} +0 -0
- /package/lib/adapters/python/{IPythonHostPosition.js → IEvidencePythonDocumentationAttachment.js} +0 -0
- /package/lib/adapters/python/{IPythonModule.js → IEvidencePythonFileAnalysis.js} +0 -0
- /package/lib/adapters/python/{IPythonOwnedUnit.js → IEvidencePythonHostPosition.js} +0 -0
- /package/lib/adapters/python/{IPythonResolution.js → IEvidencePythonModule.js} +0 -0
- /package/lib/adapters/python/{IPythonResolvedBinding.js → IEvidencePythonOwnedUnit.js} +0 -0
- /package/lib/adapters/python/{PythonAllState.js → IEvidencePythonResolution.js} +0 -0
- /package/lib/adapters/python/{PythonBindingKind.js → IEvidencePythonResolvedBinding.js} +0 -0
- /package/lib/adapters/{python/PythonResolutionMode.js → ruby/EvidenceRubyAttributeMode.js} +0 -0
- /package/lib/adapters/ruby/{IRubyConstantPath.js → EvidenceRubyContainerKind.js} +0 -0
- /package/lib/adapters/ruby/{IRubyDeclaration.js → EvidenceRubyDeclarationForm.js} +0 -0
- /package/lib/adapters/ruby/{IRubyDocumentation.js → EvidenceRubyMethodSide.js} +0 -0
- /package/lib/adapters/ruby/{IRubyDocumentationAttachment.js → EvidenceRubyScopeKind.js} +0 -0
- /package/lib/adapters/ruby/{IRubyFileAnalysis.js → EvidenceRubyVisibility.js} +0 -0
- /package/lib/adapters/ruby/{IRubyScopeContext.js → IEvidenceRubyConstantPath.js} +0 -0
- /package/lib/adapters/ruby/{RubyAttributeMode.js → IEvidenceRubyDeclaration.js} +0 -0
- /package/lib/adapters/ruby/{RubyContainerKind.js → IEvidenceRubyDocumentation.js} +0 -0
- /package/lib/adapters/ruby/{RubyDeclarationForm.js → IEvidenceRubyDocumentationAttachment.js} +0 -0
- /package/lib/adapters/ruby/{RubyMethodSide.js → IEvidenceRubyFileAnalysis.js} +0 -0
- /package/lib/adapters/ruby/{RubyScopeKind.js → IEvidenceRubyScopeContext.js} +0 -0
- /package/lib/adapters/{ruby/RubyVisibility.js → rust/EvidenceRustDeclarationForm.js} +0 -0
- /package/lib/adapters/rust/{IRustDeclaration.js → EvidenceRustVisibility.js} +0 -0
- /package/lib/adapters/rust/{IRustDocumentation.js → IEvidenceRustDeclaration.js} +0 -0
- /package/lib/adapters/rust/{IRustDocumentationAttachment.js → IEvidenceRustDocumentation.js} +0 -0
- /package/lib/adapters/rust/{IRustExportRecord.js → IEvidenceRustDocumentationAttachment.js} +0 -0
- /package/lib/adapters/rust/{IRustExternalModule.js → IEvidenceRustExportRecord.js} +0 -0
- /package/lib/adapters/rust/{IRustFileAnalysis.js → IEvidenceRustExternalModule.js} +0 -0
- /package/lib/adapters/rust/{IRustFilePlacement.js → IEvidenceRustFileAnalysis.js} +0 -0
- /package/lib/adapters/rust/{IRustImplementation.js → IEvidenceRustFilePlacement.js} +0 -0
- /package/lib/adapters/rust/{IRustLocatedDeclaration.js → IEvidenceRustImplementation.js} +0 -0
- /package/lib/adapters/rust/{IRustModuleRecord.js → IEvidenceRustLocatedDeclaration.js} +0 -0
- /package/lib/adapters/rust/{IRustPublicOccurrence.js → IEvidenceRustModuleRecord.js} +0 -0
- /package/lib/adapters/rust/{IRustResolvedMember.js → IEvidenceRustPublicOccurrence.js} +0 -0
- /package/lib/adapters/rust/{IRustUse.js → IEvidenceRustResolvedMember.js} +0 -0
- /package/lib/adapters/rust/{IRustUseBinding.js → IEvidenceRustUse.js} +0 -0
- /package/lib/adapters/rust/{RustDeclarationForm.js → IEvidenceRustUseBinding.js} +0 -0
- /package/lib/adapters/{rust/RustVisibility.js → scala/IEvidenceScalaDeclaration.js} +0 -0
- /package/lib/adapters/scala/{IScalaDeclaration.js → IEvidenceScalaDocumentation.js} +0 -0
- /package/lib/adapters/scala/{IScalaDocumentation.js → IEvidenceScalaDocumentationAttachment.js} +0 -0
- /package/lib/adapters/scala/{IScalaDocumentationAttachment.js → IEvidenceScalaExport.js} +0 -0
- /package/lib/adapters/scala/{IScalaExport.js → IEvidenceScalaFileAnalysis.js} +0 -0
- /package/lib/adapters/{scala/IScalaFileAnalysis.js → sql/IEvidenceSqlAdapterOptions.js} +0 -0
- /package/lib/adapters/sql/{ISqlAdapterOptions.js → IEvidenceSqlDeclaration.js} +0 -0
- /package/lib/adapters/sql/{ISqlDeclaration.js → IEvidenceSqlDocumentation.js} +0 -0
- /package/lib/adapters/sql/{ISqlDocumentation.js → IEvidenceSqlDocumentationAttachment.js} +0 -0
- /package/lib/adapters/sql/{ISqlDocumentationAttachment.js → IEvidenceSqlFileAnalysis.js} +0 -0
- /package/lib/adapters/sql/{ISqlFileAnalysis.js → IEvidenceSqlPolicy.js} +0 -0
- /package/lib/adapters/{sql/ISqlPolicy.js → swagger/EvidenceSwaggerDocumentInput.js} +0 -0
- /package/lib/adapters/swagger/{IRemoteSwaggerSource.js → IEvidenceRemoteSwaggerSource.js} +0 -0
- /package/lib/adapters/swagger/{ISwaggerCacheEntry.js → IEvidenceSwaggerCacheEntry.js} +0 -0
- /package/lib/adapters/swagger/{ISwaggerLoadResult.js → IEvidenceSwaggerLoadResult.js} +0 -0
- /package/lib/adapters/swagger/{ISwaggerOperation.js → IEvidenceSwaggerOperation.js} +0 -0
- /package/lib/adapters/swagger/{ISwaggerOperationLocation.js → IEvidenceSwaggerOperationLocation.js} +0 -0
- /package/lib/adapters/swagger/{IYamlScalarMapping.js → IEvidenceYamlScalarMapping.js} +0 -0
- /package/lib/adapters/{swagger/SwaggerDocumentInput.js → swift/IEvidenceSwiftDeclaration.js} +0 -0
- /package/lib/adapters/swift/{ISwiftDeclaration.js → IEvidenceSwiftDocumentation.js} +0 -0
- /package/lib/adapters/swift/{ISwiftDocumentation.js → IEvidenceSwiftDocumentationAttachment.js} +0 -0
- /package/lib/adapters/swift/{ISwiftDocumentationAttachment.js → IEvidenceSwiftFileAnalysis.js} +0 -0
- /package/lib/adapters/{swift/ISwiftFileAnalysis.js → zig/IEvidenceZigDeclaration.js} +0 -0
- /package/lib/adapters/zig/{IZigDeclaration.js → IEvidenceZigDocumentation.js} +0 -0
- /package/lib/adapters/zig/{IZigDocumentation.js → IEvidenceZigDocumentationAttachment.js} +0 -0
- /package/lib/adapters/zig/{IZigDocumentationAttachment.js → IEvidenceZigFileAnalysis.js} +0 -0
- /package/lib/{adapters/zig/IZigFileAnalysis.js → internal/EvidenceConfigModuleMode.js} +0 -0
- /package/lib/internal/{IConfigDependencyScan.js → IEvidenceConfigDataModule.js} +0 -0
- /package/lib/internal/{IConfigPackageScope.js → IEvidenceConfigDependencyScan.js} +0 -0
- /package/lib/internal/{IEvaluateTypeScriptConfigOptions.js → IEvidenceConfigModuleSpecifier.js} +0 -0
- /package/lib/internal/{IFileGlobPattern.js → IEvidenceConfigPackageBoundary.js} +0 -0
- /package/lib/internal/{IPackageManifest.js → IEvidenceConfigPackageScope.js} +0 -0
- /package/lib/internal/{IPendingEvidenceTag.js → IEvidenceConfigResolutionManifest.js} +0 -0
- /package/lib/internal/{ITreeSitterAssetLock.js → IEvidenceEvaluateTypeScriptConfigOptions.js} +0 -0
- /package/lib/internal/{ITreeSitterAssetOptions.js → IEvidenceFileGlobPattern.js} +0 -0
- /package/lib/internal/{ITreeSitterAssetPending.js → IEvidencePackageManifest.js} +0 -0
- /package/lib/internal/{ITtsxExecutables.js → IEvidencePendingEvidenceTag.js} +0 -0
- /package/lib/internal/{ITtsxManifest.js → IEvidenceTreeSitterAssetLock.js} +0 -0
|
@@ -0,0 +1,1003 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvidenceRubyFileScanner = void 0;
|
|
4
|
+
const EvidenceDocumentation_1 = require("../../parsers/EvidenceDocumentation");
|
|
5
|
+
const EvidenceRubySyntax_1 = require("./EvidenceRubySyntax");
|
|
6
|
+
const EvidenceSourceText_1 = require("../../internal/EvidenceSourceText");
|
|
7
|
+
/**
|
|
8
|
+
* Extracts bounded Ruby declarations, visibility changes, and documentation
|
|
9
|
+
* carriers.
|
|
10
|
+
*
|
|
11
|
+
* The scanner follows Ruby's ordered class and module directives while
|
|
12
|
+
* retaining declaration records for later inventory assembly and documentation
|
|
13
|
+
* attachment.
|
|
14
|
+
*/
|
|
15
|
+
class EvidenceRubyFileScanner {
|
|
16
|
+
session;
|
|
17
|
+
source;
|
|
18
|
+
/**
|
|
19
|
+
* Collects declarations in source order for visibility and alias resolution.
|
|
20
|
+
*
|
|
21
|
+
* Ruby directives can alter only prior declarations, so this list preserves
|
|
22
|
+
* the order required to reject ambiguous or forward targets.
|
|
23
|
+
*/
|
|
24
|
+
declarations = [];
|
|
25
|
+
/**
|
|
26
|
+
* Stores recognized documentation carriers by their source-range identity.
|
|
27
|
+
*
|
|
28
|
+
* Attachments are accumulated while declarations are scanned and later become
|
|
29
|
+
* evidence documentation mappings.
|
|
30
|
+
*/
|
|
31
|
+
documentation = new Map();
|
|
32
|
+
/**
|
|
33
|
+
* Collects failures that make static Ruby surface extraction incomplete.
|
|
34
|
+
*
|
|
35
|
+
* The adapter emits these records instead of silently omitting dynamic forms.
|
|
36
|
+
*/
|
|
37
|
+
diagnostics = [];
|
|
38
|
+
/**
|
|
39
|
+
* Deduplicates diagnostics encountered through overlapping syntax traversals.
|
|
40
|
+
*
|
|
41
|
+
* One unsupported directive should retain one actionable source location.
|
|
42
|
+
*/
|
|
43
|
+
reported = new Set();
|
|
44
|
+
/**
|
|
45
|
+
* Remembers explicit constant visibility by lexical identity.
|
|
46
|
+
*
|
|
47
|
+
* Later declarations of the same constant inherit the most recent supported
|
|
48
|
+
* visibility directive in their selected source context.
|
|
49
|
+
*/
|
|
50
|
+
constantVisibility = new Map();
|
|
51
|
+
/**
|
|
52
|
+
* Converts parser offsets to source ranges that survive parser cleanup.
|
|
53
|
+
*
|
|
54
|
+
* Declaration sites and attached documentation both use this one source view.
|
|
55
|
+
*/
|
|
56
|
+
text;
|
|
57
|
+
/**
|
|
58
|
+
* States whether all surface-affecting Ruby constructs were classified.
|
|
59
|
+
*
|
|
60
|
+
* Unsupported dynamic behavior marks the file incomplete to protect coverage
|
|
61
|
+
* from a falsely reduced public population.
|
|
62
|
+
*/
|
|
63
|
+
complete = true;
|
|
64
|
+
/**
|
|
65
|
+
* Supplies unique declaration-record suffixes within this source file.
|
|
66
|
+
*
|
|
67
|
+
* Synthetic aliases and module-function copies require identities distinct
|
|
68
|
+
* from the source declaration they derive from.
|
|
69
|
+
*/
|
|
70
|
+
serial = 0;
|
|
71
|
+
/**
|
|
72
|
+
* Binds this scanner to the current parser session and selected Ruby source.
|
|
73
|
+
*
|
|
74
|
+
* Documentation is collected before declarations so adjacent comments are
|
|
75
|
+
* available when a site is emitted.
|
|
76
|
+
*/
|
|
77
|
+
constructor(session, source) {
|
|
78
|
+
this.session = session;
|
|
79
|
+
this.source = source;
|
|
80
|
+
this.text = new EvidenceSourceText_1.EvidenceSourceText(source.content);
|
|
81
|
+
this.collectDocumentation();
|
|
82
|
+
this.collectLiteralAnnotations();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Produces the serializable extraction result for one Ruby source file.
|
|
86
|
+
*
|
|
87
|
+
* The root body is traversed with top-level scope state after documentation
|
|
88
|
+
* collection, preserving ordered visibility and attachment behavior.
|
|
89
|
+
*/
|
|
90
|
+
scan() {
|
|
91
|
+
const root = {
|
|
92
|
+
kind: "top",
|
|
93
|
+
identity: [],
|
|
94
|
+
side: "instance",
|
|
95
|
+
visibility: "private",
|
|
96
|
+
moduleFunction: false,
|
|
97
|
+
};
|
|
98
|
+
this.scanBody(this.session.root, root);
|
|
99
|
+
return {
|
|
100
|
+
source: this.source,
|
|
101
|
+
declarations: this.declarations,
|
|
102
|
+
documentation: Array.from(this.documentation.values()),
|
|
103
|
+
diagnostics: this.diagnostics,
|
|
104
|
+
complete: this.complete,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Scans statements in one Ruby lexical body.
|
|
109
|
+
*
|
|
110
|
+
* Context carries ordered visibility and owner state into each statement.
|
|
111
|
+
*/
|
|
112
|
+
scanBody(body, context) {
|
|
113
|
+
for (const statement of body.namedChildren)
|
|
114
|
+
this.scanStatement(statement, context);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Dispatches one statement to the supported Ruby surface classifier.
|
|
118
|
+
*
|
|
119
|
+
* Unrecognized nested surface changes are preserved as incomplete
|
|
120
|
+
* diagnostics.
|
|
121
|
+
*/
|
|
122
|
+
scanStatement(statement, context) {
|
|
123
|
+
switch (statement.type) {
|
|
124
|
+
case "comment":
|
|
125
|
+
case "heredoc_body":
|
|
126
|
+
case "empty_statement":
|
|
127
|
+
return;
|
|
128
|
+
case "class":
|
|
129
|
+
this.scanContainer(statement, context, "class");
|
|
130
|
+
return;
|
|
131
|
+
case "module":
|
|
132
|
+
this.scanContainer(statement, context, "module");
|
|
133
|
+
return;
|
|
134
|
+
case "singleton_class":
|
|
135
|
+
this.scanSingletonClass(statement, context);
|
|
136
|
+
return;
|
|
137
|
+
case "method":
|
|
138
|
+
this.scanMethod(statement, statement, context);
|
|
139
|
+
return;
|
|
140
|
+
case "singleton_method":
|
|
141
|
+
this.scanSingletonMethod(statement, statement, context);
|
|
142
|
+
return;
|
|
143
|
+
case "assignment":
|
|
144
|
+
this.scanAssignment(statement, context);
|
|
145
|
+
return;
|
|
146
|
+
case "alias":
|
|
147
|
+
this.scanAlias(statement, statement, context);
|
|
148
|
+
return;
|
|
149
|
+
case "undef":
|
|
150
|
+
if (context.kind !== "top")
|
|
151
|
+
this.problem("ruby-method-removal", "Ruby undef removes methods from the selected declared surface.", "Replace the removal with an explicit final declaration or add load-order-aware analysis.", statement);
|
|
152
|
+
return;
|
|
153
|
+
case "identifier":
|
|
154
|
+
this.scanBareDirective(statement, context);
|
|
155
|
+
return;
|
|
156
|
+
case "call":
|
|
157
|
+
this.scanCall(statement, context);
|
|
158
|
+
return;
|
|
159
|
+
default:
|
|
160
|
+
if (this.containsSurfaceChange(statement))
|
|
161
|
+
this.problem("ruby-conditional-surface", `Ruby '${statement.type}' conditionally changes the selected public surface.`, "Move declarations and public-surface macros into an unconditional class or module body, or add control-flow analysis.", statement);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Extracts a class or module and traverses its owned lexical body.
|
|
166
|
+
*
|
|
167
|
+
* Owner identity and visibility state are derived before child declarations.
|
|
168
|
+
*/
|
|
169
|
+
scanContainer(statement, context, kind) {
|
|
170
|
+
if (context.kind === "singleton") {
|
|
171
|
+
this.problem("ruby-singleton-constant", "A class or module declaration inside a singleton class has unsupported constant ownership.", "Declare the constant in an ordinary class or module body.", statement);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const path = EvidenceRubySyntax_1.EvidenceRubySyntax.constantPath(statement.childForFieldName("name"));
|
|
175
|
+
if (path === undefined) {
|
|
176
|
+
this.problem("ruby-container-name", `A Ruby ${kind} has no statically readable constant path.`, "Use a named constant or constant path for the declaration.", statement);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const identity = this.resolvePath(path, context);
|
|
180
|
+
const visibility = this.constantVisibility.get(this.identityKey(identity)) ?? "public";
|
|
181
|
+
this.addDeclaration(statement, statement, "type", kind, identity.at(-1) ?? "", identity.at(-1) ?? "", identity, identity, visibility, true, identity.slice(0, -1), [this.session.range(statement)], undefined, undefined, kind, kind === "class" ? EvidenceRubySyntax_1.EvidenceRubySyntax.superclass(statement) : undefined);
|
|
182
|
+
const body = statement.childForFieldName("body");
|
|
183
|
+
if (body === null)
|
|
184
|
+
return;
|
|
185
|
+
const nested = {
|
|
186
|
+
kind,
|
|
187
|
+
identity,
|
|
188
|
+
side: "instance",
|
|
189
|
+
visibility: "public",
|
|
190
|
+
moduleFunction: false,
|
|
191
|
+
containerKind: kind,
|
|
192
|
+
};
|
|
193
|
+
this.scanBody(body, nested);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Extracts a singleton-class scope with singleton member ownership.
|
|
197
|
+
*
|
|
198
|
+
* Unsupported singleton owners are reported because their address is dynamic.
|
|
199
|
+
*/
|
|
200
|
+
scanSingletonClass(statement, context) {
|
|
201
|
+
if (context.kind === "singleton") {
|
|
202
|
+
this.problem("ruby-nested-singleton", "A singleton class opened from another singleton class targets an unsupported eigenclass level.", "Declare class or module singleton methods directly with def self.name.", statement);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const value = statement.childForFieldName("value");
|
|
206
|
+
const identity = value?.type === "self" && context.kind !== "top"
|
|
207
|
+
? context.identity
|
|
208
|
+
: this.resolveOptionalPath(EvidenceRubySyntax_1.EvidenceRubySyntax.constantPath(value), context);
|
|
209
|
+
if (identity === undefined || identity.length === 0) {
|
|
210
|
+
if (this.containsSurfaceChange(statement))
|
|
211
|
+
this.problem("ruby-singleton-owner", "A singleton class with public declarations has no statically selected constant owner.", "Open class << self inside a supported class or module, or use a literal constant path.", statement);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const body = statement.childForFieldName("body");
|
|
215
|
+
if (body === null)
|
|
216
|
+
return;
|
|
217
|
+
const singleton = {
|
|
218
|
+
kind: "singleton",
|
|
219
|
+
identity,
|
|
220
|
+
side: "singleton",
|
|
221
|
+
visibility: "public",
|
|
222
|
+
moduleFunction: false,
|
|
223
|
+
...(context.containerKind === undefined
|
|
224
|
+
? {}
|
|
225
|
+
: { containerKind: context.containerKind }),
|
|
226
|
+
};
|
|
227
|
+
this.scanBody(body, singleton);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Extracts an instance method under the current Ruby scope.
|
|
231
|
+
*
|
|
232
|
+
* Scope visibility and module-function state determine its published form.
|
|
233
|
+
*/
|
|
234
|
+
scanMethod(method, wrapper, context, forcedVisibility, forcedModuleFunction = false) {
|
|
235
|
+
if (context.kind === "top")
|
|
236
|
+
return;
|
|
237
|
+
const name = EvidenceRubySyntax_1.EvidenceRubySyntax.methodName(method.childForFieldName("name"));
|
|
238
|
+
if (name === undefined) {
|
|
239
|
+
this.problem("ruby-method-name", "A Ruby method has no statically readable name.", "Use an identifier, setter, or operator method name.", method);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
const moduleFunction = context.kind === "module" &&
|
|
243
|
+
context.side === "instance" &&
|
|
244
|
+
(forcedModuleFunction || context.moduleFunction);
|
|
245
|
+
const visibility = moduleFunction
|
|
246
|
+
? "private"
|
|
247
|
+
: (forcedVisibility ??
|
|
248
|
+
(name === "initialize" ? "private" : context.visibility));
|
|
249
|
+
const declaration = this.addMethod(method, wrapper, context, name, visibility, context.side === "singleton" ? "singleton-method" : "method");
|
|
250
|
+
if (moduleFunction)
|
|
251
|
+
this.cloneModuleFunction(declaration);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Extracts a statically named singleton method.
|
|
255
|
+
*
|
|
256
|
+
* The receiver must resolve to the current selected owner.
|
|
257
|
+
*/
|
|
258
|
+
scanSingletonMethod(method, wrapper, context, forcedVisibility) {
|
|
259
|
+
if (context.kind === "singleton") {
|
|
260
|
+
this.problem("ruby-nested-singleton", "def self.name inside a singleton class targets an unsupported eigenclass level.", "Use an ordinary def name inside class << self.", method);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const object = method.childForFieldName("object");
|
|
264
|
+
const identity = object?.type === "self" && context.kind !== "top"
|
|
265
|
+
? context.identity
|
|
266
|
+
: this.resolveOptionalPath(EvidenceRubySyntax_1.EvidenceRubySyntax.constantPath(object), context);
|
|
267
|
+
if (identity === undefined || identity.length === 0) {
|
|
268
|
+
if (context.kind !== "top" || object?.type !== "self")
|
|
269
|
+
this.problem("ruby-singleton-owner", "A singleton method has no statically selected class or module owner.", "Use def self.name inside a supported class or module, or use a literal constant path.", method);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const name = EvidenceRubySyntax_1.EvidenceRubySyntax.methodName(method.childForFieldName("name"));
|
|
273
|
+
if (name === undefined) {
|
|
274
|
+
this.problem("ruby-method-name", "A Ruby singleton method has no statically readable name.", "Use an identifier, setter, or operator method name.", method);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
const owner = {
|
|
278
|
+
kind: "singleton",
|
|
279
|
+
identity,
|
|
280
|
+
side: "singleton",
|
|
281
|
+
visibility: forcedVisibility ?? "public",
|
|
282
|
+
moduleFunction: false,
|
|
283
|
+
...(context.containerKind === undefined
|
|
284
|
+
? {}
|
|
285
|
+
: { containerKind: context.containerKind }),
|
|
286
|
+
};
|
|
287
|
+
this.addMethod(method, wrapper, owner, name, forcedVisibility ?? "public", "singleton-method");
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Adds a method declaration with its semantic and runtime names.
|
|
291
|
+
*
|
|
292
|
+
* The method centralizes site construction for ordinary and synthetic forms.
|
|
293
|
+
*/
|
|
294
|
+
addMethod(method, wrapper, context, name, visibility, form) {
|
|
295
|
+
const address = this.memberAddress(context.identity, context.side, name);
|
|
296
|
+
return this.addDeclaration(method, wrapper, "function", form, name, name, address, address, visibility, true, context.identity, [this.session.range(method)], context.side, undefined, context.containerKind);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Extracts supported constant assignments from the current scope.
|
|
300
|
+
*
|
|
301
|
+
* Dynamic targets are failures because they cannot supply stable addresses.
|
|
302
|
+
*/
|
|
303
|
+
scanAssignment(statement, context) {
|
|
304
|
+
const left = statement.childForFieldName("left");
|
|
305
|
+
const path = EvidenceRubySyntax_1.EvidenceRubySyntax.constantPath(left);
|
|
306
|
+
if (path === undefined) {
|
|
307
|
+
if (left !== null &&
|
|
308
|
+
left.descendantsOfType("constant").length !== 0 &&
|
|
309
|
+
context.kind !== "singleton")
|
|
310
|
+
this.problem("ruby-constant-assignment", "A compound Ruby assignment contains constants that cannot be separated safely.", "Declare each public constant with one direct assignment.", statement);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
if (context.kind === "singleton") {
|
|
314
|
+
this.problem("ruby-singleton-constant", "A constant assignment inside a singleton class has unsupported ownership.", "Declare the constant in an ordinary class or module body.", statement);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const identity = this.resolvePath(path, context);
|
|
318
|
+
const visibility = this.constantVisibility.get(this.identityKey(identity)) ?? "public";
|
|
319
|
+
this.addDeclaration(statement, statement, "property", "constant", identity.at(-1) ?? "", identity.at(-1) ?? "", identity, identity, visibility, true, identity.slice(0, -1), [this.session.range(statement)], undefined, undefined, context.containerKind);
|
|
320
|
+
if (EvidenceRubySyntax_1.EvidenceRubySyntax.generatedConstant(statement.childForFieldName("right")))
|
|
321
|
+
this.problem("ruby-generated-constant", `Ruby constant '${identity.join("::")}' receives a runtime-generated class or module.`, "Use an explicit class or module declaration, or add generator-aware analysis for its members.", statement);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Dispatches a Ruby call that may alter the declared surface.
|
|
325
|
+
*
|
|
326
|
+
* Only known static directives are interpreted; the rest preserve boundaries.
|
|
327
|
+
*/
|
|
328
|
+
scanCall(call, context) {
|
|
329
|
+
const name = EvidenceRubySyntax_1.EvidenceRubySyntax.callName(call);
|
|
330
|
+
if (name === undefined)
|
|
331
|
+
return;
|
|
332
|
+
if (!EvidenceRubySyntax_1.EvidenceRubySyntax.hasReceiver(call)) {
|
|
333
|
+
if (name === "public" || name === "private" || name === "protected") {
|
|
334
|
+
this.scanVisibilityCall(call, context, name);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
if (name === "public_class_method" || name === "private_class_method") {
|
|
338
|
+
this.scanClassVisibilityCall(call, context, name === "public_class_method" ? "public" : "private");
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
if (name === "public_constant" || name === "private_constant") {
|
|
342
|
+
this.scanConstantVisibilityCall(call, context, name === "public_constant" ? "public" : "private");
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
if (name === "attr_reader" ||
|
|
346
|
+
name === "attr_writer" ||
|
|
347
|
+
name === "attr_accessor") {
|
|
348
|
+
this.scanAttribute(call, call, context);
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
if (name === "alias_method") {
|
|
352
|
+
this.scanAliasCall(call, context);
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
if (name === "module_function") {
|
|
356
|
+
this.scanModuleFunction(call, context);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
if (this.surfaceCall(name))
|
|
361
|
+
this.problem("ruby-dynamic-surface", `Ruby call '${name}' can change the public surface without a statically complete declaration.`, "Replace it with explicit declarations or add a bounded adapter rule for this metaprogramming form.", call);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Handles a directive written without an explicit receiver.
|
|
365
|
+
*
|
|
366
|
+
* Such calls inherit the current lexical scope and visibility state.
|
|
367
|
+
*/
|
|
368
|
+
scanBareDirective(statement, context) {
|
|
369
|
+
const name = statement.text;
|
|
370
|
+
if (name === "public" || name === "private" || name === "protected") {
|
|
371
|
+
context.visibility = name;
|
|
372
|
+
context.moduleFunction = false;
|
|
373
|
+
}
|
|
374
|
+
else if (name === "module_function") {
|
|
375
|
+
if (context.kind !== "module" || context.side !== "instance")
|
|
376
|
+
this.problem("ruby-module-function-owner", "module_function is only supported in an ordinary module body.", "Move the directive into a module or declare singleton methods explicitly.", statement);
|
|
377
|
+
else {
|
|
378
|
+
context.visibility = "private";
|
|
379
|
+
context.moduleFunction = true;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Applies a supported method-visibility directive in the current scope.
|
|
385
|
+
*
|
|
386
|
+
* Literal targets update prior selected declarations in Ruby source order.
|
|
387
|
+
*/
|
|
388
|
+
scanVisibilityCall(call, context, visibility) {
|
|
389
|
+
const arguments_ = EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call);
|
|
390
|
+
const wrapped = arguments_[0];
|
|
391
|
+
if (arguments_.length === 1 && wrapped !== undefined) {
|
|
392
|
+
if (wrapped.type === "method") {
|
|
393
|
+
this.scanMethod(wrapped, call, context, visibility);
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
if (wrapped.type === "singleton_method") {
|
|
397
|
+
this.scanSingletonMethod(wrapped, call, context);
|
|
398
|
+
const name = EvidenceRubySyntax_1.EvidenceRubySyntax.methodName(wrapped.childForFieldName("name"));
|
|
399
|
+
if (name !== undefined)
|
|
400
|
+
this.changeMethodVisibility(context.identity, context.kind === "singleton" ? "singleton" : "instance", name, visibility, call);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
if (wrapped.type === "call" &&
|
|
404
|
+
["attr_reader", "attr_writer", "attr_accessor"].includes(EvidenceRubySyntax_1.EvidenceRubySyntax.callName(wrapped) ?? "")) {
|
|
405
|
+
this.scanAttribute(wrapped, call, context, visibility);
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
if (arguments_.length === 0) {
|
|
410
|
+
context.visibility = visibility;
|
|
411
|
+
context.moduleFunction = false;
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
const names = EvidenceRubySyntax_1.EvidenceRubySyntax.literalNames(arguments_);
|
|
415
|
+
if (names === undefined || names.length === 0) {
|
|
416
|
+
this.dynamicDirective(call, "method visibility");
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
const side = context.kind === "singleton" ? "singleton" : "instance";
|
|
420
|
+
for (const name of names)
|
|
421
|
+
this.changeMethodVisibility(context.identity, side, name, visibility, call);
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Applies a class-method visibility directive to singleton members.
|
|
425
|
+
*
|
|
426
|
+
* Dynamic names are rejected because the selected member cannot be
|
|
427
|
+
* identified.
|
|
428
|
+
*/
|
|
429
|
+
scanClassVisibilityCall(call, context, visibility) {
|
|
430
|
+
if (context.kind !== "class" && context.kind !== "module") {
|
|
431
|
+
this.problem("ruby-class-visibility-owner", "Class-method visibility is only supported in an ordinary class or module body.", "Use private or public inside class << self, or move the directive into the owning class or module body.", call);
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
const arguments_ = EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call);
|
|
435
|
+
const wrapped = arguments_[0];
|
|
436
|
+
if (arguments_.length === 1 && wrapped?.type === "singleton_method") {
|
|
437
|
+
this.scanSingletonMethod(wrapped, call, context, visibility);
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
const names = EvidenceRubySyntax_1.EvidenceRubySyntax.literalNames(arguments_);
|
|
441
|
+
if (names === undefined || names.length === 0) {
|
|
442
|
+
this.dynamicDirective(call, "class-method visibility");
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
for (const name of names)
|
|
446
|
+
this.changeMethodVisibility(context.identity, "singleton", name, visibility, call);
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Applies a constant-visibility directive to selected constants.
|
|
450
|
+
*
|
|
451
|
+
* Visibility is retained for both prior records and later same-name
|
|
452
|
+
* declarations.
|
|
453
|
+
*/
|
|
454
|
+
scanConstantVisibilityCall(call, context, visibility) {
|
|
455
|
+
if (context.kind === "singleton") {
|
|
456
|
+
this.dynamicDirective(call, "constant visibility");
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
const names = EvidenceRubySyntax_1.EvidenceRubySyntax.literalNames(EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call));
|
|
460
|
+
if (names === undefined ||
|
|
461
|
+
names.length === 0 ||
|
|
462
|
+
names.some((name) => !/^[A-Z][A-Za-z0-9_]*$/u.test(name))) {
|
|
463
|
+
this.dynamicDirective(call, "constant visibility");
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
for (const name of names)
|
|
467
|
+
this.changeConstantVisibility([...context.identity, name], visibility, call);
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* Expands a static Ruby attribute directive into property declarations.
|
|
471
|
+
*
|
|
472
|
+
* Reader and writer modes retain their runtime spelling and scope visibility;
|
|
473
|
+
* dynamic attribute names leave the scan incomplete.
|
|
474
|
+
*/
|
|
475
|
+
scanAttribute(call, wrapper, context, forcedVisibility) {
|
|
476
|
+
if (context.kind === "top")
|
|
477
|
+
return;
|
|
478
|
+
const callName = EvidenceRubySyntax_1.EvidenceRubySyntax.callName(call);
|
|
479
|
+
if (callName !== "attr_reader" &&
|
|
480
|
+
callName !== "attr_writer" &&
|
|
481
|
+
callName !== "attr_accessor")
|
|
482
|
+
return;
|
|
483
|
+
const arguments_ = EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call);
|
|
484
|
+
const names = arguments_.map((argument) => EvidenceRubySyntax_1.EvidenceRubySyntax.literalName(argument));
|
|
485
|
+
if (names.length === 0 ||
|
|
486
|
+
names.some((name) => name === undefined || name.length === 0)) {
|
|
487
|
+
this.problem("ruby-dynamic-attribute", `Ruby ${callName} contains a nonliteral attribute name.`, "Use literal symbol or string names in attr_reader, attr_writer, or attr_accessor.", call);
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (context.kind === "module" && context.moduleFunction)
|
|
491
|
+
this.problem("ruby-module-function-attribute", "An attribute declaration under module_function mode has unsupported copy semantics.", "Declare explicit instance and singleton accessors, or reset visibility before the attribute declaration.", call);
|
|
492
|
+
const visibility = forcedVisibility ?? context.visibility;
|
|
493
|
+
const modes = callName === "attr_reader"
|
|
494
|
+
? ["read"]
|
|
495
|
+
: callName === "attr_writer"
|
|
496
|
+
? ["write"]
|
|
497
|
+
: ["read", "write"];
|
|
498
|
+
const method = call.childForFieldName("method");
|
|
499
|
+
for (let index = 0; index < arguments_.length; ++index) {
|
|
500
|
+
const argument = arguments_[index];
|
|
501
|
+
const name = names[index];
|
|
502
|
+
if (argument === undefined || name === undefined)
|
|
503
|
+
continue;
|
|
504
|
+
for (const mode of modes) {
|
|
505
|
+
const runtimeName = mode === "write" ? `${name}=` : name;
|
|
506
|
+
const address = this.memberAddress(context.identity, context.side, name);
|
|
507
|
+
this.addDeclaration(argument, wrapper, "property", "attribute", name, runtimeName, address, address, visibility, true, context.identity, [
|
|
508
|
+
...(method === null ? [] : [this.session.range(method)]),
|
|
509
|
+
this.session.range(argument),
|
|
510
|
+
], context.side, mode, context.containerKind);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Resolves an `alias` statement against a preceding selected method.
|
|
516
|
+
*
|
|
517
|
+
* Ruby alias names must be literal so the new public address is stable.
|
|
518
|
+
*/
|
|
519
|
+
scanAlias(statement, wrapper, context) {
|
|
520
|
+
if (context.kind === "top")
|
|
521
|
+
return;
|
|
522
|
+
const name = EvidenceRubySyntax_1.EvidenceRubySyntax.methodName(statement.childForFieldName("name"));
|
|
523
|
+
const target = EvidenceRubySyntax_1.EvidenceRubySyntax.methodName(statement.childForFieldName("alias"));
|
|
524
|
+
if (name === undefined || target === undefined) {
|
|
525
|
+
this.problem("ruby-alias-name", "A Ruby alias has a name that cannot be resolved statically.", "Use literal method names in the alias statement.", statement);
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
528
|
+
this.addAlias(statement, wrapper, context, name, target);
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Resolves an `alias_method` call with two literal method names.
|
|
532
|
+
*
|
|
533
|
+
* It delegates to the common alias path after enforcing static argument
|
|
534
|
+
* count.
|
|
535
|
+
*/
|
|
536
|
+
scanAliasCall(call, context) {
|
|
537
|
+
if (context.kind === "top")
|
|
538
|
+
return;
|
|
539
|
+
const names = EvidenceRubySyntax_1.EvidenceRubySyntax.literalNames(EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call));
|
|
540
|
+
if (names?.length !== 2) {
|
|
541
|
+
this.problem("ruby-alias-name", "alias_method requires two statically readable method names.", "Use two literal symbol or string method names.", call);
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
const name = names[0];
|
|
545
|
+
const target = names[1];
|
|
546
|
+
if (name !== undefined && target !== undefined)
|
|
547
|
+
this.addAlias(call, call, context, name, target);
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Adds an alias declaration after finding exactly one prior function target.
|
|
551
|
+
*
|
|
552
|
+
* Ambiguity is rejected because Ruby load order cannot be inferred beyond the
|
|
553
|
+
* selected file's ordered declaration records.
|
|
554
|
+
*/
|
|
555
|
+
addAlias(statement, wrapper, context, name, targetName) {
|
|
556
|
+
const candidates = this.methodDeclarations(context.identity, context.side, targetName).filter((declaration) => declaration.symbol === "function");
|
|
557
|
+
if (candidates.length !== 1) {
|
|
558
|
+
this.problem("ruby-alias-target", `Ruby alias '${name}' cannot identify one selected prior method '${targetName}'.`, "Define the target method once earlier in the same selected file before aliasing it.", statement);
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
const target = candidates[0];
|
|
562
|
+
if (target === undefined)
|
|
563
|
+
return;
|
|
564
|
+
const address = this.memberAddress(context.identity, context.side, name);
|
|
565
|
+
this.addDeclaration(statement, wrapper, "function", "alias", name, name, address, address, target.visibility, true, context.identity, [this.session.range(statement)], context.side, undefined, context.containerKind);
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Applies supported `module_function` forms to instance methods.
|
|
569
|
+
*
|
|
570
|
+
* The directive privatizes the source method and creates a public singleton
|
|
571
|
+
* copy only when its target can be identified statically.
|
|
572
|
+
*/
|
|
573
|
+
scanModuleFunction(call, context) {
|
|
574
|
+
if (context.kind !== "module" || context.side !== "instance") {
|
|
575
|
+
this.problem("ruby-module-function-owner", "module_function is only supported in an ordinary module body.", "Move the directive into a module or declare singleton methods explicitly.", call);
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
const arguments_ = EvidenceRubySyntax_1.EvidenceRubySyntax.callArguments(call);
|
|
579
|
+
const wrapped = arguments_[0];
|
|
580
|
+
if (arguments_.length === 1 && wrapped?.type === "method") {
|
|
581
|
+
this.scanMethod(wrapped, call, context, "private", true);
|
|
582
|
+
return;
|
|
583
|
+
}
|
|
584
|
+
if (arguments_.length === 0) {
|
|
585
|
+
context.visibility = "private";
|
|
586
|
+
context.moduleFunction = true;
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
const names = EvidenceRubySyntax_1.EvidenceRubySyntax.literalNames(arguments_);
|
|
590
|
+
if (names === undefined || names.length === 0) {
|
|
591
|
+
this.dynamicDirective(call, "module_function");
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
for (const name of names) {
|
|
595
|
+
const candidates = this.methodDeclarations(context.identity, "instance", name).filter((declaration) => declaration.symbol === "function");
|
|
596
|
+
if (candidates.length !== 1) {
|
|
597
|
+
this.problem("ruby-module-function-target", `module_function cannot identify one selected prior method '${name}'.`, "Define the method once earlier in the same selected file or use an explicit singleton method.", call);
|
|
598
|
+
continue;
|
|
599
|
+
}
|
|
600
|
+
const target = candidates[0];
|
|
601
|
+
if (target === undefined)
|
|
602
|
+
continue;
|
|
603
|
+
target.visibility = "private";
|
|
604
|
+
this.cloneModuleFunction(target);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Creates the public singleton copy required by `module_function`.
|
|
609
|
+
*
|
|
610
|
+
* Documentation attachments are copied to the new declaration site relation
|
|
611
|
+
* so both Ruby entry points retain the source evidence mapping.
|
|
612
|
+
*/
|
|
613
|
+
cloneModuleFunction(target) {
|
|
614
|
+
const address = this.memberAddress(target.ownerIdentity ?? [], "singleton", target.runtimeName);
|
|
615
|
+
const clone = {
|
|
616
|
+
...target,
|
|
617
|
+
id: `ruby:${this.source.id}:declaration:${this.serial++}:module-function`,
|
|
618
|
+
form: "module-function",
|
|
619
|
+
identity: address,
|
|
620
|
+
address,
|
|
621
|
+
visibility: "public",
|
|
622
|
+
side: "singleton",
|
|
623
|
+
site: structuredClone(target.site),
|
|
624
|
+
};
|
|
625
|
+
this.declarations.push(clone);
|
|
626
|
+
for (const documentation of this.documentation.values())
|
|
627
|
+
for (const attachment of documentation.attachments.filter((candidate) => candidate.declarationId === target.id))
|
|
628
|
+
documentation.attachments.push({
|
|
629
|
+
declarationId: clone.id,
|
|
630
|
+
siteId: attachment.siteId,
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Changes visibility on matching prior method declarations.
|
|
635
|
+
*
|
|
636
|
+
* Missing targets are errors because a directive must not silently alter an
|
|
637
|
+
* unknown population member.
|
|
638
|
+
*/
|
|
639
|
+
changeMethodVisibility(ownerIdentity, side, name, visibility, call) {
|
|
640
|
+
const candidates = this.methodDeclarations(ownerIdentity, side, name);
|
|
641
|
+
if (candidates.length === 0) {
|
|
642
|
+
this.problem("ruby-visibility-target", `Ruby visibility directive cannot identify a selected prior ${side} method '${name}'.`, "Define the method earlier in the same selected file or add load-order-aware resolution.", call);
|
|
643
|
+
return;
|
|
644
|
+
}
|
|
645
|
+
for (const candidate of candidates)
|
|
646
|
+
candidate.visibility = visibility;
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Changes visibility on matching constants and stores it for later records.
|
|
650
|
+
*
|
|
651
|
+
* Ruby permits the directive after declaration, so both existing and future
|
|
652
|
+
* selected records need the resolved lexical visibility.
|
|
653
|
+
*/
|
|
654
|
+
changeConstantVisibility(identity, visibility, call) {
|
|
655
|
+
const key = this.identityKey(identity);
|
|
656
|
+
const candidates = this.declarations.filter((declaration) => (declaration.form === "class" ||
|
|
657
|
+
declaration.form === "module" ||
|
|
658
|
+
declaration.form === "constant") &&
|
|
659
|
+
this.identityKey(declaration.identity) === key);
|
|
660
|
+
if (candidates.length === 0) {
|
|
661
|
+
this.problem("ruby-constant-visibility-target", `Ruby constant visibility cannot identify selected prior constant '${identity.join("::")}'.`, "Declare the constant earlier in the same selected file or add load-order-aware resolution.", call);
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
this.constantVisibility.set(key, visibility);
|
|
665
|
+
for (const candidate of candidates)
|
|
666
|
+
candidate.visibility = visibility;
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Returns definition records matching one owner, side, and runtime method
|
|
670
|
+
* name.
|
|
671
|
+
*
|
|
672
|
+
* Attributes participate because their generated readers and writers are
|
|
673
|
+
* valid targets for Ruby visibility directives.
|
|
674
|
+
*/
|
|
675
|
+
methodDeclarations(ownerIdentity, side, runtimeName) {
|
|
676
|
+
const owner = this.identityKey(ownerIdentity);
|
|
677
|
+
return this.declarations.filter((declaration) => declaration.definition &&
|
|
678
|
+
declaration.side === side &&
|
|
679
|
+
declaration.runtimeName === runtimeName &&
|
|
680
|
+
this.identityKey(declaration.ownerIdentity ?? []) === owner &&
|
|
681
|
+
(declaration.symbol === "function" || declaration.form === "attribute"));
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Builds and records one Ruby declaration with its source site and metadata.
|
|
685
|
+
*
|
|
686
|
+
* The site begins at attached documentation when present, preserving the
|
|
687
|
+
* source region Evidence associates with the declaration.
|
|
688
|
+
*/
|
|
689
|
+
addDeclaration(item, siteNode, symbol, form, name, runtimeName, identity, address, visibility, definition, ownerIdentity, content, side, attributeMode, containerKind, superclass) {
|
|
690
|
+
const documentation = this.attachedDocumentation(siteNode);
|
|
691
|
+
const site = {
|
|
692
|
+
id: this.siteId(siteNode),
|
|
693
|
+
file: this.source.physicalPath,
|
|
694
|
+
range: this.text.range(documentation?.range?.start?.offset ?? siteNode.startIndex, siteNode.endIndex),
|
|
695
|
+
content,
|
|
696
|
+
};
|
|
697
|
+
const declaration = {
|
|
698
|
+
id: `ruby:${this.source.id}:declaration:${this.serial++}:${form}:${item.startIndex}`,
|
|
699
|
+
name,
|
|
700
|
+
runtimeName,
|
|
701
|
+
symbol,
|
|
702
|
+
form,
|
|
703
|
+
identity,
|
|
704
|
+
address,
|
|
705
|
+
site,
|
|
706
|
+
visibility,
|
|
707
|
+
definition,
|
|
708
|
+
...(ownerIdentity.length === 0 ? {} : { ownerIdentity }),
|
|
709
|
+
...(side === undefined ? {} : { side }),
|
|
710
|
+
...(attributeMode === undefined ? {} : { attributeMode }),
|
|
711
|
+
...(containerKind === undefined ? {} : { containerKind }),
|
|
712
|
+
...(superclass === undefined ? {} : { superclass }),
|
|
713
|
+
};
|
|
714
|
+
this.declarations.push(declaration);
|
|
715
|
+
if (documentation !== undefined)
|
|
716
|
+
this.attach(documentation, declaration.id, site.id);
|
|
717
|
+
return declaration;
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Finds the nearest attachable documentation carrier before a declaration.
|
|
721
|
+
*
|
|
722
|
+
* Only line-leading comments without intervening content attach, preventing
|
|
723
|
+
* an unrelated earlier comment from becoming the declaration's evidence
|
|
724
|
+
* host.
|
|
725
|
+
*/
|
|
726
|
+
attachedDocumentation(node) {
|
|
727
|
+
const documentation = Array.from(this.documentation.values())
|
|
728
|
+
.filter((candidate) => candidate.syntax !== undefined &&
|
|
729
|
+
this.lineLeading(candidate.range) &&
|
|
730
|
+
candidate.range.end.offset <= node.startIndex &&
|
|
731
|
+
(candidate.syntax.opening.startsWith("=begin") ||
|
|
732
|
+
candidate.range.start.column === node.startPosition.column + 1))
|
|
733
|
+
.sort((left, right) => right.range.end.offset - left.range.end.offset)[0];
|
|
734
|
+
if (documentation === undefined)
|
|
735
|
+
return undefined;
|
|
736
|
+
const between = this.source.content.slice(documentation.range.end.offset, node.startIndex);
|
|
737
|
+
return between.trim() !== "" || /\r?\n[ \t]*\r?\n/u.test(between)
|
|
738
|
+
? undefined
|
|
739
|
+
: documentation;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Checks whether a documentation range begins after only whitespace on its
|
|
743
|
+
* line.
|
|
744
|
+
*
|
|
745
|
+
* Inline comments cannot attach to the following Ruby declaration.
|
|
746
|
+
*/
|
|
747
|
+
lineLeading(range) {
|
|
748
|
+
const lineStart = Math.max(this.source.content.lastIndexOf("\n", range.start.offset - 1), this.source.content.lastIndexOf("\r", range.start.offset - 1)) + 1;
|
|
749
|
+
return (this.source.content.slice(lineStart, range.start.offset).trim() === "");
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Collects supported Ruby comment carriers and contiguous hash-comment runs.
|
|
753
|
+
*
|
|
754
|
+
* Adjacent aligned comments become one mapping; blank lines and indentation
|
|
755
|
+
* changes deliberately break the run.
|
|
756
|
+
*/
|
|
757
|
+
collectDocumentation() {
|
|
758
|
+
const comments = this.session.root
|
|
759
|
+
.descendantsOfType("comment")
|
|
760
|
+
.sort((left, right) => left.startIndex - right.startIndex);
|
|
761
|
+
for (let index = 0; index < comments.length; ++index) {
|
|
762
|
+
const first = comments[index];
|
|
763
|
+
if (first === undefined)
|
|
764
|
+
continue;
|
|
765
|
+
const syntax = EvidenceRubySyntax_1.EvidenceRubySyntax.commentSyntax(first);
|
|
766
|
+
if (syntax === undefined)
|
|
767
|
+
continue;
|
|
768
|
+
let last = first;
|
|
769
|
+
if (first.text.startsWith("#"))
|
|
770
|
+
while (index + 1 < comments.length) {
|
|
771
|
+
const next = comments[index + 1];
|
|
772
|
+
if (next === undefined)
|
|
773
|
+
break;
|
|
774
|
+
const between = this.source.content.slice(last.endIndex, next.startIndex);
|
|
775
|
+
if (!next.text.startsWith("#") ||
|
|
776
|
+
next.startPosition.column !== first.startPosition.column ||
|
|
777
|
+
/\r?\n[ \t]*\r?\n/u.test(between) ||
|
|
778
|
+
between.trim() !== "")
|
|
779
|
+
break;
|
|
780
|
+
last = next;
|
|
781
|
+
++index;
|
|
782
|
+
}
|
|
783
|
+
this.ensureDocumentationRange(this.text.range(first.startIndex, last.endIndex), syntax);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Collects tag-bearing string and heredoc content as documentation mappings.
|
|
788
|
+
*
|
|
789
|
+
* These literal carriers support Evidence annotations even without comments.
|
|
790
|
+
*/
|
|
791
|
+
collectLiteralAnnotations() {
|
|
792
|
+
const contents = [
|
|
793
|
+
...this.session.root.descendantsOfType("string_content"),
|
|
794
|
+
...this.session.root.descendantsOfType("heredoc_content"),
|
|
795
|
+
];
|
|
796
|
+
for (const content of contents) {
|
|
797
|
+
if (!this.annotation(content.text))
|
|
798
|
+
continue;
|
|
799
|
+
const range = this.session.range(content);
|
|
800
|
+
const id = `ruby:${this.source.id}:documentation:${range.start.offset}:${range.end.offset}`;
|
|
801
|
+
this.documentation.set(id, {
|
|
802
|
+
id,
|
|
803
|
+
range,
|
|
804
|
+
mapping: EvidenceDocumentation_1.EvidenceDocumentation.read(this.source.content, id, range, {
|
|
805
|
+
opening: "",
|
|
806
|
+
closing: "",
|
|
807
|
+
tagBoundaries: true,
|
|
808
|
+
allowWithdrawal: false,
|
|
809
|
+
}),
|
|
810
|
+
attachments: [],
|
|
811
|
+
});
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Returns the documentation record for one exact source range and syntax.
|
|
816
|
+
*
|
|
817
|
+
* Reuse prevents duplicate mappings when several collection paths meet.
|
|
818
|
+
*/
|
|
819
|
+
ensureDocumentationRange(range, syntax) {
|
|
820
|
+
const key = `${range.start.offset}:${range.end.offset}`;
|
|
821
|
+
let documentation = this.documentation.get(key);
|
|
822
|
+
if (documentation === undefined) {
|
|
823
|
+
documentation = {
|
|
824
|
+
id: `ruby:${this.source.id}:documentation:${key}`,
|
|
825
|
+
range,
|
|
826
|
+
syntax,
|
|
827
|
+
attachments: [],
|
|
828
|
+
};
|
|
829
|
+
this.documentation.set(key, documentation);
|
|
830
|
+
}
|
|
831
|
+
return documentation;
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* Attaches documentation to a declaration site without duplicate relations.
|
|
835
|
+
*
|
|
836
|
+
* Repeated scan paths can identify the same carrier and declaration pair.
|
|
837
|
+
*/
|
|
838
|
+
attach(documentation, declarationId, siteId) {
|
|
839
|
+
if (!documentation.attachments.some((attachment) => attachment.declarationId === declarationId &&
|
|
840
|
+
attachment.siteId === siteId))
|
|
841
|
+
documentation.attachments.push({ declarationId, siteId });
|
|
842
|
+
}
|
|
843
|
+
/**
|
|
844
|
+
* Detects nested syntax that can change Ruby's declared public surface.
|
|
845
|
+
*
|
|
846
|
+
* Dynamic execution boundaries are reported instead of interpreted as static
|
|
847
|
+
* declarations within a conditional or metaprogrammed body.
|
|
848
|
+
*/
|
|
849
|
+
containsSurfaceChange(node) {
|
|
850
|
+
const queue = [node];
|
|
851
|
+
for (let index = 0; index < queue.length; ++index) {
|
|
852
|
+
const current = queue[index];
|
|
853
|
+
if (current === undefined)
|
|
854
|
+
continue;
|
|
855
|
+
if (current.type === "class" ||
|
|
856
|
+
current.type === "module" ||
|
|
857
|
+
current.type === "singleton_class" ||
|
|
858
|
+
current.type === "method" ||
|
|
859
|
+
current.type === "singleton_method" ||
|
|
860
|
+
current.type === "alias" ||
|
|
861
|
+
current.type === "undef")
|
|
862
|
+
return true;
|
|
863
|
+
if (current.type === "assignment" &&
|
|
864
|
+
EvidenceRubySyntax_1.EvidenceRubySyntax.constantPath(current.childForFieldName("left")) !==
|
|
865
|
+
undefined)
|
|
866
|
+
return true;
|
|
867
|
+
const callName = EvidenceRubySyntax_1.EvidenceRubySyntax.callName(current);
|
|
868
|
+
if (callName !== undefined && this.surfaceCall(callName))
|
|
869
|
+
return true;
|
|
870
|
+
queue.push(...current.namedChildren);
|
|
871
|
+
}
|
|
872
|
+
return false;
|
|
873
|
+
}
|
|
874
|
+
/**
|
|
875
|
+
* Checks whether a call name is known to mutate Ruby declaration surface.
|
|
876
|
+
*
|
|
877
|
+
* This explicit list bounds static support and identifies dynamic directives.
|
|
878
|
+
*/
|
|
879
|
+
surfaceCall(name) {
|
|
880
|
+
return [
|
|
881
|
+
"alias_method",
|
|
882
|
+
"attr",
|
|
883
|
+
"attr_accessor",
|
|
884
|
+
"attr_reader",
|
|
885
|
+
"attr_writer",
|
|
886
|
+
"autoload",
|
|
887
|
+
"class_eval",
|
|
888
|
+
"const_set",
|
|
889
|
+
"define_method",
|
|
890
|
+
"define_singleton_method",
|
|
891
|
+
"extend",
|
|
892
|
+
"include",
|
|
893
|
+
"module_eval",
|
|
894
|
+
"module_function",
|
|
895
|
+
"prepend",
|
|
896
|
+
"private",
|
|
897
|
+
"private_class_method",
|
|
898
|
+
"private_constant",
|
|
899
|
+
"protected",
|
|
900
|
+
"public",
|
|
901
|
+
"public_class_method",
|
|
902
|
+
"public_constant",
|
|
903
|
+
"refine",
|
|
904
|
+
"remove_const",
|
|
905
|
+
"remove_method",
|
|
906
|
+
"undef_method",
|
|
907
|
+
"using",
|
|
908
|
+
].includes(name);
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* Reports a directive whose names or target cannot be statically resolved.
|
|
912
|
+
*
|
|
913
|
+
* The diagnostic marks the file incomplete so unsupported runtime behavior
|
|
914
|
+
* cannot lower coverage requirements.
|
|
915
|
+
*/
|
|
916
|
+
dynamicDirective(node, description) {
|
|
917
|
+
this.problem("ruby-dynamic-directive", `Ruby ${description} uses names that cannot be resolved statically.`, "Use literal symbol or string names in the selected class or module body.", node);
|
|
918
|
+
}
|
|
919
|
+
/**
|
|
920
|
+
* Resolves a constant path against the current lexical owner when relative.
|
|
921
|
+
*
|
|
922
|
+
* Absolute paths and top-level paths retain their source segments unchanged.
|
|
923
|
+
*/
|
|
924
|
+
resolvePath(path, context) {
|
|
925
|
+
return path.absolute || context.kind === "top"
|
|
926
|
+
? path.segments
|
|
927
|
+
: [...context.identity, ...path.segments];
|
|
928
|
+
}
|
|
929
|
+
/**
|
|
930
|
+
* Resolves a constant path when a supported path is present.
|
|
931
|
+
*
|
|
932
|
+
* Absence remains undefined so callers can distinguish it from top-level
|
|
933
|
+
* paths.
|
|
934
|
+
*/
|
|
935
|
+
resolveOptionalPath(path, context) {
|
|
936
|
+
return path === undefined ? undefined : this.resolvePath(path, context);
|
|
937
|
+
}
|
|
938
|
+
/**
|
|
939
|
+
* Creates a public member address for instance or singleton ownership.
|
|
940
|
+
*
|
|
941
|
+
* Singleton members use the explicit `self` segment to avoid identity
|
|
942
|
+
* clashes.
|
|
943
|
+
*/
|
|
944
|
+
memberAddress(owner, side, name) {
|
|
945
|
+
return side === "instance" ? [...owner, name] : [...owner, "self", name];
|
|
946
|
+
}
|
|
947
|
+
/**
|
|
948
|
+
* Serializes a lexical identity for map keys and equality checks.
|
|
949
|
+
*
|
|
950
|
+
* JSON preserves segment boundaries that a joined string could blur.
|
|
951
|
+
*/
|
|
952
|
+
identityKey(identity) {
|
|
953
|
+
return JSON.stringify(identity);
|
|
954
|
+
}
|
|
955
|
+
/**
|
|
956
|
+
* Checks whether raw Ruby carrier text contains an Evidence annotation tag.
|
|
957
|
+
*
|
|
958
|
+
* The predicate is shared by comments, strings, and heredocs.
|
|
959
|
+
*/
|
|
960
|
+
annotation(raw) {
|
|
961
|
+
return /(?:^|[\r\n])[ \t]*(?:#[ \t]*)?@(evidenceExcludeReview|evidenceReview|evidenceExclude|evidence|link|internal|hidden|ignore)\b/u.test(raw);
|
|
962
|
+
}
|
|
963
|
+
/**
|
|
964
|
+
* Serializes a parser node range as a stable source-local key.
|
|
965
|
+
*
|
|
966
|
+
* The immutable selected source makes its offsets suitable for record
|
|
967
|
+
* identity.
|
|
968
|
+
*/
|
|
969
|
+
nodeKey(node) {
|
|
970
|
+
return `${node.startIndex}:${node.endIndex}`;
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* Creates the stable declaration-site identity for a Ruby parser node.
|
|
974
|
+
*
|
|
975
|
+
* The source ID scopes a range that could recur in another selected file.
|
|
976
|
+
*/
|
|
977
|
+
siteId(node) {
|
|
978
|
+
return `ruby:${this.source.id}:site:${this.nodeKey(node)}`;
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Records one static-analysis failure and marks the file incomplete.
|
|
982
|
+
*
|
|
983
|
+
* A source-range key suppresses repeated diagnostics from overlapping checks.
|
|
984
|
+
*/
|
|
985
|
+
problem(code, message, repair, node) {
|
|
986
|
+
const key = `${code}:${node.startIndex}:${node.endIndex}`;
|
|
987
|
+
if (this.reported.has(key))
|
|
988
|
+
return;
|
|
989
|
+
this.reported.add(key);
|
|
990
|
+
this.complete = false;
|
|
991
|
+
this.diagnostics.push({
|
|
992
|
+
code,
|
|
993
|
+
severity: "error",
|
|
994
|
+
message,
|
|
995
|
+
repair,
|
|
996
|
+
location: {
|
|
997
|
+
file: this.source.physicalPath,
|
|
998
|
+
range: this.session.range(node),
|
|
999
|
+
},
|
|
1000
|
+
});
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
exports.EvidenceRubyFileScanner = EvidenceRubyFileScanner;
|