@shapeshift-labs/frontier-lang-compiler 0.2.41 → 0.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -1
- package/bench/compile-suite.mjs +31 -0
- package/bench/native-adapters.mjs +32 -0
- package/bench/native-import-suite.mjs +79 -0
- package/bench/native-matrix-suite.mjs +64 -0
- package/bench/native-transform-suite.mjs +125 -0
- package/bench/smoke.mjs +80 -375
- package/bench/source-change-suite.mjs +111 -0
- package/dist/coverage-matrix-profiles.js +19 -0
- package/dist/declarations/adapter-coverage.d.ts +181 -0
- package/dist/declarations/compile.d.ts +110 -0
- package/dist/declarations/import-adapter-core.d.ts +233 -0
- package/dist/declarations/import-adapter-options-native.d.ts +185 -0
- package/dist/declarations/import-adapter-options-platform.d.ts +204 -0
- package/dist/declarations/language-adapter-package-contracts.d.ts +190 -0
- package/dist/declarations/native-diff.d.ts +240 -0
- package/dist/declarations/native-import-contracts.d.ts +211 -0
- package/dist/declarations/native-import-coverage.d.ts +107 -0
- package/dist/declarations/native-import-losses.d.ts +199 -0
- package/dist/declarations/native-parser-features.d.ts +227 -0
- package/dist/declarations/native-parser-formats.d.ts +132 -0
- package/dist/declarations/native-project-admission.d.ts +160 -0
- package/dist/declarations/native-project.d.ts +209 -0
- package/dist/declarations/projection-coverage.d.ts +146 -0
- package/dist/declarations/projection-readiness.d.ts +115 -0
- package/dist/declarations/roundtrip.d.ts +200 -0
- package/dist/declarations/runtime.d.ts +135 -0
- package/dist/declarations/semantic-history.d.ts +188 -0
- package/dist/declarations/semantic-merge-conflicts.d.ts +82 -0
- package/dist/declarations/semantic-patch-bundle.d.ts +210 -0
- package/dist/declarations/semantic-sidecar-admission.d.ts +61 -0
- package/dist/declarations/semantic-sidecar.d.ts +317 -0
- package/dist/declarations/semantic-slice.d.ts +228 -0
- package/dist/declarations/source-preservation.d.ts +126 -0
- package/dist/declarations/target-adapters.d.ts +138 -0
- package/dist/declarations/universal-capability.d.ts +148 -0
- package/dist/declarations/universal-dialects.d.ts +242 -0
- package/dist/index.d.ts +28 -2570
- package/dist/index.js +76 -16575
- package/dist/internal/index-impl/ExternalSemanticIndexFormats.js +8 -0
- package/dist/internal/index-impl/FrontierCompileTargets.js +7 -0
- package/dist/internal/index-impl/NativeImportFeatureEvidencePolicies.js +111 -0
- package/dist/internal/index-impl/NativeImportLossKinds.js +24 -0
- package/dist/internal/index-impl/NativeImportReadinessBySeverity.js +6 -0
- package/dist/internal/index-impl/NativeImportRoundtripReadinessStatuses.js +7 -0
- package/dist/internal/index-impl/NativeImportTaxonomyKinds.js +19 -0
- package/dist/internal/index-impl/adapterCoverageCapabilityRow.js +13 -0
- package/dist/internal/index-impl/adapterCoverageSnapshotFromSummary.js +13 -0
- package/dist/internal/index-impl/adapterCoverageSourcePreservation.js +6 -0
- package/dist/internal/index-impl/adapterDiagnosticToLoss.js +23 -0
- package/dist/internal/index-impl/adapterDiagnosticsEvidence.js +27 -0
- package/dist/internal/index-impl/addLspSemanticTokens.js +32 -0
- package/dist/internal/index-impl/addLspSymbol.js +44 -0
- package/dist/internal/index-impl/addSet.js +5 -0
- package/dist/internal/index-impl/attachExternalOwnership.js +79 -0
- package/dist/internal/index-impl/attachNativeChangeRegionProjectionMetadata.js +13 -0
- package/dist/internal/index-impl/attachNativeImportLossSummary.js +11 -0
- package/dist/internal/index-impl/canonicalTargets.js +7 -0
- package/dist/internal/index-impl/clangAstChildEntries.js +9 -0
- package/dist/internal/index-impl/clangAstDeclaration.js +44 -0
- package/dist/internal/index-impl/clangAstKind.js +7 -0
- package/dist/internal/index-impl/clangAstNodeValue.js +7 -0
- package/dist/internal/index-impl/clangAstRoot.js +14 -0
- package/dist/internal/index-impl/clangDeclarationAction.js +7 -0
- package/dist/internal/index-impl/clangDeclarationName.js +10 -0
- package/dist/internal/index-impl/clangIncludePath.js +8 -0
- package/dist/internal/index-impl/clangLiteralValue.js +6 -0
- package/dist/internal/index-impl/clangLocPosition.js +12 -0
- package/dist/internal/index-impl/clangLocationKind.js +8 -0
- package/dist/internal/index-impl/clangPreprocessorKind.js +3 -0
- package/dist/internal/index-impl/clangPreprocessorRecords.js +8 -0
- package/dist/internal/index-impl/clangTypeName.js +9 -0
- package/dist/internal/index-impl/classifyNativeImportReadiness.js +9 -0
- package/dist/internal/index-impl/classifyNativeImportRoundtripReadiness.js +129 -0
- package/dist/internal/index-impl/compileFrontierDocument.js +28 -0
- package/dist/internal/index-impl/compileFrontierSource.js +8 -0
- package/dist/internal/index-impl/compileNativeSource.js +186 -0
- package/dist/internal/index-impl/compileTargetLanguage.js +5 -0
- package/dist/internal/index-impl/coverageMatrixContext.js +20 -0
- package/dist/internal/index-impl/createAstNormalizationContext.js +14 -0
- package/dist/internal/index-impl/createBabelNativeImporterAdapter.js +18 -0
- package/dist/internal/index-impl/createCSharpRoslynNativeImporterAdapter.js +68 -0
- package/dist/internal/index-impl/createClangAstNativeImporterAdapter.js +59 -0
- package/dist/internal/index-impl/createEstreeNativeImporterAdapter.js +12 -0
- package/dist/internal/index-impl/createGoAstNativeImporterAdapter.js +63 -0
- package/dist/internal/index-impl/createJavaAstNativeImporterAdapter.js +66 -0
- package/dist/internal/index-impl/createKotlinPsiNativeImporterAdapter.js +73 -0
- package/dist/internal/index-impl/createLightweightNativeImport.js +154 -0
- package/dist/internal/index-impl/createNativeImportCoverageMatrix.js +5 -0
- package/dist/internal/index-impl/createNativeImportFromCSharpRoslyn.js +39 -0
- package/dist/internal/index-impl/createNativeImportFromClangAst.js +36 -0
- package/dist/internal/index-impl/createNativeImportFromGoAst.js +35 -0
- package/dist/internal/index-impl/createNativeImportFromJavaAst.js +39 -0
- package/dist/internal/index-impl/createNativeImportFromKotlinPsi.js +47 -0
- package/dist/internal/index-impl/createNativeImportFromPythonAst.js +30 -0
- package/dist/internal/index-impl/createNativeImportFromRustSyn.js +30 -0
- package/dist/internal/index-impl/createNativeImportFromSwiftSyntax.js +37 -0
- package/dist/internal/index-impl/createNativeImportFromSyntaxAst.js +36 -0
- package/dist/internal/index-impl/createNativeImportFromTreeSitter.js +125 -0
- package/dist/internal/index-impl/createNativeImportFromTypeScriptAst.js +24 -0
- package/dist/internal/index-impl/createNativeImportResultContract.js +78 -0
- package/dist/internal/index-impl/createNativeParserAstFormatMatrix.js +5 -0
- package/dist/internal/index-impl/createNativeParserFeatureMatrix.js +5 -0
- package/dist/internal/index-impl/createNativeProjectImportResult.js +126 -0
- package/dist/internal/index-impl/createNativeRoundtripEvidence.js +117 -0
- package/dist/internal/index-impl/createNativeSourcePreservation.js +64 -0
- package/dist/internal/index-impl/createProjectImportAdmissionRecord.js +91 -0
- package/dist/internal/index-impl/createProjectionReadinessMatrix.js +5 -0
- package/dist/internal/index-impl/createProjectionTargetLossMatrix.js +5 -0
- package/dist/internal/index-impl/createPythonAstNativeImporterAdapter.js +52 -0
- package/dist/internal/index-impl/createRustSynNativeImporterAdapter.js +56 -0
- package/dist/internal/index-impl/createSemanticImportSidecar.js +105 -0
- package/dist/internal/index-impl/createSemanticImportSidecarAdmission.js +160 -0
- package/dist/internal/index-impl/createSemanticSlice.js +137 -0
- package/dist/internal/index-impl/createSwiftSyntaxNativeImporterAdapter.js +62 -0
- package/dist/internal/index-impl/createTreeSitterNativeImporterAdapter.js +58 -0
- package/dist/internal/index-impl/createTypeScriptCompilerNativeImporterAdapter.js +45 -0
- package/dist/internal/index-impl/createUniversalAstFromDocument.js +15 -0
- package/dist/internal/index-impl/createUniversalCapabilityMatrix.js +5 -0
- package/dist/internal/index-impl/csharpEvidenceSummary.js +18 -0
- package/dist/internal/index-impl/csharpGeneratedCodeLoss.js +20 -0
- package/dist/internal/index-impl/csharpGeneratedCodeMarker.js +16 -0
- package/dist/internal/index-impl/csharpGeneratedSourcePath.js +3 -0
- package/dist/internal/index-impl/csharpRoslynChildEntries.js +18 -0
- package/dist/internal/index-impl/csharpRoslynChildWithParent.js +6 -0
- package/dist/internal/index-impl/csharpRoslynDeclarationName.js +11 -0
- package/dist/internal/index-impl/csharpRoslynDeclarations.js +53 -0
- package/dist/internal/index-impl/csharpRoslynDirectiveKind.js +3 -0
- package/dist/internal/index-impl/csharpRoslynHasBody.js +3 -0
- package/dist/internal/index-impl/csharpRoslynKind.js +11 -0
- package/dist/internal/index-impl/csharpRoslynLiteralValue.js +5 -0
- package/dist/internal/index-impl/csharpRoslynMethodLikeKind.js +7 -0
- package/dist/internal/index-impl/csharpRoslynModifierNames.js +16 -0
- package/dist/internal/index-impl/csharpRoslynName.js +13 -0
- package/dist/internal/index-impl/csharpRoslynNodeValue.js +7 -0
- package/dist/internal/index-impl/csharpRoslynOperatorName.js +8 -0
- package/dist/internal/index-impl/csharpRoslynPosition.js +27 -0
- package/dist/internal/index-impl/csharpRoslynPositionKind.js +6 -0
- package/dist/internal/index-impl/csharpRoslynProblemNode.js +14 -0
- package/dist/internal/index-impl/csharpRoslynRecoveredKind.js +5 -0
- package/dist/internal/index-impl/csharpRoslynRoot.js +15 -0
- package/dist/internal/index-impl/csharpRoslynTypeDeclarationKind.js +8 -0
- package/dist/internal/index-impl/csharpRoslynTypeDeclarationSymbolKind.js +5 -0
- package/dist/internal/index-impl/csharpRoslynTypeName.js +19 -0
- package/dist/internal/index-impl/csharpRoslynUsingPath.js +5 -0
- package/dist/internal/index-impl/csharpRoslynVariableNames.js +10 -0
- package/dist/internal/index-impl/declarationRecord.js +11 -0
- package/dist/internal/index-impl/declarationSemanticCoverage.js +10 -0
- package/dist/internal/index-impl/diffNativeOwnershipRegions.js +19 -0
- package/dist/internal/index-impl/diffNativeSourceImports.js +166 -0
- package/dist/internal/index-impl/diffNativeSources.js +25 -0
- package/dist/internal/index-impl/diffNativeSymbols.js +41 -0
- package/dist/internal/index-impl/effectiveAdapterExactness.js +6 -0
- package/dist/internal/index-impl/effectiveNativeImporterAdapterCoverage.js +21 -0
- package/dist/internal/index-impl/emitForTarget.js +4 -0
- package/dist/internal/index-impl/emitForTargetWithSourceMap.js +11 -0
- package/dist/internal/index-impl/ensureTrailingNewline.js +4 -0
- package/dist/internal/index-impl/expandSemanticSliceSelection.js +51 -0
- package/dist/internal/index-impl/externalDiagnosticFact.js +22 -0
- package/dist/internal/index-impl/externalDiagnosticLoss.js +20 -0
- package/dist/internal/index-impl/externalDiagnosticSeverity.js +7 -0
- package/dist/internal/index-impl/externalDocument.js +12 -0
- package/dist/internal/index-impl/externalFact.js +10 -0
- package/dist/internal/index-impl/externalLanguageNameByNumber.js +23 -0
- package/dist/internal/index-impl/externalOccurrence.js +13 -0
- package/dist/internal/index-impl/externalRelation.js +10 -0
- package/dist/internal/index-impl/externalRelationPredicateForOccurrence.js +8 -0
- package/dist/internal/index-impl/externalSemanticBase.js +15 -0
- package/dist/internal/index-impl/externalSemanticCoverageLoss.js +17 -0
- package/dist/internal/index-impl/externalSemanticEvidence.js +16 -0
- package/dist/internal/index-impl/externalSemanticSourceMapMappings.js +26 -0
- package/dist/internal/index-impl/externalSymbol.js +14 -0
- package/dist/internal/index-impl/externalSymbolKindByNumber.js +32 -0
- package/dist/internal/index-impl/fileLevelNativeChangeRegion.js +23 -0
- package/dist/internal/index-impl/findSemanticImportRegion.js +6 -0
- package/dist/internal/index-impl/freezeNativeImporterAdapterCoverageSnapshot.js +13 -0
- package/dist/internal/index-impl/getNativeImportFeatureEvidencePolicy.js +5 -0
- package/dist/internal/index-impl/getNativeParserAstFormatProfile.js +4 -0
- package/dist/internal/index-impl/goAstChildEntries.js +23 -0
- package/dist/internal/index-impl/goAstDeclarationName.js +9 -0
- package/dist/internal/index-impl/goAstDeclarations.js +30 -0
- package/dist/internal/index-impl/goAstIdentName.js +5 -0
- package/dist/internal/index-impl/goAstImportPath.js +7 -0
- package/dist/internal/index-impl/goAstKind.js +15 -0
- package/dist/internal/index-impl/goAstLiteralValue.js +5 -0
- package/dist/internal/index-impl/goAstNodeValue.js +7 -0
- package/dist/internal/index-impl/goAstPackageName.js +5 -0
- package/dist/internal/index-impl/goAstPosition.js +30 -0
- package/dist/internal/index-impl/goAstPositionKind.js +6 -0
- package/dist/internal/index-impl/goAstReceiverName.js +8 -0
- package/dist/internal/index-impl/goAstRoot.js +12 -0
- package/dist/internal/index-impl/goAstTokenName.js +6 -0
- package/dist/internal/index-impl/goAstTypeName.js +27 -0
- package/dist/internal/index-impl/goAstTypeSpecSymbolKind.js +8 -0
- package/dist/internal/index-impl/goAstValueSpecName.js +4 -0
- package/dist/internal/index-impl/goAstValueSpecNames.js +7 -0
- package/dist/internal/index-impl/goBadAstKind.js +3 -0
- package/dist/internal/index-impl/goGeneratedCodeMarker.js +7 -0
- package/dist/internal/index-impl/goReceiverFieldCount.js +4 -0
- package/dist/internal/index-impl/goTypeEvidenceSummary.js +9 -0
- package/dist/internal/index-impl/hasNativeExactAstEvidence.js +13 -0
- package/dist/internal/index-impl/hashNativeSpanText.js +6 -0
- package/dist/internal/index-impl/identifierName.js +9 -0
- package/dist/internal/index-impl/ignoredCSharpRoslynField.js +31 -0
- package/dist/internal/index-impl/ignoredClangAstField.js +19 -0
- package/dist/internal/index-impl/ignoredGoAstField.js +23 -0
- package/dist/internal/index-impl/ignoredJavaAstField.js +29 -0
- package/dist/internal/index-impl/ignoredKotlinPsiField.js +26 -0
- package/dist/internal/index-impl/ignoredPythonAstField.js +17 -0
- package/dist/internal/index-impl/ignoredRustSynField.js +11 -0
- package/dist/internal/index-impl/ignoredSwiftSyntaxField.js +27 -0
- package/dist/internal/index-impl/ignoredSyntaxField.js +15 -0
- package/dist/internal/index-impl/importExternalSemanticIndex.js +141 -0
- package/dist/internal/index-impl/importNativeProject.js +26 -0
- package/dist/internal/index-impl/importNativeSource.js +317 -0
- package/dist/internal/index-impl/inferExternalSemanticIndexFormat.js +46 -0
- package/dist/internal/index-impl/inferredAdapterCoverageNotes.js +8 -0
- package/dist/internal/index-impl/inferredAdapterExactness.js +5 -0
- package/dist/internal/index-impl/inferredSemanticCoverageLevel.js +5 -0
- package/dist/internal/index-impl/isCSharpRoslynNode.js +4 -0
- package/dist/internal/index-impl/isClangAstNode.js +4 -0
- package/dist/internal/index-impl/isGoAstNode.js +4 -0
- package/dist/internal/index-impl/isJavaAstNode.js +4 -0
- package/dist/internal/index-impl/isKotlinPsiNode.js +4 -0
- package/dist/internal/index-impl/isNativeSourceImportResult.js +3 -0
- package/dist/internal/index-impl/isPythonAstNode.js +4 -0
- package/dist/internal/index-impl/isRustSynAstNode.js +4 -0
- package/dist/internal/index-impl/isSwiftSyntaxNode.js +4 -0
- package/dist/internal/index-impl/isSyntaxAstNode.js +3 -0
- package/dist/internal/index-impl/javaAnnotationProcessingSummary.js +13 -0
- package/dist/internal/index-impl/javaAstChildEntries.js +18 -0
- package/dist/internal/index-impl/javaAstChildWithParent.js +6 -0
- package/dist/internal/index-impl/javaAstDeclarationName.js +11 -0
- package/dist/internal/index-impl/javaAstDeclarations.js +35 -0
- package/dist/internal/index-impl/javaAstFieldNames.js +7 -0
- package/dist/internal/index-impl/javaAstHasBody.js +3 -0
- package/dist/internal/index-impl/javaAstImportPath.js +8 -0
- package/dist/internal/index-impl/javaAstKind.js +12 -0
- package/dist/internal/index-impl/javaAstLiteralValue.js +5 -0
- package/dist/internal/index-impl/javaAstModifierNames.js +16 -0
- package/dist/internal/index-impl/javaAstName.js +14 -0
- package/dist/internal/index-impl/javaAstNodeValue.js +8 -0
- package/dist/internal/index-impl/javaAstPackageName.js +5 -0
- package/dist/internal/index-impl/javaAstPosition.js +32 -0
- package/dist/internal/index-impl/javaAstPositionKind.js +7 -0
- package/dist/internal/index-impl/javaAstRoot.js +14 -0
- package/dist/internal/index-impl/javaAstTypeName.js +22 -0
- package/dist/internal/index-impl/javaBindingEvidenceSummary.js +10 -0
- package/dist/internal/index-impl/javaGeneratedCodeLoss.js +20 -0
- package/dist/internal/index-impl/javaGeneratedCodeMarker.js +16 -0
- package/dist/internal/index-impl/javaLombokAnnotationMarker.js +6 -0
- package/dist/internal/index-impl/javaPathEvidenceSummary.js +14 -0
- package/dist/internal/index-impl/javaProblemNode.js +3 -0
- package/dist/internal/index-impl/javaRecoveredAstKind.js +4 -0
- package/dist/internal/index-impl/javaTypeDeclarationKind.js +7 -0
- package/dist/internal/index-impl/javaTypeDeclarationSymbolKind.js +5 -0
- package/dist/internal/index-impl/kotlinCompilerPluginAnnotationNode.js +5 -0
- package/dist/internal/index-impl/kotlinContractNode.js +3 -0
- package/dist/internal/index-impl/kotlinCoroutineNode.js +8 -0
- package/dist/internal/index-impl/kotlinEvidenceSummary.js +21 -0
- package/dist/internal/index-impl/kotlinExpectActualNode.js +5 -0
- package/dist/internal/index-impl/kotlinGeneratedCodeLoss.js +22 -0
- package/dist/internal/index-impl/kotlinGeneratedCodeMarker.js +6 -0
- package/dist/internal/index-impl/kotlinGeneratedSourcePath.js +3 -0
- package/dist/internal/index-impl/kotlinPsiAnnotationNames.js +10 -0
- package/dist/internal/index-impl/kotlinPsiChildEntries.js +18 -0
- package/dist/internal/index-impl/kotlinPsiChildWithParent.js +6 -0
- package/dist/internal/index-impl/kotlinPsiDeclarationName.js +14 -0
- package/dist/internal/index-impl/kotlinPsiDeclarations.js +37 -0
- package/dist/internal/index-impl/kotlinPsiHasBody.js +3 -0
- package/dist/internal/index-impl/kotlinPsiImportPath.js +8 -0
- package/dist/internal/index-impl/kotlinPsiKind.js +13 -0
- package/dist/internal/index-impl/kotlinPsiModifiers.js +22 -0
- package/dist/internal/index-impl/kotlinPsiName.js +14 -0
- package/dist/internal/index-impl/kotlinPsiNodeValue.js +7 -0
- package/dist/internal/index-impl/kotlinPsiPackageName.js +8 -0
- package/dist/internal/index-impl/kotlinPsiPosition.js +27 -0
- package/dist/internal/index-impl/kotlinPsiPositionKind.js +6 -0
- package/dist/internal/index-impl/kotlinPsiProblemNode.js +10 -0
- package/dist/internal/index-impl/kotlinPsiRecoveredKind.js +5 -0
- package/dist/internal/index-impl/kotlinPsiRoot.js +15 -0
- package/dist/internal/index-impl/kotlinPsiTypeDeclarationKind.js +5 -0
- package/dist/internal/index-impl/kotlinPsiTypeDeclarationSymbolKind.js +8 -0
- package/dist/internal/index-impl/kotlinPsiTypeName.js +18 -0
- package/dist/internal/index-impl/kotlinPsiVariableNames.js +7 -0
- package/dist/internal/index-impl/kotlinScriptLoss.js +22 -0
- package/dist/internal/index-impl/kotlinUnsupportedSemanticLoss.js +23 -0
- package/dist/internal/index-impl/lineColumnForOffset.js +15 -0
- package/dist/internal/index-impl/literalSyntaxValue.js +4 -0
- package/dist/internal/index-impl/lossSeverityRank.js +6 -0
- package/dist/internal/index-impl/lspSymbolKindByNumber.js +19 -0
- package/dist/internal/index-impl/mapDiffSymbols.js +39 -0
- package/dist/internal/index-impl/matchingNativeTargetProjectionAdapter.js +4 -0
- package/dist/internal/index-impl/maxSemanticCoverageLevel.js +6 -0
- package/dist/internal/index-impl/mergeNativeLosses.js +12 -0
- package/dist/internal/index-impl/mergeSemanticIndexes.js +19 -0
- package/dist/internal/index-impl/mergeSemanticSliceSymbols.js +16 -0
- package/dist/internal/index-impl/missingInjectedParserResult.js +51 -0
- package/dist/internal/index-impl/nameFromExternalSymbol.js +10 -0
- package/dist/internal/index-impl/namedDeclaration.js +5 -0
- package/dist/internal/index-impl/nativeAstNodes.js +4 -0
- package/dist/internal/index-impl/nativeChangeMappingTouchesRegion.js +17 -0
- package/dist/internal/index-impl/nativeChangeProjectionEndpoint.js +28 -0
- package/dist/internal/index-impl/nativeChangeProjectionSourceMapLinks.js +33 -0
- package/dist/internal/index-impl/nativeChangeSpans.js +37 -0
- package/dist/internal/index-impl/nativeChangeSymbolTouchesRegion.js +10 -0
- package/dist/internal/index-impl/nativeChangeTouchedSymbol.js +21 -0
- package/dist/internal/index-impl/nativeChangedRegionProjectionAction.js +7 -0
- package/dist/internal/index-impl/nativeChangedRegionProjectionMetadata.js +49 -0
- package/dist/internal/index-impl/nativeChangedRegionProjectionSpanMetadata.js +12 -0
- package/dist/internal/index-impl/nativeCompileSourceLanguage.js +10 -0
- package/dist/internal/index-impl/nativeCompileTarget.js +10 -0
- package/dist/internal/index-impl/nativeDiffSymbolChanged.js +7 -0
- package/dist/internal/index-impl/nativeDiffSymbolKey.js +7 -0
- package/dist/internal/index-impl/nativeFeatureEvidenceRiskRank.js +6 -0
- package/dist/internal/index-impl/nativeImportCategoryForLossKind.js +16 -0
- package/dist/internal/index-impl/nativeImportEntries.js +4 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidenceHasKey.js +5 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidenceIds.js +10 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidencePolicy.js +14 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidenceReasons.js +8 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidenceValue.js +11 -0
- package/dist/internal/index-impl/nativeImportFeatureEvidenceValuePresent.js +7 -0
- package/dist/internal/index-impl/nativeImportHasExactAstCoverage.js +5 -0
- package/dist/internal/index-impl/nativeImportProjectionContext.js +40 -0
- package/dist/internal/index-impl/nativeImportReadiness.js +6 -0
- package/dist/internal/index-impl/nativeImportReadinessReasons.js +16 -0
- package/dist/internal/index-impl/nativeImportRoundtripParser.js +10 -0
- package/dist/internal/index-impl/nativeImportRoundtripReasons.js +22 -0
- package/dist/internal/index-impl/nativeImportSourcePreservationRecord.js +6 -0
- package/dist/internal/index-impl/nativeImportSourceText.js +6 -0
- package/dist/internal/index-impl/nativeImporterAdapterCapabilityEvidence.js +59 -0
- package/dist/internal/index-impl/nativeImporterAdapterCoverage.js +12 -0
- package/dist/internal/index-impl/nativeJavaScriptImporterDeps.js +12 -0
- package/dist/internal/index-impl/nativeNodeId.js +8 -0
- package/dist/internal/index-impl/nativeProjectionDeclarationKind.js +12 -0
- package/dist/internal/index-impl/nativeProjectionDeclarations.js +48 -0
- package/dist/internal/index-impl/nativeProjectionImportOnlySymbol.js +5 -0
- package/dist/internal/index-impl/nativeProjectionKindForNode.js +12 -0
- package/dist/internal/index-impl/nativeProjectionLineComment.js +5 -0
- package/dist/internal/index-impl/nativeProjectionLoss.js +23 -0
- package/dist/internal/index-impl/nativeProjectionSourceCandidate.js +22 -0
- package/dist/internal/index-impl/nativeProjectionStubHeader.js +11 -0
- package/dist/internal/index-impl/nativeProjectionStubLosses.js +36 -0
- package/dist/internal/index-impl/nativeSourceChangeReasons.js +11 -0
- package/dist/internal/index-impl/nativeSourceChangeSummary.js +13 -0
- package/dist/internal/index-impl/nativeSourceCompileDeclarationGeneratedSpan.js +25 -0
- package/dist/internal/index-impl/nativeSourceCompileDeclarationMappings.js +31 -0
- package/dist/internal/index-impl/nativeSourceCompileEvidence.js +30 -0
- package/dist/internal/index-impl/nativeSourceCompileFileMapping.js +21 -0
- package/dist/internal/index-impl/nativeSourceCompileFullGeneratedSpan.js +16 -0
- package/dist/internal/index-impl/nativeSourceCompileGeneratedSpanForOffset.js +17 -0
- package/dist/internal/index-impl/nativeSourceCompileGeneratedSpanFromSource.js +13 -0
- package/dist/internal/index-impl/nativeSourceCompileMapTarget.js +6 -0
- package/dist/internal/index-impl/nativeSourceCompilePreservedMappings.js +51 -0
- package/dist/internal/index-impl/nativeSourceCompileSourceMaps.js +41 -0
- package/dist/internal/index-impl/nativeSourceCompileTargetCoverage.js +21 -0
- package/dist/internal/index-impl/nativeSourceCompileTargetExtension.js +10 -0
- package/dist/internal/index-impl/nativeSourceCompileTargetLoss.js +32 -0
- package/dist/internal/index-impl/nativeSourceCompileTargetLosses.js +43 -0
- package/dist/internal/index-impl/nativeSourceCompileTargetPath.js +9 -0
- package/dist/internal/index-impl/nativeTargetProjectionAdapterEvidence.js +26 -0
- package/dist/internal/index-impl/nativeTargetProjectionAdapterMatches.js +16 -0
- package/dist/internal/index-impl/nativeTargetProjectionDiagnosticToLoss.js +22 -0
- package/dist/internal/index-impl/normalizeAdapterDiagnostics.js +28 -0
- package/dist/internal/index-impl/normalizeArray.js +4 -0
- package/dist/internal/index-impl/normalizeCSharpRoslynKind.js +38 -0
- package/dist/internal/index-impl/normalizeCompileTarget.js +9 -0
- package/dist/internal/index-impl/normalizeDiagnosticSeverity.js +6 -0
- package/dist/internal/index-impl/normalizeExternalOccurrenceRole.js +9 -0
- package/dist/internal/index-impl/normalizeExternalSemanticIndexFormat.js +34 -0
- package/dist/internal/index-impl/normalizeExternalSemanticIndexPayload.js +10 -0
- package/dist/internal/index-impl/normalizeExternalSemanticLanguage.js +7 -0
- package/dist/internal/index-impl/normalizeExternalSpan.js +21 -0
- package/dist/internal/index-impl/normalizeExternalSymbolKind.js +6 -0
- package/dist/internal/index-impl/normalizeFrontierSemanticIndexPayload.js +14 -0
- package/dist/internal/index-impl/normalizeGenericExternalSemanticIndexPayload.js +15 -0
- package/dist/internal/index-impl/normalizeGleanPayload.js +210 -0
- package/dist/internal/index-impl/normalizeGoAstKind.js +14 -0
- package/dist/internal/index-impl/normalizeJavaAstKind.js +24 -0
- package/dist/internal/index-impl/normalizeKotlinPsiKind.js +54 -0
- package/dist/internal/index-impl/normalizeLossSeverity.js +6 -0
- package/dist/internal/index-impl/normalizeLsifPayload.js +91 -0
- package/dist/internal/index-impl/normalizeLspDocuments.js +15 -0
- package/dist/internal/index-impl/normalizeLspPayload.js +33 -0
- package/dist/internal/index-impl/normalizeLspSymbolKind.js +5 -0
- package/dist/internal/index-impl/normalizeNativeDiffImport.js +15 -0
- package/dist/internal/index-impl/normalizeNativeImporterAdapter.js +33 -0
- package/dist/internal/index-impl/normalizeNativeImporterAdapterCoverage.js +38 -0
- package/dist/internal/index-impl/normalizeNativeImporterAdapterObservedCoverage.js +43 -0
- package/dist/internal/index-impl/normalizeNativeImporterSemanticCoverage.js +18 -0
- package/dist/internal/index-impl/normalizeNativeLossKind.js +8 -0
- package/dist/internal/index-impl/normalizeNativeLossRecord.js +20 -0
- package/dist/internal/index-impl/normalizeNativeLossRecords.js +6 -0
- package/dist/internal/index-impl/normalizeNativeTargetProjectionAdapter.js +37 -0
- package/dist/internal/index-impl/normalizeNativeTargetProjectionAdapterCoverage.js +20 -0
- package/dist/internal/index-impl/normalizeParserErrors.js +18 -0
- package/dist/internal/index-impl/normalizeRustSynKind.js +32 -0
- package/dist/internal/index-impl/normalizeScipPayload.js +98 -0
- package/dist/internal/index-impl/normalizeSemanticDbPayload.js +57 -0
- package/dist/internal/index-impl/normalizeSemanticSliceRef.js +4 -0
- package/dist/internal/index-impl/normalizeSwiftSyntaxKind.js +45 -0
- package/dist/internal/index-impl/normalizeSyntaxAstRoot.js +5 -0
- package/dist/internal/index-impl/numberOrUndefined.js +3 -0
- package/dist/internal/index-impl/observeNativeImporterAdapterCoverage.js +24 -0
- package/dist/internal/index-impl/observeNativeImporterAdapterCoverageDetails.js +66 -0
- package/dist/internal/index-impl/observeNativeImporterSemanticEvidence.js +23 -0
- package/dist/internal/index-impl/observedAdapterExactness.js +6 -0
- package/dist/internal/index-impl/oneLine.js +3 -0
- package/dist/internal/index-impl/parseCSharpRoslynSource.js +15 -0
- package/dist/internal/index-impl/parseClangAstSource.js +16 -0
- package/dist/internal/index-impl/parseGoAstSource.js +15 -0
- package/dist/internal/index-impl/parseJavaAstSource.js +16 -0
- package/dist/internal/index-impl/parseKotlinPsiSource.js +16 -0
- package/dist/internal/index-impl/parsePythonAstSource.js +16 -0
- package/dist/internal/index-impl/parseRustSynSource.js +13 -0
- package/dist/internal/index-impl/parseSwiftSyntaxSource.js +15 -0
- package/dist/internal/index-impl/parseTreeSitterSource.js +6 -0
- package/dist/internal/index-impl/primitiveCSharpRoslynFields.js +23 -0
- package/dist/internal/index-impl/primitiveClangAstFields.js +31 -0
- package/dist/internal/index-impl/primitiveGoAstFields.js +22 -0
- package/dist/internal/index-impl/primitiveJavaAstFields.js +22 -0
- package/dist/internal/index-impl/primitiveKotlinPsiFields.js +24 -0
- package/dist/internal/index-impl/primitivePythonAstFields.js +18 -0
- package/dist/internal/index-impl/primitiveRustSynFields.js +16 -0
- package/dist/internal/index-impl/primitiveSwiftSyntaxFields.js +21 -0
- package/dist/internal/index-impl/primitiveSyntaxFields.js +13 -0
- package/dist/internal/index-impl/primitiveTypeScriptFields.js +9 -0
- package/dist/internal/index-impl/projectFrontierAst.js +6 -0
- package/dist/internal/index-impl/projectImportAdmissionDecision.js +27 -0
- package/dist/internal/index-impl/projectImportAdmissionMergeScore.js +316 -0
- package/dist/internal/index-impl/projectImportAdmissionSummaries.js +252 -0
- package/dist/internal/index-impl/projectNativeImportToSource.js +90 -0
- package/dist/internal/index-impl/projectors.js +8 -0
- package/dist/internal/index-impl/pythonAliasName.js +5 -0
- package/dist/internal/index-impl/pythonAssignmentName.js +9 -0
- package/dist/internal/index-impl/pythonAstChildEntries.js +11 -0
- package/dist/internal/index-impl/pythonAstDeclaration.js +18 -0
- package/dist/internal/index-impl/pythonAstKind.js +3 -0
- package/dist/internal/index-impl/pythonAstLiteralValue.js +6 -0
- package/dist/internal/index-impl/pythonAstNodeValue.js +4 -0
- package/dist/internal/index-impl/pythonAstRoot.js +9 -0
- package/dist/internal/index-impl/pythonTargetName.js +12 -0
- package/dist/internal/index-impl/queryNativeParserFeatureMatrix.js +5 -0
- package/dist/internal/index-impl/queryProjectionReadinessMatrix.js +5 -0
- package/dist/internal/index-impl/readSemanticSliceJson.js +7 -0
- package/dist/internal/index-impl/readStringArray.js +5 -0
- package/dist/internal/index-impl/readUniversalAstJson.js +9 -0
- package/dist/internal/index-impl/relationPredicateForDeclaration.js +5 -0
- package/dist/internal/index-impl/renderCProjectionStubs.js +11 -0
- package/dist/internal/index-impl/renderGenericProjectionStubs.js +5 -0
- package/dist/internal/index-impl/renderJavaScriptProjectionStubs.js +12 -0
- package/dist/internal/index-impl/renderNativeProjectionStubs.js +13 -0
- package/dist/internal/index-impl/renderPythonProjectionStubs.js +10 -0
- package/dist/internal/index-impl/renderRustProjectionStubs.js +11 -0
- package/dist/internal/index-impl/renderTargetAst.js +6 -0
- package/dist/internal/index-impl/renderTargetAstWithSourceMap.js +6 -0
- package/dist/internal/index-impl/renderTypeScriptProjectionStubs.js +14 -0
- package/dist/internal/index-impl/renderers.js +8 -0
- package/dist/internal/index-impl/resolveCapabilityAdapters.js +29 -0
- package/dist/internal/index-impl/resolveNativeProjectAdapter.js +11 -0
- package/dist/internal/index-impl/resolveNativeTargetProjectionAdapter.js +14 -0
- package/dist/internal/index-impl/runNativeImporterAdapter.js +130 -0
- package/dist/internal/index-impl/runNativeTargetProjectionAdapter.js +115 -0
- package/dist/internal/index-impl/rustSynAstRoot.js +11 -0
- package/dist/internal/index-impl/rustSynChildEntries.js +10 -0
- package/dist/internal/index-impl/rustSynColumnToOneBased.js +3 -0
- package/dist/internal/index-impl/rustSynDeclaration.js +40 -0
- package/dist/internal/index-impl/rustSynIdentName.js +12 -0
- package/dist/internal/index-impl/rustSynImplName.js +11 -0
- package/dist/internal/index-impl/rustSynKind.js +15 -0
- package/dist/internal/index-impl/rustSynLiteralValue.js +5 -0
- package/dist/internal/index-impl/rustSynMacroKind.js +3 -0
- package/dist/internal/index-impl/rustSynNodeValue.js +6 -0
- package/dist/internal/index-impl/rustSynPathName.js +21 -0
- package/dist/internal/index-impl/rustSynPayload.js +6 -0
- package/dist/internal/index-impl/rustSynSpanKind.js +5 -0
- package/dist/internal/index-impl/rustSynUseName.js +26 -0
- package/dist/internal/index-impl/rustSynVisibility.js +9 -0
- package/dist/internal/index-impl/rustSynWrapperKind.js +12 -0
- package/dist/internal/index-impl/safeNativeImporterAdapterSummary.js +8 -0
- package/dist/internal/index-impl/safeNativeTargetProjectionAdapterSummary.js +8 -0
- package/dist/internal/index-impl/safeProjectionIdentifier.js +5 -0
- package/dist/internal/index-impl/scipOccurrenceRole.js +8 -0
- package/dist/internal/index-impl/scipOccurrenceRoleSet.js +12 -0
- package/dist/internal/index-impl/scipRelationshipRelations.js +20 -0
- package/dist/internal/index-impl/scipSymbolFacts.js +31 -0
- package/dist/internal/index-impl/scipSymbolId.js +8 -0
- package/dist/internal/index-impl/scipSyntaxKind.js +8 -0
- package/dist/internal/index-impl/selectSemanticSliceRecords.js +70 -0
- package/dist/internal/index-impl/semanticDbOccurrenceRole.js +5 -0
- package/dist/internal/index-impl/semanticDbSymbolFacts.js +15 -0
- package/dist/internal/index-impl/semanticDbSymbolId.js +7 -0
- package/dist/internal/index-impl/semanticHistoryRecords.js +233 -0
- package/dist/internal/index-impl/semanticIndexFromNativeDeclarations.js +127 -0
- package/dist/internal/index-impl/semanticMergeAdmissionForSeverity.js +5 -0
- package/dist/internal/index-impl/semanticMergeConflicts.js +116 -0
- package/dist/internal/index-impl/semanticPatchBundleRecords.js +240 -0
- package/dist/internal/index-impl/semanticPredicateMatches.js +4 -0
- package/dist/internal/index-impl/semanticSliceAssertion.js +8 -0
- package/dist/internal/index-impl/semanticSliceContext.js +24 -0
- package/dist/internal/index-impl/semanticSliceCurrentSource.js +4 -0
- package/dist/internal/index-impl/semanticSliceExpectedAssertions.js +8 -0
- package/dist/internal/index-impl/semanticSliceImportResult.js +30 -0
- package/dist/internal/index-impl/semanticSliceMappingMatchesRef.js +15 -0
- package/dist/internal/index-impl/semanticSliceMappingTouchesSets.js +7 -0
- package/dist/internal/index-impl/semanticSliceNativeNodeMatchesRef.js +12 -0
- package/dist/internal/index-impl/semanticSliceNativeParentMap.js +7 -0
- package/dist/internal/index-impl/semanticSliceReadiness.js +14 -0
- package/dist/internal/index-impl/semanticSliceReasons.js +11 -0
- package/dist/internal/index-impl/semanticSliceRecords.js +62 -0
- package/dist/internal/index-impl/semanticSliceRegionFromMapping.js +16 -0
- package/dist/internal/index-impl/semanticSliceRegionFromSymbol.js +21 -0
- package/dist/internal/index-impl/semanticSliceRegionMatchesRef.js +12 -0
- package/dist/internal/index-impl/semanticSliceRegionTouchesSets.js +6 -0
- package/dist/internal/index-impl/semanticSliceSourceFiles.js +35 -0
- package/dist/internal/index-impl/semanticSliceSourceHashAssertions.js +27 -0
- package/dist/internal/index-impl/semanticSliceSourceHashMap.js +18 -0
- package/dist/internal/index-impl/semanticSliceSourceMapLinks.js +21 -0
- package/dist/internal/index-impl/semanticSliceSourceSpans.js +9 -0
- package/dist/internal/index-impl/semanticSliceSourceTextMap.js +19 -0
- package/dist/internal/index-impl/semanticSliceSpanTouchesSelection.js +6 -0
- package/dist/internal/index-impl/semanticSliceSpansOverlap.js +15 -0
- package/dist/internal/index-impl/semanticSliceSymbolMatchesRef.js +13 -0
- package/dist/internal/index-impl/semanticSliceSymbolSpan.js +3 -0
- package/dist/internal/index-impl/semanticSliceSymbolTouchesSets.js +7 -0
- package/dist/internal/index-impl/semanticSliceTouchedSymbol.js +16 -0
- package/dist/internal/index-impl/semanticSliceValueMatches.js +6 -0
- package/dist/internal/index-impl/semanticTokenModifiers.js +7 -0
- package/dist/internal/index-impl/serializableDiagnostic.js +13 -0
- package/dist/internal/index-impl/serializableIncludeGraphSummary.js +10 -0
- package/dist/internal/index-impl/shortNodeText.js +6 -0
- package/dist/internal/index-impl/sourceMapRenderers.js +8 -0
- package/dist/internal/index-impl/sourcePreservationFromProjectionContext.js +5 -0
- package/dist/internal/index-impl/sourceSpanPathMatches.js +4 -0
- package/dist/internal/index-impl/sourceTextForSpan.js +12 -0
- package/dist/internal/index-impl/spanFromCSharpLineFields.js +12 -0
- package/dist/internal/index-impl/spanFromCSharpLineSpan.js +18 -0
- package/dist/internal/index-impl/spanFromCSharpRoslynNode.js +19 -0
- package/dist/internal/index-impl/spanFromClangAstNode.js +17 -0
- package/dist/internal/index-impl/spanFromGoAstNode.js +14 -0
- package/dist/internal/index-impl/spanFromJavaAstNode.js +36 -0
- package/dist/internal/index-impl/spanFromJavaLineFields.js +12 -0
- package/dist/internal/index-impl/spanFromJavaRange.js +22 -0
- package/dist/internal/index-impl/spanFromKotlinLineFields.js +12 -0
- package/dist/internal/index-impl/spanFromKotlinPsiNode.js +19 -0
- package/dist/internal/index-impl/spanFromKotlinRange.js +18 -0
- package/dist/internal/index-impl/spanFromLoc.js +11 -0
- package/dist/internal/index-impl/spanFromLspRange.js +12 -0
- package/dist/internal/index-impl/spanFromPythonAstNode.js +15 -0
- package/dist/internal/index-impl/spanFromRustSynNode.js +20 -0
- package/dist/internal/index-impl/spanFromScipOccurrence.js +40 -0
- package/dist/internal/index-impl/spanFromSemanticDbRange.js +11 -0
- package/dist/internal/index-impl/spanFromSwiftLineFields.js +12 -0
- package/dist/internal/index-impl/spanFromSwiftRange.js +18 -0
- package/dist/internal/index-impl/spanFromSwiftSyntaxNode.js +19 -0
- package/dist/internal/index-impl/spanFromTreeSitterNode.js +13 -0
- package/dist/internal/index-impl/spanFromTypeScriptNode.js +15 -0
- package/dist/internal/index-impl/stringFromTsExpression.js +7 -0
- package/dist/internal/index-impl/summarizeNativeChangedRegionProjections.js +16 -0
- package/dist/internal/index-impl/summarizeNativeImportFeatureEvidence.js +60 -0
- package/dist/internal/index-impl/summarizeNativeImportLosses.js +65 -0
- package/dist/internal/index-impl/summarizeProjectSourcePreservation.js +15 -0
- package/dist/internal/index-impl/swiftEvidenceSummary.js +19 -0
- package/dist/internal/index-impl/swiftGeneratedCodeLoss.js +20 -0
- package/dist/internal/index-impl/swiftGeneratedCodeMarker.js +11 -0
- package/dist/internal/index-impl/swiftGeneratedSourcePath.js +3 -0
- package/dist/internal/index-impl/swiftSyntaxAttributeNames.js +10 -0
- package/dist/internal/index-impl/swiftSyntaxChildEntries.js +18 -0
- package/dist/internal/index-impl/swiftSyntaxChildWithParent.js +6 -0
- package/dist/internal/index-impl/swiftSyntaxConditionalCompilationKind.js +3 -0
- package/dist/internal/index-impl/swiftSyntaxDeclarationName.js +19 -0
- package/dist/internal/index-impl/swiftSyntaxDeclarations.js +38 -0
- package/dist/internal/index-impl/swiftSyntaxEnumCaseNames.js +7 -0
- package/dist/internal/index-impl/swiftSyntaxFunctionLikeKind.js +8 -0
- package/dist/internal/index-impl/swiftSyntaxHasBody.js +3 -0
- package/dist/internal/index-impl/swiftSyntaxImportPath.js +14 -0
- package/dist/internal/index-impl/swiftSyntaxKind.js +11 -0
- package/dist/internal/index-impl/swiftSyntaxLiteralValue.js +5 -0
- package/dist/internal/index-impl/swiftSyntaxMacroKind.js +3 -0
- package/dist/internal/index-impl/swiftSyntaxModifierNames.js +16 -0
- package/dist/internal/index-impl/swiftSyntaxName.js +14 -0
- package/dist/internal/index-impl/swiftSyntaxNodeValue.js +7 -0
- package/dist/internal/index-impl/swiftSyntaxOperatorName.js +6 -0
- package/dist/internal/index-impl/swiftSyntaxPatternName.js +6 -0
- package/dist/internal/index-impl/swiftSyntaxPosition.js +27 -0
- package/dist/internal/index-impl/swiftSyntaxPositionKind.js +6 -0
- package/dist/internal/index-impl/swiftSyntaxProblemNode.js +13 -0
- package/dist/internal/index-impl/swiftSyntaxRecoveredKind.js +7 -0
- package/dist/internal/index-impl/swiftSyntaxRoot.js +15 -0
- package/dist/internal/index-impl/swiftSyntaxTypeDeclarationKind.js +7 -0
- package/dist/internal/index-impl/swiftSyntaxTypeDeclarationSymbolKind.js +8 -0
- package/dist/internal/index-impl/swiftSyntaxTypeName.js +19 -0
- package/dist/internal/index-impl/swiftSyntaxVariableNames.js +7 -0
- package/dist/internal/index-impl/syntaxDeclaration.js +18 -0
- package/dist/internal/index-impl/testSemanticSlice.js +43 -0
- package/dist/internal/index-impl/treeSitterDeclaration.js +24 -0
- package/dist/internal/index-impl/treeSitterFieldText.js +5 -0
- package/dist/internal/index-impl/truncatedAstLoss.js +16 -0
- package/dist/internal/index-impl/typeScriptDeclaration.js +14 -0
- package/dist/internal/index-impl/typeScriptKindName.js +6 -0
- package/dist/internal/index-impl/typeScriptNodeValue.js +4 -0
- package/dist/internal/index-impl/uniqueNativeProjectionDeclarations.js +9 -0
- package/dist/internal/index-impl/uniqueSemanticSliceNativeNodes.js +11 -0
- package/dist/internal/index-impl/uniqueSemanticSliceRegions.js +15 -0
- package/dist/internal/index-impl/uniqueSemanticSliceSpans.js +21 -0
- package/dist/internal/index-impl/unverifiedNativeAstLosses.js +16 -0
- package/dist/internal/index-impl/uriToPath.js +11 -0
- package/dist/internal/index-impl/visitCSharpRoslynNode.js +87 -0
- package/dist/internal/index-impl/visitClangAstNode.js +62 -0
- package/dist/internal/index-impl/visitGoAstNode.js +99 -0
- package/dist/internal/index-impl/visitJavaAstNode.js +73 -0
- package/dist/internal/index-impl/visitKotlinPsiNode.js +108 -0
- package/dist/internal/index-impl/visitPythonAstNode.js +47 -0
- package/dist/internal/index-impl/visitRustSynNode.js +62 -0
- package/dist/internal/index-impl/visitSwiftSyntaxNode.js +103 -0
- package/dist/internal/index-impl/visitSyntaxAstNode.js +46 -0
- package/dist/internal/index-impl/visitTreeSitterNode.js +145 -0
- package/dist/internal/index-impl/visitTypeScriptAstNode.js +45 -0
- package/dist/internal/index-impl/withExternalEmptyLoss.js +32 -0
- package/dist/internal/index-impl/withNativeImportReadiness.js +53 -0
- package/dist/internal/index-impl/writeSemanticSliceJson.js +7 -0
- package/dist/internal/index-impl/writeUniversalAstJson.js +8 -0
- package/dist/language-adapter-package-contracts.js +302 -0
- package/dist/native-import-coverage-matrix.js +237 -0
- package/dist/native-import-language-profiles.js +169 -0
- package/dist/native-import-utils.js +143 -0
- package/dist/native-js-ts-importers.js +85 -0
- package/dist/native-parser-ast-format-matrix.js +147 -0
- package/dist/native-parser-ast-format-profiles.js +271 -0
- package/dist/native-parser-feature-assessment.js +118 -0
- package/dist/native-parser-feature-coverage.js +268 -0
- package/dist/native-parser-feature-matrix.js +92 -0
- package/dist/native-parser-feature-rows.js +219 -0
- package/dist/native-region-scanner-core.js +179 -0
- package/dist/native-region-scanner-dynamic.js +259 -0
- package/dist/native-region-scanner-functional.js +191 -0
- package/dist/native-region-scanner-js.js +310 -0
- package/dist/native-region-scanner-main.js +301 -0
- package/dist/native-region-scanner.js +62 -0
- package/dist/native-source-maps.js +260 -0
- package/dist/native-source-preservation-scanner.js +266 -0
- package/dist/native-source-preservation-types.d.ts +77 -0
- package/dist/projection-readiness-helpers.js +166 -0
- package/dist/projection-readiness-matrix.js +122 -0
- package/dist/projection-target-loss-matrix.js +318 -0
- package/dist/semantic-import-contract-summary.js +188 -0
- package/dist/semantic-import-layers.js +320 -0
- package/dist/semantic-import-regions.js +181 -0
- package/dist/semantic-import-sidecar-admission-types.d.ts +61 -0
- package/dist/semantic-import-sidecar-entry.js +78 -0
- package/dist/semantic-import-sidecar-types.d.ts +275 -0
- package/dist/semantic-import-source-preservation.js +198 -0
- package/dist/universal-capability-matrix.js +280 -0
- package/dist/universal-dialect-layer.js +74 -0
- package/dist/universal-dialect-registry.js +204 -0
- package/dist/universal-dialect-utils.js +110 -0
- package/package.json +1 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import{idFragment,normalizeSemanticMergeReadiness,uniqueStrings}from'../../native-import-utils.js';
|
|
2
|
+
|
|
3
|
+
export const SemanticPatchBundleAdmissionStatuses=Object.freeze(['proposed','queued','admitted','needs-review','blocked','rejected']);
|
|
4
|
+
|
|
5
|
+
export function createSemanticPatchBundleRecord(input={},options={}){
|
|
6
|
+
const source=input?.changeSet??input;
|
|
7
|
+
const patch=options.patch??source.patch??source.semanticPatch??source.patchBundle;
|
|
8
|
+
const mergeCandidate=options.mergeCandidate??source.mergeCandidate??source.candidate;
|
|
9
|
+
const regionInputs=array(options.changedRegions??source.changedRegions??source.regions);
|
|
10
|
+
const sourceMapLinks=normalizeSourceMapLinks([
|
|
11
|
+
...array(options.sourceMapLinks??source.sourceMapLinks),
|
|
12
|
+
...regionInputs.flatMap((region)=>array(region?.metadata?.changedRegionProjection?.sourceMapLinks??region?.sourceMapLinks))
|
|
13
|
+
]);
|
|
14
|
+
const changedRegions=normalizeRegions(regionInputs,{...source,sourceMapLinks});
|
|
15
|
+
const sources=normalizeSources([
|
|
16
|
+
...array(options.sources??source.sources),
|
|
17
|
+
sourceRef(source.before,'before',source.beforeHash),
|
|
18
|
+
sourceRef(source.after,'after',source.afterHash)
|
|
19
|
+
],source);
|
|
20
|
+
const evidenceRecords=[...array(options.evidence??source.evidence),...array(patch?.evidence),...array(mergeCandidate?.evidence)];
|
|
21
|
+
const patchId=firstString(options.patchId,source.patchId,patch?.id,mergeCandidate?.patchId);
|
|
22
|
+
const mergeCandidateId=firstString(options.mergeCandidateId,source.mergeCandidateId,mergeCandidate?.id);
|
|
23
|
+
const baseHash=firstString(options.baseHash,source.baseHash,source.beforeHash,patch?.baseHash,mergeCandidate?.baseHash,...sources.map((item)=>item.baseHash));
|
|
24
|
+
const targetHash=firstString(options.targetHash,source.targetHash,source.afterHash,patch?.targetHash,mergeCandidate?.targetHash,...sources.map((item)=>item.targetHash));
|
|
25
|
+
const readiness=normalizeSemanticMergeReadiness(firstString(options.readiness,source.readiness,source.admission?.readiness,mergeCandidate?.readiness))
|
|
26
|
+
?? firstString(options.readiness,source.readiness,source.admission?.readiness,mergeCandidate?.readiness,'needs-review');
|
|
27
|
+
const evidenceIds=uniqueStrings([...strings(options.evidenceIds),...strings(source.evidenceIds),...evidenceRecords.map((record)=>record?.id),...strings(mergeCandidate?.evidenceIds)]);
|
|
28
|
+
const proofIds=uniqueStrings([...strings(options.proofIds),...strings(source.proofIds),...evidenceRecords.filter((record)=>record?.kind==='proof').map((record)=>record.id),...strings(mergeCandidate?.proofIds)]);
|
|
29
|
+
const historyIds=uniqueStrings([...strings(options.historyIds),...strings(options.historyId),...strings(source.historyIds),...strings(source.historyId)]);
|
|
30
|
+
const conflictKeys=uniqueStrings([
|
|
31
|
+
...strings(options.conflictKeys),
|
|
32
|
+
...strings(source.conflictKeys),
|
|
33
|
+
...strings(mergeCandidate?.conflictKeys),
|
|
34
|
+
...changedRegions.flatMap((region)=>[region.conflictKey,...array(region.admission?.conflictKeys)]),
|
|
35
|
+
...(source.metadata?.semanticMergeConflictSummary?.conflictKeys??[])
|
|
36
|
+
]);
|
|
37
|
+
const admission=normalizeAdmission(options.admission??source.admission,{readiness,conflictKeys,source,mergeCandidate});
|
|
38
|
+
const id=options.id??(source.kind==='frontier.lang.semanticPatchBundleRecord'?source.id:undefined)
|
|
39
|
+
??`semantic_patch_bundle_${idFragment(firstString(source.id,patchId,mergeCandidateId,source.sourcePath,source.language,'record'))}`;
|
|
40
|
+
const language=options.language??source.language??mergeCandidate?.language??sources.find((item)=>item.language)?.language;
|
|
41
|
+
const sourcePath=options.sourcePath??source.sourcePath??mergeCandidate?.sourcePath??sources.find((item)=>item.sourcePath)?.sourcePath;
|
|
42
|
+
const index=recordIndex({baseHash,targetHash,sources,changedRegions,sourceMapLinks,evidenceIds,proofIds,historyIds,patchId,mergeCandidateId,admission});
|
|
43
|
+
return{
|
|
44
|
+
kind:'frontier.lang.semanticPatchBundleRecord',
|
|
45
|
+
version:1,
|
|
46
|
+
schema:'frontier.lang.semanticPatchBundleRecord.v1',
|
|
47
|
+
id,
|
|
48
|
+
createdAt:options.createdAt??source.createdAt,
|
|
49
|
+
patchId,
|
|
50
|
+
mergeCandidateId,
|
|
51
|
+
language,
|
|
52
|
+
sourcePath,
|
|
53
|
+
baseHash,
|
|
54
|
+
targetHash,
|
|
55
|
+
sources,
|
|
56
|
+
changedRegions,
|
|
57
|
+
sourceMapLinks,
|
|
58
|
+
evidenceIds,
|
|
59
|
+
proofIds,
|
|
60
|
+
historyIds,
|
|
61
|
+
admission,
|
|
62
|
+
index,
|
|
63
|
+
summary:{changedRegions:changedRegions.length,sourceMapLinks:sourceMapLinks.length,evidenceIds:evidenceIds.length,proofIds:proofIds.length,historyIds:historyIds.length,reviewRequired:admission.reviewRequired,autoMergeClaim:admission.autoMergeClaim},
|
|
64
|
+
metadata:compactRecord({
|
|
65
|
+
sourceChangeSetId:source.kind==='frontier.lang.nativeSourceChangeSet'?source.id:undefined,
|
|
66
|
+
patchRisk:patch?.risk,
|
|
67
|
+
nativeChangeSummary:source.summary,
|
|
68
|
+
changedRegionProjectionSummary:source.metadata?.changedRegionProjectionSummary,
|
|
69
|
+
semanticMergeConflictSummary:source.metadata?.semanticMergeConflictSummary,
|
|
70
|
+
...options.metadata
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function querySemanticPatchBundleRecords(records,query={}){
|
|
76
|
+
return array(records).filter(Boolean).filter((record)=>matchesRecord(record,query)).sort((left,right)=>String(left.id).localeCompare(String(right.id)));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function normalizeSources(entries,context){
|
|
80
|
+
return entries.filter(Boolean).map((entry,index)=>compactRecord({
|
|
81
|
+
id:entry.id??entry.sourceId,
|
|
82
|
+
side:entry.side,
|
|
83
|
+
importId:entry.importId??entry.importResultId,
|
|
84
|
+
language:entry.language??context.language,
|
|
85
|
+
sourcePath:entry.sourcePath??context.sourcePath,
|
|
86
|
+
sourceHash:entry.sourceHash??entry.hash,
|
|
87
|
+
baseHash:entry.baseHash??entry.beforeHash??context.baseHash??context.beforeHash,
|
|
88
|
+
targetHash:entry.targetHash??entry.afterHash??context.targetHash??context.afterHash,
|
|
89
|
+
nativeSourceId:entry.nativeSourceId,
|
|
90
|
+
nativeAstId:entry.nativeAstId,
|
|
91
|
+
semanticIndexId:entry.semanticIndexId,
|
|
92
|
+
universalAstId:entry.universalAstId,
|
|
93
|
+
sourceMapIds:uniqueStrings(entry.sourceMapIds),
|
|
94
|
+
ordinal:index
|
|
95
|
+
})).filter((entry)=>entry.importId||entry.sourcePath||entry.sourceHash||entry.baseHash||entry.targetHash);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function sourceRef(importResult,side,sourceHash){
|
|
99
|
+
if(!importResult)return undefined;
|
|
100
|
+
return compactRecord({
|
|
101
|
+
id:`${side}_${importResult.id??idFragment(importResult.sourcePath??'source')}`,side,importId:importResult.id,
|
|
102
|
+
language:importResult.language,
|
|
103
|
+
sourcePath:importResult.sourcePath,
|
|
104
|
+
sourceHash:sourceHash??importResult.nativeSource?.sourceHash??importResult.nativeAst?.sourceHash??importResult.sourceHash,
|
|
105
|
+
nativeSourceId:importResult.nativeSource?.id,
|
|
106
|
+
nativeAstId:importResult.nativeAst?.id,
|
|
107
|
+
semanticIndexId:importResult.semanticIndex?.id,
|
|
108
|
+
universalAstId:importResult.universalAst?.id,
|
|
109
|
+
sourceMapIds:uniqueStrings((importResult.sourceMaps??[]).map((map)=>map.id))
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function normalizeRegions(regions,context){
|
|
114
|
+
return regions.filter(Boolean).map((region,index)=>{
|
|
115
|
+
const projection=region.metadata?.changedRegionProjection??region.projection;
|
|
116
|
+
const projected=projection?.region??{};
|
|
117
|
+
const key=firstString(region.key,region.ownershipKey,projected.key,region.conflictKey,region.id);
|
|
118
|
+
const conflictKey=firstString(region.conflictKey,projection?.conflictKey,key);
|
|
119
|
+
const links=array(projection?.sourceMapLinks??region.sourceMapLinks);
|
|
120
|
+
return compactRecord({
|
|
121
|
+
id:region.id??projected.id??`changed_region_${index+1}`,
|
|
122
|
+
key,
|
|
123
|
+
conflictKey,
|
|
124
|
+
changeKind:region.changeKind??projection?.changeKind,
|
|
125
|
+
regionKind:region.regionKind??region.ownershipRegionKind??projected.kind,
|
|
126
|
+
granularity:region.granularity??projected.granularity,
|
|
127
|
+
precision:region.precision??projected.precision,
|
|
128
|
+
language:region.language??projection?.language??context.language,
|
|
129
|
+
sourcePath:region.sourcePath??projection?.sourcePath??context.sourcePath,
|
|
130
|
+
sourceHash:region.sourceHash??projection?.after?.sourceHash??projection?.before?.sourceHash,
|
|
131
|
+
symbolId:region.symbolId??projected.symbolId,
|
|
132
|
+
symbolName:region.symbolName??region.name??projected.symbolName,
|
|
133
|
+
symbolKind:region.symbolKind??projected.symbolKind,
|
|
134
|
+
sourceSpan:region.sourceSpan??projected.sourceSpan,
|
|
135
|
+
sourceMapLinkIds:uniqueStrings([...strings(region.sourceMapLinkIds),...links.map((link)=>link.id)]),
|
|
136
|
+
sourceMapIds:uniqueStrings([...strings(region.sourceMapIds),...links.map((link)=>link.sourceMapId)]),
|
|
137
|
+
sourceMapMappingIds:uniqueStrings([...strings(region.sourceMapMappingIds),...links.map((link)=>link.sourceMapMappingId)]),
|
|
138
|
+
admission:compactRecord({
|
|
139
|
+
readiness:projection?.admission?.readiness,
|
|
140
|
+
action:projection?.admission?.action,
|
|
141
|
+
reasonCodes:uniqueStrings(projection?.admission?.reasons),
|
|
142
|
+
conflictKeys:uniqueStrings(projection?.admission?.conflictKeys)
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function normalizeSourceMapLinks(links){
|
|
149
|
+
const seen=new Set();
|
|
150
|
+
const result=[];
|
|
151
|
+
for(const link of links.filter(Boolean)){
|
|
152
|
+
const id=link.id??`source_map_link_${result.length+1}`;
|
|
153
|
+
if(seen.has(id))continue;
|
|
154
|
+
seen.add(id);
|
|
155
|
+
result.push(compactRecord({
|
|
156
|
+
id,side:link.side,sourceMapId:link.sourceMapId,sourceMapMappingId:link.sourceMapMappingId,
|
|
157
|
+
sourcePath:link.sourcePath,sourceHash:link.sourceHash,targetPath:link.targetPath,targetHash:link.targetHash,
|
|
158
|
+
semanticSymbolId:link.semanticSymbolId,
|
|
159
|
+
semanticOccurrenceId:link.semanticOccurrenceId,
|
|
160
|
+
semanticNodeId:link.semanticNodeId,
|
|
161
|
+
nativeSourceId:link.nativeSourceId,
|
|
162
|
+
nativeAstNodeId:link.nativeAstNodeId,
|
|
163
|
+
precision:link.precision,
|
|
164
|
+
sourceSpan:link.sourceSpan,
|
|
165
|
+
generatedSpan:link.generatedSpan,
|
|
166
|
+
regionKey:link.ownershipRegionKey,
|
|
167
|
+
regionKind:link.ownershipRegionKind
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function normalizeAdmission(input={},context){
|
|
174
|
+
const readiness=normalizeSemanticMergeReadiness(input.readiness??context.readiness)??input.readiness??context.readiness;
|
|
175
|
+
const status=input.status??admissionStatusForReadiness(readiness);
|
|
176
|
+
return compactRecord({
|
|
177
|
+
status,
|
|
178
|
+
readiness,
|
|
179
|
+
reviewRequired:input.reviewRequired??status!=='admitted',
|
|
180
|
+
autoMergeClaim:false,
|
|
181
|
+
reasonCodes:uniqueStrings([...strings(input.reasonCodes),...strings(context.source.reasons),...strings(context.mergeCandidate?.reasons)]),
|
|
182
|
+
conflictKeys:uniqueStrings([...strings(input.conflictKeys),...context.conflictKeys]),
|
|
183
|
+
admittedAt:input.admittedAt,
|
|
184
|
+
reviewerId:input.reviewerId,
|
|
185
|
+
evidenceIds:uniqueStrings(input.evidenceIds),
|
|
186
|
+
metadata:input.metadata
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function recordIndex(parts){
|
|
191
|
+
return{
|
|
192
|
+
baseHashes:uniqueStrings([parts.baseHash,...parts.sources.map((item)=>item.baseHash)]),
|
|
193
|
+
targetHashes:uniqueStrings([parts.targetHash,...parts.sources.map((item)=>item.targetHash)]),
|
|
194
|
+
sourceHashes:uniqueStrings(parts.sources.map((item)=>item.sourceHash)),
|
|
195
|
+
sourcePaths:uniqueStrings(parts.sources.map((item)=>item.sourcePath)),
|
|
196
|
+
regionKeys:uniqueStrings(parts.changedRegions.map((region)=>region.key)),
|
|
197
|
+
regionKinds:uniqueStrings(parts.changedRegions.map((region)=>region.regionKind)),
|
|
198
|
+
conflictKeys:uniqueStrings(parts.changedRegions.flatMap((region)=>[region.conflictKey,...array(region.admission?.conflictKeys)])),
|
|
199
|
+
sourceMapIds:uniqueStrings([...parts.sourceMapLinks.map((link)=>link.sourceMapId),...parts.changedRegions.flatMap((region)=>region.sourceMapIds??[])]),
|
|
200
|
+
sourceMapMappingIds:uniqueStrings([...parts.sourceMapLinks.map((link)=>link.sourceMapMappingId),...parts.changedRegions.flatMap((region)=>region.sourceMapMappingIds??[])]),
|
|
201
|
+
sourceMapLinkIds:uniqueStrings(parts.sourceMapLinks.map((link)=>link.id)),
|
|
202
|
+
evidenceIds:parts.evidenceIds,
|
|
203
|
+
proofIds:parts.proofIds,
|
|
204
|
+
historyIds:parts.historyIds,
|
|
205
|
+
patchIds:uniqueStrings([parts.patchId]),
|
|
206
|
+
mergeCandidateIds:uniqueStrings([parts.mergeCandidateId]),
|
|
207
|
+
readinesses:uniqueStrings([parts.admission.readiness,...parts.changedRegions.map((region)=>region.admission?.readiness)]),
|
|
208
|
+
admissionStatuses:uniqueStrings([parts.admission.status])
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
function matchesRecord(record,query){
|
|
213
|
+
const index=record.index??recordIndex({...record,baseHash:record.baseHash,targetHash:record.targetHash,sources:record.sources??[],changedRegions:record.changedRegions??[],sourceMapLinks:record.sourceMapLinks??[],evidenceIds:record.evidenceIds??[],proofIds:record.proofIds??[],historyIds:record.historyIds??[],patchId:record.patchId,mergeCandidateId:record.mergeCandidateId,admission:record.admission??{}});
|
|
214
|
+
return matchAny(queryValues(query.id,query.ids),[record.id])
|
|
215
|
+
&&matchAny(queryValues(query.patchId,query.patchIds),index.patchIds)
|
|
216
|
+
&&matchAny(queryValues(query.mergeCandidateId,query.mergeCandidateIds),index.mergeCandidateIds)
|
|
217
|
+
&&matchAny(queryValues(query.sourcePath,query.sourcePaths),[record.sourcePath,...index.sourcePaths])
|
|
218
|
+
&&matchAny(queryValues(query.sourceHash,query.sourceHashes),index.sourceHashes)
|
|
219
|
+
&&matchAny(queryValues(query.baseHash,query.baseHashes),[record.baseHash,...index.baseHashes])
|
|
220
|
+
&&matchAny(queryValues(query.targetHash,query.targetHashes),[record.targetHash,...index.targetHashes])
|
|
221
|
+
&&matchAny(queryValues(query.regionKey,query.regionKeys),index.regionKeys)
|
|
222
|
+
&&matchAny(queryValues(query.regionKind,query.regionKinds),index.regionKinds)
|
|
223
|
+
&&matchAny(queryValues(query.conflictKey,query.conflictKeys),index.conflictKeys)
|
|
224
|
+
&&matchAny(queryValues(query.sourceMapId,query.sourceMapIds),index.sourceMapIds)
|
|
225
|
+
&&matchAny(queryValues(query.sourceMapMappingId,query.sourceMapMappingIds),index.sourceMapMappingIds)
|
|
226
|
+
&&matchAny(queryValues(query.sourceMapLinkId,query.sourceMapLinkIds),index.sourceMapLinkIds)
|
|
227
|
+
&&matchAny(queryValues(query.evidenceId,query.evidenceIds),index.evidenceIds)
|
|
228
|
+
&&matchAny(queryValues(query.proofId,query.proofIds),index.proofIds)
|
|
229
|
+
&&matchAny(queryValues(query.historyId,query.historyIds),index.historyIds)
|
|
230
|
+
&&matchAny(queryValues(query.readiness,query.readinesses),index.readinesses)
|
|
231
|
+
&&matchAny(queryValues(query.admissionStatus,query.admissionStatuses),index.admissionStatuses);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
function admissionStatusForReadiness(readiness){return readiness==='blocked'?'blocked':readiness==='needs-review'?'needs-review':'proposed';}
|
|
235
|
+
function queryValues(...values){return uniqueStrings(values.flatMap((value)=>strings(value)));}
|
|
236
|
+
function matchAny(filters,values){if(filters.length===0)return true;const valueSet=new Set(strings(values));return filters.some((filter)=>valueSet.has(filter));}
|
|
237
|
+
function array(value){if(value===undefined||value===null)return[];return Array.isArray(value)?value:[value];}
|
|
238
|
+
function strings(value){return array(value).map((entry)=>String(entry??'')).filter(Boolean);}
|
|
239
|
+
function firstString(...values){return values.map((value)=>value===undefined||value===null?'':String(value)).find(Boolean);}
|
|
240
|
+
function compactRecord(value){return Object.fromEntries(Object.entries(value??{}).filter(([,entry])=>entry!==undefined&&(!Array.isArray(entry)||entry.length>0)));}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{semanticSliceImportResult}from'./semanticSliceImportResult.js';import{semanticSliceSourceHashMap}from'./semanticSliceSourceHashMap.js';import{semanticSliceSourceTextMap}from'./semanticSliceSourceTextMap.js';
|
|
2
|
+
export function semanticSliceContext(input, options = {}) {
|
|
3
|
+
const value = input?.importResult ?? input?.import ?? input?.source ?? input;
|
|
4
|
+
const imported = semanticSliceImportResult(value, options);
|
|
5
|
+
const universalAst = imported?.universalAst ?? (value?.kind === 'frontier.lang.universalAst' ? value : value?.universalAst);
|
|
6
|
+
const sidecar = value?.kind === 'frontier.lang.semanticImportSidecar' ? value : input?.sidecar ?? options.sidecar;
|
|
7
|
+
const nativeSource = imported?.nativeSource ?? universalAst?.nativeSources?.[0];
|
|
8
|
+
const nativeAst = imported?.nativeAst ?? nativeSource?.ast;
|
|
9
|
+
const semanticIndex = imported?.semanticIndex ?? universalAst?.semanticIndex;
|
|
10
|
+
const language = options.language ?? imported?.language ?? universalAst?.metadata?.sourceLanguage ?? nativeSource?.language ?? sidecar?.language;
|
|
11
|
+
const sourcePath = options.sourcePath ?? imported?.sourcePath ?? universalAst?.metadata?.sourcePath ?? nativeSource?.sourcePath ?? semanticIndex?.documents?.[0]?.path;
|
|
12
|
+
return {
|
|
13
|
+
importResult: imported,
|
|
14
|
+
universalAst,
|
|
15
|
+
sidecar,
|
|
16
|
+
nativeSource,
|
|
17
|
+
nativeAst,
|
|
18
|
+
semanticIndex,
|
|
19
|
+
language,
|
|
20
|
+
sourcePath,
|
|
21
|
+
sourceTexts: semanticSliceSourceTextMap(imported, universalAst, value, options),
|
|
22
|
+
sourceHashes: semanticSliceSourceHashMap(imported, universalAst, value, options)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function semanticSliceExpectedAssertions(selection, unresolvedEntryRefs) {
|
|
2
|
+
return [
|
|
3
|
+
{ id: 'entryRefsResolved', expected: unresolvedEntryRefs.length === 0 },
|
|
4
|
+
{ id: 'nonEmptySelection', expected: selection.symbols.length + selection.regions.length + selection.nativeNodes.length > 0 },
|
|
5
|
+
{ id: 'sourceMapLinks', expected: selection.mappings.length > 0 },
|
|
6
|
+
{ id: 'conflictKeys', expected: true }
|
|
7
|
+
];
|
|
8
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import{idFragment}from'../../native-import-utils.js';
|
|
2
|
+
import{importNativeSource}from'./importNativeSource.js';
|
|
3
|
+
export function semanticSliceImportResult(value, options = {}) {
|
|
4
|
+
if (!value) return undefined;
|
|
5
|
+
if (value.kind === 'frontier.lang.importResult') return value;
|
|
6
|
+
if (value.kind === 'frontier.lang.universalAst') {
|
|
7
|
+
const nativeSource = value.nativeSources?.[0];
|
|
8
|
+
return {
|
|
9
|
+
kind: 'frontier.lang.importResult',
|
|
10
|
+
version: 1,
|
|
11
|
+
id: value.metadata?.nativeImportId ?? `import_${idFragment(value.id)}`,
|
|
12
|
+
language: value.metadata?.sourceLanguage ?? nativeSource?.language ?? options.language,
|
|
13
|
+
sourcePath: value.metadata?.sourcePath ?? nativeSource?.sourcePath ?? options.sourcePath,
|
|
14
|
+
document: value.document,
|
|
15
|
+
nativeSource,
|
|
16
|
+
nativeAst: nativeSource?.ast,
|
|
17
|
+
semanticIndex: value.semanticIndex,
|
|
18
|
+
universalAst: value,
|
|
19
|
+
sourceMaps: value.sourceMaps ?? [],
|
|
20
|
+
losses: value.losses ?? [],
|
|
21
|
+
evidence: value.evidence ?? [],
|
|
22
|
+
mergeCandidates: value.mergeCandidates ?? [],
|
|
23
|
+
metadata: value.metadata ?? {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (value.kind === 'frontier.lang.semanticImportSidecar') return undefined;
|
|
27
|
+
if (value.universalAst || value.semanticIndex || value.nativeSource || value.nativeAst) return value;
|
|
28
|
+
if (value.sourceText || value.nodes || value.nativeAst) return importNativeSource(value);
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{normalizeSemanticSliceRef}from'./normalizeSemanticSliceRef.js';import{semanticSliceValueMatches}from'./semanticSliceValueMatches.js';
|
|
2
|
+
export function semanticSliceMappingMatchesRef(mapping, ref) {
|
|
3
|
+
const pathRef = normalizeSemanticSliceRef(ref, 'path');
|
|
4
|
+
const normalized = normalizeSemanticSliceRef(ref, 'mapping');
|
|
5
|
+
return [
|
|
6
|
+
mapping.id,
|
|
7
|
+
mapping.semanticSymbolId,
|
|
8
|
+
mapping.semanticOccurrenceId,
|
|
9
|
+
mapping.semanticNodeId,
|
|
10
|
+
mapping.nativeAstNodeId,
|
|
11
|
+
mapping.ownershipRegionId,
|
|
12
|
+
mapping.ownershipRegionKey
|
|
13
|
+
].filter(Boolean).some((value) => semanticSliceValueMatches(value, normalized))
|
|
14
|
+
|| semanticSliceValueMatches(mapping.sourceSpan?.path ?? mapping.sourceMapSourcePath, pathRef);
|
|
15
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function semanticSliceMappingTouchesSets(mapping, selection) {
|
|
2
|
+
return selection.selectedMappings.has(mapping.id)
|
|
3
|
+
|| selection.selectedSymbols.has(mapping.semanticSymbolId)
|
|
4
|
+
|| selection.selectedNativeNodes.has(mapping.nativeAstNodeId)
|
|
5
|
+
|| selection.selectedRegions.has(mapping.ownershipRegionId)
|
|
6
|
+
|| selection.selectedRegions.has(mapping.ownershipRegionKey);
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{normalizeSemanticSliceRef}from'./normalizeSemanticSliceRef.js';import{semanticSliceValueMatches}from'./semanticSliceValueMatches.js';
|
|
2
|
+
export function semanticSliceNativeNodeMatchesRef(node, ref) {
|
|
3
|
+
const normalized = normalizeSemanticSliceRef(ref, 'native');
|
|
4
|
+
return [
|
|
5
|
+
node.id,
|
|
6
|
+
node.nodeId,
|
|
7
|
+
node.name,
|
|
8
|
+
node.symbolId,
|
|
9
|
+
node.kind,
|
|
10
|
+
node.languageKind
|
|
11
|
+
].filter(Boolean).some((value) => semanticSliceValueMatches(value, normalized));
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{maxSemanticMergeReadiness}from'../../native-import-utils.js';
|
|
2
|
+
import{summarizeNativeImportLosses}from'./summarizeNativeImportLosses.js';
|
|
3
|
+
export function semanticSliceReadiness(context, selection, unresolvedEntryRefs) {
|
|
4
|
+
if (unresolvedEntryRefs.length) return 'blocked';
|
|
5
|
+
if (selection.symbols.length + selection.regions.length + selection.nativeNodes.length === 0) return 'blocked';
|
|
6
|
+
const lossReadiness = summarizeNativeImportLosses(selection.losses, { evidence: context.importResult?.evidence }).semanticMergeReadiness;
|
|
7
|
+
return [
|
|
8
|
+
context.importResult?.metadata?.semanticMergeReadiness,
|
|
9
|
+
context.importResult?.metadata?.nativeImportLossSummary?.semanticMergeReadiness,
|
|
10
|
+
context.sidecar?.summary?.readiness,
|
|
11
|
+
...(context.importResult?.mergeCandidates ?? []).map((candidate) => candidate.readiness),
|
|
12
|
+
lossReadiness
|
|
13
|
+
].reduce((current, value) => maxSemanticMergeReadiness(current, value ?? 'ready'), 'ready');
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{uniqueStrings}from'../../native-import-utils.js';
|
|
2
|
+
export function semanticSliceReasons(context, selection, unresolvedEntryRefs, readiness) {
|
|
3
|
+
return uniqueStrings([
|
|
4
|
+
unresolvedEntryRefs.length ? `Unresolved semantic slice entry refs: ${unresolvedEntryRefs.join(', ')}` : undefined,
|
|
5
|
+
selection.symbols.length + selection.regions.length + selection.nativeNodes.length === 0 ? 'Semantic slice selected no reviewable records.' : undefined,
|
|
6
|
+
selection.mappings.length === 0 ? 'Semantic slice has no source-map links; source review may need file-level fallback.' : undefined,
|
|
7
|
+
selection.losses.length ? `Semantic slice carries ${selection.losses.length} native import loss record(s).` : undefined,
|
|
8
|
+
readiness !== 'ready' ? `Semantic slice readiness is ${readiness}.` : undefined,
|
|
9
|
+
context.importResult?.metadata?.nativeImportLossSummary?.semanticMergeReadiness === 'needs-review' ? 'Parent native import requires review.' : undefined
|
|
10
|
+
].filter(Boolean));
|
|
11
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{uniqueByEvidenceId,uniqueByLossId,uniqueRecordsById}from'../../native-import-utils.js';
|
|
2
|
+
import{mergeSemanticSliceSymbols}from'./mergeSemanticSliceSymbols.js';import{nativeAstNodes}from'./nativeAstNodes.js';import{nativeImportEntries}from'./nativeImportEntries.js';import{semanticSliceRegionFromMapping}from'./semanticSliceRegionFromMapping.js';import{semanticSliceRegionFromSymbol}from'./semanticSliceRegionFromSymbol.js';import{uniqueSemanticSliceNativeNodes}from'./uniqueSemanticSliceNativeNodes.js';import{uniqueSemanticSliceRegions}from'./uniqueSemanticSliceRegions.js';
|
|
3
|
+
export function semanticSliceRecords(context, sidecar) {
|
|
4
|
+
const imports = context.importResult ? nativeImportEntries(context.importResult) : [];
|
|
5
|
+
const universalAst = context.universalAst;
|
|
6
|
+
const semanticIndexes = [
|
|
7
|
+
context.semanticIndex,
|
|
8
|
+
universalAst?.semanticIndex,
|
|
9
|
+
...imports.map((imported) => imported?.semanticIndex ?? imported?.universalAst?.semanticIndex)
|
|
10
|
+
].filter(Boolean);
|
|
11
|
+
const sourceMaps = uniqueRecordsById([
|
|
12
|
+
...(context.importResult?.sourceMaps ?? []),
|
|
13
|
+
...(universalAst?.sourceMaps ?? []),
|
|
14
|
+
...imports.flatMap((imported) => imported?.sourceMaps ?? imported?.universalAst?.sourceMaps ?? [])
|
|
15
|
+
]);
|
|
16
|
+
const symbols = mergeSemanticSliceSymbols([
|
|
17
|
+
...(sidecar?.symbols ?? []),
|
|
18
|
+
...semanticIndexes.flatMap((index) => index.symbols ?? [])
|
|
19
|
+
]);
|
|
20
|
+
const regions = uniqueSemanticSliceRegions([
|
|
21
|
+
...(sidecar?.ownershipRegions ?? []),
|
|
22
|
+
...symbols.map((symbol) => semanticSliceRegionFromSymbol(symbol, context)).filter(Boolean),
|
|
23
|
+
...sourceMaps.flatMap((sourceMap) => (sourceMap.mappings ?? []).map((mapping) => semanticSliceRegionFromMapping(mapping, context)).filter(Boolean))
|
|
24
|
+
]);
|
|
25
|
+
const nativeNodes = uniqueSemanticSliceNativeNodes([
|
|
26
|
+
...imports.flatMap((imported) => nativeAstNodes(imported?.nativeAst ?? imported?.nativeSource?.ast)),
|
|
27
|
+
...nativeAstNodes(context.nativeAst),
|
|
28
|
+
...((universalAst?.nativeSources ?? []).flatMap((source) => nativeAstNodes(source?.ast)))
|
|
29
|
+
]);
|
|
30
|
+
const mappings = sourceMaps.flatMap((sourceMap) => (sourceMap.mappings ?? []).map((mapping) => ({
|
|
31
|
+
...mapping,
|
|
32
|
+
sourceMapId: mapping.sourceMapId ?? sourceMap.id,
|
|
33
|
+
sourceMapSourcePath: sourceMap.sourcePath,
|
|
34
|
+
sourceMapSourceHash: sourceMap.sourceHash,
|
|
35
|
+
sourceMapTargetPath: sourceMap.targetPath,
|
|
36
|
+
sourceMapTargetHash: sourceMap.targetHash
|
|
37
|
+
})));
|
|
38
|
+
const losses = uniqueByLossId([
|
|
39
|
+
...(context.importResult?.losses ?? []),
|
|
40
|
+
...(universalAst?.losses ?? []),
|
|
41
|
+
...imports.flatMap((imported) => imported?.losses ?? imported?.nativeAst?.losses ?? [])
|
|
42
|
+
]);
|
|
43
|
+
const evidence = uniqueByEvidenceId([
|
|
44
|
+
...(context.importResult?.evidence ?? []),
|
|
45
|
+
...(universalAst?.evidence ?? []),
|
|
46
|
+
...imports.flatMap((imported) => imported?.evidence ?? [])
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
symbols,
|
|
50
|
+
symbolById: new Map(symbols.map((symbol) => [symbol.id, symbol])),
|
|
51
|
+
regions,
|
|
52
|
+
nativeNodes,
|
|
53
|
+
nativeNodeById: new Map(nativeNodes.map((node) => [node.id, node])),
|
|
54
|
+
mappings,
|
|
55
|
+
sourceMaps,
|
|
56
|
+
relations: uniqueRecordsById(semanticIndexes.flatMap((index) => index.relations ?? [])),
|
|
57
|
+
occurrences: uniqueRecordsById(semanticIndexes.flatMap((index) => index.occurrences ?? [])),
|
|
58
|
+
losses,
|
|
59
|
+
evidence,
|
|
60
|
+
sidecar
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function semanticSliceRegionFromMapping(mapping, context) {
|
|
2
|
+
if (!mapping.ownershipRegionId && !mapping.ownershipRegionKey) return undefined;
|
|
3
|
+
return {
|
|
4
|
+
id: mapping.ownershipRegionId,
|
|
5
|
+
key: mapping.ownershipRegionKey,
|
|
6
|
+
regionKind: mapping.ownershipRegionKind,
|
|
7
|
+
granularity: 'source-map',
|
|
8
|
+
language: context.language,
|
|
9
|
+
sourcePath: mapping.sourceSpan?.path ?? context.sourcePath,
|
|
10
|
+
sourceSpan: mapping.sourceSpan,
|
|
11
|
+
symbolId: mapping.semanticSymbolId,
|
|
12
|
+
nativeAstNodeId: mapping.nativeAstNodeId,
|
|
13
|
+
precision: mapping.precision,
|
|
14
|
+
mergePolicy: 'source-map-region-review'
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{semanticSliceSymbolSpan}from'./semanticSliceSymbolSpan.js';
|
|
2
|
+
export function semanticSliceRegionFromSymbol(symbol, context) {
|
|
3
|
+
const regionId = symbol.ownershipRegionId ?? symbol.metadata?.ownershipRegionId;
|
|
4
|
+
const regionKey = symbol.ownershipKey ?? symbol.metadata?.ownershipRegionKey;
|
|
5
|
+
if (!regionId && !regionKey) return undefined;
|
|
6
|
+
return {
|
|
7
|
+
id: regionId,
|
|
8
|
+
key: regionKey,
|
|
9
|
+
regionKind: symbol.ownershipRegionKind ?? symbol.metadata?.ownershipRegionKind ?? symbol.kind,
|
|
10
|
+
granularity: 'symbol',
|
|
11
|
+
language: symbol.language ?? context.language,
|
|
12
|
+
sourcePath: semanticSliceSymbolSpan(symbol)?.path ?? context.sourcePath,
|
|
13
|
+
sourceSpan: semanticSliceSymbolSpan(symbol),
|
|
14
|
+
symbolId: symbol.id,
|
|
15
|
+
symbolName: symbol.name,
|
|
16
|
+
symbolKind: symbol.kind,
|
|
17
|
+
nativeAstNodeId: symbol.nativeAstNodeId,
|
|
18
|
+
precision: 'symbol',
|
|
19
|
+
mergePolicy: 'semantic-region-review'
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{normalizeSemanticSliceRef}from'./normalizeSemanticSliceRef.js';import{semanticSliceValueMatches}from'./semanticSliceValueMatches.js';
|
|
2
|
+
export function semanticSliceRegionMatchesRef(region, ref) {
|
|
3
|
+
const normalized = normalizeSemanticSliceRef(ref, 'region');
|
|
4
|
+
return [
|
|
5
|
+
region.id,
|
|
6
|
+
region.key,
|
|
7
|
+
region.symbolId,
|
|
8
|
+
region.symbolName,
|
|
9
|
+
region.nativeAstNodeId,
|
|
10
|
+
region.sourcePath
|
|
11
|
+
].filter(Boolean).some((value) => semanticSliceValueMatches(value, normalized));
|
|
12
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function semanticSliceRegionTouchesSets(region, selection) {
|
|
2
|
+
return selection.selectedRegions.has(region.id)
|
|
3
|
+
|| selection.selectedRegions.has(region.key)
|
|
4
|
+
|| selection.selectedSymbols.has(region.symbolId)
|
|
5
|
+
|| selection.selectedNativeNodes.has(region.nativeAstNodeId);
|
|
6
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import{hashSemanticValue}from'@shapeshift-labs/frontier-lang-kernel';
|
|
2
|
+
import{sourceTextForSpan}from'./sourceTextForSpan.js';
|
|
3
|
+
export function semanticSliceSourceFiles(spans, context, options = {}) {
|
|
4
|
+
const byPath = new Map();
|
|
5
|
+
const includeExcerpts = options.includeSourceText !== false;
|
|
6
|
+
const maxExcerptBytes = Number.isFinite(options.maxExcerptBytes) ? Math.max(0, Math.floor(options.maxExcerptBytes)) : 4000;
|
|
7
|
+
for (const span of spans) {
|
|
8
|
+
const path = span.path ?? span.sourceId ?? context.sourcePath ?? 'unknown';
|
|
9
|
+
const record = byPath.get(path) ?? {
|
|
10
|
+
path,
|
|
11
|
+
sourceHash: context.sourceHashes.get(path) ?? context.sourceHashes.get('') ?? span.sourceHash,
|
|
12
|
+
spans: [],
|
|
13
|
+
excerpts: []
|
|
14
|
+
};
|
|
15
|
+
record.spans.push(span);
|
|
16
|
+
const sourceText = context.sourceTexts.get(path) ?? context.sourceTexts.get('');
|
|
17
|
+
const excerpt = includeExcerpts ? sourceTextForSpan(sourceText, span) : undefined;
|
|
18
|
+
if (typeof excerpt === 'string') {
|
|
19
|
+
const clipped = excerpt.length > maxExcerptBytes ? excerpt.slice(0, maxExcerptBytes) : excerpt;
|
|
20
|
+
record.excerpts.push({
|
|
21
|
+
span,
|
|
22
|
+
text: clipped,
|
|
23
|
+
textHash: hashSemanticValue(excerpt),
|
|
24
|
+
truncated: clipped.length !== excerpt.length
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
byPath.set(path, record);
|
|
28
|
+
}
|
|
29
|
+
return [...byPath.values()].map((file) => ({
|
|
30
|
+
...file,
|
|
31
|
+
spanCount: file.spans.length,
|
|
32
|
+
excerptCount: file.excerpts.length,
|
|
33
|
+
sourceTextAvailable: file.excerpts.length > 0
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import{hashSemanticValue}from'@shapeshift-labs/frontier-lang-kernel';
|
|
2
|
+
import{semanticSliceCurrentSource}from'./semanticSliceCurrentSource.js';
|
|
3
|
+
export function semanticSliceSourceHashAssertions(slice, currentSources) {
|
|
4
|
+
if (!currentSources) return [];
|
|
5
|
+
const assertions = [];
|
|
6
|
+
for (const file of slice?.sourceFiles ?? []) {
|
|
7
|
+
if (!file.sourceHash || !file.path) continue;
|
|
8
|
+
const currentSource = semanticSliceCurrentSource(currentSources, file.path);
|
|
9
|
+
if (typeof currentSource !== 'string') {
|
|
10
|
+
assertions.push({
|
|
11
|
+
id: `sourceHash:${file.path}`,
|
|
12
|
+
status: 'warning',
|
|
13
|
+
summary: `Current source text was not supplied for ${file.path}.`,
|
|
14
|
+
metadata: { path: file.path, expectedSourceHash: file.sourceHash }
|
|
15
|
+
});
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const actualSourceHash = hashSemanticValue(currentSource);
|
|
19
|
+
assertions.push({
|
|
20
|
+
id: `sourceHash:${file.path}`,
|
|
21
|
+
status: actualSourceHash === file.sourceHash ? 'passed' : 'failed',
|
|
22
|
+
summary: actualSourceHash === file.sourceHash ? `Source hash matched for ${file.path}.` : `Source hash changed for ${file.path}.`,
|
|
23
|
+
metadata: { path: file.path, expectedSourceHash: file.sourceHash, actualSourceHash }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return assertions;
|
|
27
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{nativeImportEntries}from'./nativeImportEntries.js';
|
|
2
|
+
export function semanticSliceSourceHashMap(imported, universalAst, value, options) {
|
|
3
|
+
const entries = new Map();
|
|
4
|
+
const add = (path, sourceHash) => {
|
|
5
|
+
if (!sourceHash) return;
|
|
6
|
+
entries.set(path ?? '', sourceHash);
|
|
7
|
+
};
|
|
8
|
+
add(options.sourcePath, options.sourceHash);
|
|
9
|
+
add(value?.sourcePath, value?.sourceHash);
|
|
10
|
+
for (const item of [imported, ...(imported ? nativeImportEntries(imported) : [])]) {
|
|
11
|
+
add(item?.sourcePath, item?.nativeSource?.sourceHash ?? item?.nativeAst?.sourceHash ?? item?.sourceHash);
|
|
12
|
+
}
|
|
13
|
+
for (const nativeSource of universalAst?.nativeSources ?? []) {
|
|
14
|
+
add(nativeSource?.sourcePath, nativeSource?.sourceHash ?? nativeSource?.ast?.sourceHash);
|
|
15
|
+
}
|
|
16
|
+
for (const sourceMap of universalAst?.sourceMaps ?? []) add(sourceMap.sourcePath, sourceMap.sourceHash);
|
|
17
|
+
return entries;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function semanticSliceSourceMapLinks(selection) {
|
|
2
|
+
return selection.mappings.map((mapping) => ({
|
|
3
|
+
id: mapping.id,
|
|
4
|
+
sourceMapId: mapping.sourceMapId,
|
|
5
|
+
sourcePath: mapping.sourceSpan?.path ?? mapping.sourceMapSourcePath,
|
|
6
|
+
sourceHash: mapping.sourceMapSourceHash,
|
|
7
|
+
targetPath: mapping.generatedSpan?.targetPath ?? mapping.sourceMapTargetPath,
|
|
8
|
+
targetHash: mapping.generatedSpan?.targetHash ?? mapping.sourceMapTargetHash,
|
|
9
|
+
semanticSymbolId: mapping.semanticSymbolId,
|
|
10
|
+
semanticOccurrenceId: mapping.semanticOccurrenceId,
|
|
11
|
+
semanticNodeId: mapping.semanticNodeId,
|
|
12
|
+
nativeSourceId: mapping.nativeSourceId,
|
|
13
|
+
nativeAstNodeId: mapping.nativeAstNodeId,
|
|
14
|
+
precision: mapping.precision,
|
|
15
|
+
sourceSpan: mapping.sourceSpan,
|
|
16
|
+
generatedSpan: mapping.generatedSpan,
|
|
17
|
+
ownershipRegionId: mapping.ownershipRegionId,
|
|
18
|
+
ownershipRegionKey: mapping.ownershipRegionKey,
|
|
19
|
+
ownershipRegionKind: mapping.ownershipRegionKind
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{semanticSliceSymbolSpan}from'./semanticSliceSymbolSpan.js';import{uniqueSemanticSliceSpans}from'./uniqueSemanticSliceSpans.js';
|
|
2
|
+
export function semanticSliceSourceSpans(selection) {
|
|
3
|
+
return uniqueSemanticSliceSpans([
|
|
4
|
+
...selection.symbols.map(semanticSliceSymbolSpan),
|
|
5
|
+
...selection.regions.map((region) => region.sourceSpan),
|
|
6
|
+
...selection.nativeNodes.map((node) => node.span ?? node.sourceSpan),
|
|
7
|
+
...selection.mappings.map((mapping) => mapping.sourceSpan)
|
|
8
|
+
].filter(Boolean));
|
|
9
|
+
}
|