typescript 7.0.2 → 7.1.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.txt +5 -36
- package/dist/api/async/api.d.ts +597 -122
- package/dist/api/async/api.d.ts.map +1 -1
- package/dist/api/async/api.js +1775 -333
- package/dist/api/async/api.js.map +1 -1
- package/dist/api/async/client.d.ts +18 -2
- package/dist/api/async/client.d.ts.map +1 -1
- package/dist/api/async/client.js +255 -68
- package/dist/api/async/client.js.map +1 -1
- package/dist/api/async/types.d.ts +99 -34
- package/dist/api/async/types.d.ts.map +1 -1
- package/dist/api/compilerOptions.generated.d.ts +123 -0
- package/dist/api/compilerOptions.generated.d.ts.map +1 -0
- package/dist/api/compilerOptions.generated.js +8 -0
- package/dist/api/compilerOptions.generated.js.map +1 -0
- package/dist/api/diagnosticFormatter.d.ts +9 -0
- package/dist/api/diagnosticFormatter.d.ts.map +1 -0
- package/dist/api/diagnosticFormatter.js +169 -0
- package/dist/api/diagnosticFormatter.js.map +1 -0
- package/dist/api/fs.d.ts +68 -13
- package/dist/api/fs.d.ts.map +1 -1
- package/dist/api/fs.js +62 -101
- package/dist/api/fs.js.map +1 -1
- package/dist/api/fsCallbacks.d.ts +27 -0
- package/dist/api/fsCallbacks.d.ts.map +1 -0
- package/dist/api/fsCallbacks.js +111 -0
- package/dist/api/fsCallbacks.js.map +1 -0
- package/dist/api/node/encoder.d.ts +3 -0
- package/dist/api/node/encoder.d.ts.map +1 -1
- package/dist/api/node/encoder.generated.js +2 -2
- package/dist/api/node/encoder.generated.js.map +1 -1
- package/dist/api/node/encoder.js +20 -15
- package/dist/api/node/encoder.js.map +1 -1
- package/dist/api/node/msgpack.d.ts.map +1 -1
- package/dist/api/node/msgpack.js +2 -3
- package/dist/api/node/msgpack.js.map +1 -1
- package/dist/api/node/node.d.ts +28 -9
- package/dist/api/node/node.d.ts.map +1 -1
- package/dist/api/node/node.generated.d.ts +9 -2
- package/dist/api/node/node.generated.d.ts.map +1 -1
- package/dist/api/node/node.generated.js +55 -6
- package/dist/api/node/node.generated.js.map +1 -1
- package/dist/api/node/node.infrastructure.d.ts +6 -4
- package/dist/api/node/node.infrastructure.d.ts.map +1 -1
- package/dist/api/node/node.infrastructure.js +20 -40
- package/dist/api/node/node.infrastructure.js.map +1 -1
- package/dist/api/node/node.js +178 -23
- package/dist/api/node/node.js.map +1 -1
- package/dist/api/node/protocol.d.ts +5 -2
- package/dist/api/node/protocol.d.ts.map +1 -1
- package/dist/api/node/protocol.generated.js +2 -2
- package/dist/api/node/protocol.generated.js.map +1 -1
- package/dist/api/node/protocol.js +5 -2
- package/dist/api/node/protocol.js.map +1 -1
- package/dist/api/node/wtf8.d.ts +6 -2
- package/dist/api/node/wtf8.d.ts.map +1 -1
- package/dist/api/node/wtf8.js +71 -2
- package/dist/api/node/wtf8.js.map +1 -1
- package/dist/api/options.d.ts +19 -7
- package/dist/api/options.d.ts.map +1 -1
- package/dist/api/options.js +21 -0
- package/dist/api/options.js.map +1 -1
- package/dist/api/path.d.ts +49 -39
- package/dist/api/path.d.ts.map +1 -1
- package/dist/api/path.js +409 -33
- package/dist/api/path.js.map +1 -1
- package/dist/api/prepareCompilerOptions.generated.d.ts +5 -0
- package/dist/api/prepareCompilerOptions.generated.d.ts.map +1 -0
- package/dist/api/prepareCompilerOptions.generated.js +24 -0
- package/dist/api/prepareCompilerOptions.generated.js.map +1 -0
- package/dist/api/proto.d.ts +58 -217
- package/dist/api/proto.d.ts.map +1 -1
- package/dist/api/proto.generated.d.ts +1419 -0
- package/dist/api/proto.generated.d.ts.map +1 -0
- package/dist/api/proto.generated.js +21 -0
- package/dist/api/proto.generated.js.map +1 -0
- package/dist/api/proto.js +28 -15
- package/dist/api/proto.js.map +1 -1
- package/dist/api/sourceFileCache.d.ts +51 -20
- package/dist/api/sourceFileCache.d.ts.map +1 -1
- package/dist/api/sourceFileCache.js +168 -37
- package/dist/api/sourceFileCache.js.map +1 -1
- package/dist/api/sync/api.d.ts +1365 -220
- package/dist/api/sync/api.d.ts.map +1 -1
- package/dist/api/sync/api.js +4673 -930
- package/dist/api/sync/api.js.map +1 -1
- package/dist/api/sync/client.d.ts +8 -2
- package/dist/api/sync/client.d.ts.map +1 -1
- package/dist/api/sync/client.js +80 -30
- package/dist/api/sync/client.js.map +1 -1
- package/dist/api/sync/generatorSupport.d.ts +32 -0
- package/dist/api/sync/generatorSupport.d.ts.map +1 -0
- package/dist/api/sync/generatorSupport.js +338 -0
- package/dist/api/sync/generatorSupport.js.map +1 -0
- package/dist/api/sync/types.d.ts +248 -56
- package/dist/api/sync/types.d.ts.map +1 -1
- package/dist/api/syncChannel.d.ts +3 -0
- package/dist/api/syncChannel.d.ts.map +1 -1
- package/dist/api/syncChannel.js +20 -2
- package/dist/api/syncChannel.js.map +1 -1
- package/dist/api/timing.d.ts +2 -2
- package/dist/api/timing.d.ts.map +1 -1
- package/dist/api/timing.js +1 -1
- package/dist/api/timing.js.map +1 -1
- package/dist/api/timingDump.d.ts +13 -0
- package/dist/api/timingDump.d.ts.map +1 -0
- package/dist/api/timingDump.js +38 -0
- package/dist/api/timingDump.js.map +1 -0
- package/dist/api/typedPaths.d.ts +3 -0
- package/dist/api/typedPaths.d.ts.map +1 -0
- package/dist/api/typedPaths.js +2 -0
- package/dist/api/typedPaths.js.map +1 -0
- package/dist/api/userPreferences.generated.d.ts +195 -0
- package/dist/api/userPreferences.generated.d.ts.map +1 -0
- package/dist/api/userPreferences.generated.js +3 -0
- package/dist/api/userPreferences.generated.js.map +1 -0
- package/dist/ast/ast.d.ts +90 -7
- package/dist/ast/ast.d.ts.map +1 -1
- package/dist/ast/ast.generated.d.ts +45 -39
- package/dist/ast/ast.generated.d.ts.map +1 -1
- package/dist/ast/ast.generated.js +1 -1
- package/dist/ast/ast.generated.js.map +1 -1
- package/dist/ast/ast.js +1 -0
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/astnav.d.ts +3 -2
- package/dist/ast/astnav.d.ts.map +1 -1
- package/dist/ast/astnav.js +148 -3
- package/dist/ast/astnav.js.map +1 -1
- package/dist/ast/factory.generated.d.ts +8 -154
- package/dist/ast/factory.generated.d.ts.map +1 -1
- package/dist/ast/factory.generated.js +2701 -7
- package/dist/ast/factory.generated.js.map +1 -1
- package/dist/ast/index.d.ts +5 -0
- package/dist/ast/index.d.ts.map +1 -1
- package/dist/ast/index.js +5 -0
- package/dist/ast/index.js.map +1 -1
- package/dist/ast/is.d.ts +2 -12
- package/dist/ast/is.d.ts.map +1 -1
- package/dist/ast/is.generated.d.ts +889 -1
- package/dist/ast/is.generated.d.ts.map +1 -1
- package/dist/ast/is.generated.js +300 -3
- package/dist/ast/is.generated.js.map +1 -1
- package/dist/ast/is.js +224 -1
- package/dist/ast/is.js.map +1 -1
- package/dist/ast/jsdoc.d.ts +2 -1
- package/dist/ast/jsdoc.d.ts.map +1 -1
- package/dist/ast/jsdoc.js +14 -8
- package/dist/ast/jsdoc.js.map +1 -1
- package/dist/ast/modifiers.d.ts +4 -0
- package/dist/ast/modifiers.d.ts.map +1 -0
- package/dist/ast/modifiers.js +41 -0
- package/dist/ast/modifiers.js.map +1 -0
- package/dist/ast/scanner.d.ts.map +1 -1
- package/dist/ast/scanner.js +2 -1
- package/dist/ast/scanner.js.map +1 -1
- package/dist/ast/spanMap.d.ts +88 -0
- package/dist/ast/spanMap.d.ts.map +1 -0
- package/dist/ast/spanMap.js +417 -0
- package/dist/ast/spanMap.js.map +1 -0
- package/dist/ast/utils.d.ts +14 -1
- package/dist/ast/utils.d.ts.map +1 -1
- package/dist/ast/utils.js +251 -0
- package/dist/ast/utils.js.map +1 -1
- package/dist/ast/visitor.d.ts +2 -0
- package/dist/ast/visitor.d.ts.map +1 -1
- package/dist/ast/visitor.generated.d.ts.map +1 -1
- package/dist/ast/visitor.generated.js +5 -4
- package/dist/ast/visitor.generated.js.map +1 -1
- package/dist/ast/visitor.js +40 -0
- package/dist/ast/visitor.js.map +1 -1
- package/dist/enums/caseSensitivity.d.ts +2 -0
- package/dist/enums/caseSensitivity.d.ts.map +1 -0
- package/dist/enums/caseSensitivity.enum.d.ts +5 -0
- package/dist/enums/caseSensitivity.enum.d.ts.map +1 -0
- package/dist/enums/caseSensitivity.enum.js +7 -0
- package/dist/enums/caseSensitivity.enum.js.map +1 -0
- package/dist/enums/caseSensitivity.js +7 -0
- package/dist/enums/caseSensitivity.js.map +1 -0
- package/dist/enums/checkFlags.d.ts +2 -0
- package/dist/enums/checkFlags.d.ts.map +1 -0
- package/dist/enums/checkFlags.enum.d.ts +34 -0
- package/dist/enums/checkFlags.enum.d.ts.map +1 -0
- package/dist/enums/checkFlags.enum.js +36 -0
- package/dist/enums/checkFlags.enum.js.map +1 -0
- package/dist/enums/checkFlags.js +36 -0
- package/dist/enums/checkFlags.js.map +1 -0
- package/dist/enums/completionItemKind.enum.js +1 -1
- package/dist/enums/completionItemKind.enum.js.map +1 -1
- package/dist/enums/completionItemKind.js +1 -1
- package/dist/enums/completionItemKind.js.map +1 -1
- package/dist/enums/diagnosticCategory.enum.js +1 -1
- package/dist/enums/diagnosticCategory.enum.js.map +1 -1
- package/dist/enums/diagnosticCategory.js +1 -1
- package/dist/enums/diagnosticCategory.js.map +1 -1
- package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
- package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.js +7 -0
- package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
- package/dist/enums/elementFlags.enum.js +1 -1
- package/dist/enums/elementFlags.enum.js.map +1 -1
- package/dist/enums/elementFlags.js +1 -1
- package/dist/enums/elementFlags.js.map +1 -1
- package/dist/enums/emitOnly.d.ts +2 -0
- package/dist/enums/emitOnly.d.ts.map +1 -0
- package/dist/enums/emitOnly.enum.d.ts +6 -0
- package/dist/enums/emitOnly.enum.d.ts.map +1 -0
- package/dist/enums/emitOnly.enum.js +8 -0
- package/dist/enums/emitOnly.enum.js.map +1 -0
- package/dist/enums/emitOnly.js +8 -0
- package/dist/enums/emitOnly.js.map +1 -0
- package/dist/enums/indexKind.d.ts +2 -0
- package/dist/enums/indexKind.d.ts.map +1 -0
- package/dist/enums/indexKind.enum.d.ts +5 -0
- package/dist/enums/indexKind.enum.d.ts.map +1 -0
- package/dist/enums/indexKind.enum.js +7 -0
- package/dist/enums/indexKind.enum.js.map +1 -0
- package/dist/enums/indexKind.js +7 -0
- package/dist/enums/indexKind.js.map +1 -0
- package/dist/enums/internalSymbolName.enum.js +1 -1
- package/dist/enums/internalSymbolName.enum.js.map +1 -1
- package/dist/enums/internalSymbolName.js +1 -1
- package/dist/enums/internalSymbolName.js.map +1 -1
- package/dist/enums/jsDeclarationKind.d.ts +2 -0
- package/dist/enums/jsDeclarationKind.d.ts.map +1 -0
- package/dist/enums/jsDeclarationKind.enum.d.ts +10 -0
- package/dist/enums/jsDeclarationKind.enum.d.ts.map +1 -0
- package/dist/enums/jsDeclarationKind.enum.js +12 -0
- package/dist/enums/jsDeclarationKind.enum.js.map +1 -0
- package/dist/enums/jsDeclarationKind.js +12 -0
- package/dist/enums/jsDeclarationKind.js.map +1 -0
- package/dist/enums/jsxEmit.enum.d.ts +2 -2
- package/dist/enums/jsxEmit.enum.d.ts.map +1 -1
- package/dist/enums/jsxEmit.enum.js +3 -3
- package/dist/enums/jsxEmit.enum.js.map +1 -1
- package/dist/enums/jsxEmit.js +3 -3
- package/dist/enums/jsxEmit.js.map +1 -1
- package/dist/enums/modifierFlags.enum.js +1 -1
- package/dist/enums/modifierFlags.enum.js.map +1 -1
- package/dist/enums/modifierFlags.js +1 -1
- package/dist/enums/modifierFlags.js.map +1 -1
- package/dist/enums/moduleDetectionKind.enum.js +1 -1
- package/dist/enums/moduleDetectionKind.enum.js.map +1 -1
- package/dist/enums/moduleDetectionKind.js +1 -1
- package/dist/enums/moduleDetectionKind.js.map +1 -1
- package/dist/enums/moduleKind.enum.js +1 -1
- package/dist/enums/moduleKind.enum.js.map +1 -1
- package/dist/enums/moduleKind.js +1 -1
- package/dist/enums/moduleKind.js.map +1 -1
- package/dist/enums/moduleResolutionKind.enum.js +1 -1
- package/dist/enums/moduleResolutionKind.enum.js.map +1 -1
- package/dist/enums/moduleResolutionKind.js +1 -1
- package/dist/enums/moduleResolutionKind.js.map +1 -1
- package/dist/enums/newLineKind.enum.js +1 -1
- package/dist/enums/newLineKind.enum.js.map +1 -1
- package/dist/enums/newLineKind.js +1 -1
- package/dist/enums/newLineKind.js.map +1 -1
- package/dist/enums/nodeBuilderFlags.enum.js +1 -1
- package/dist/enums/nodeBuilderFlags.enum.js.map +1 -1
- package/dist/enums/nodeBuilderFlags.js +1 -1
- package/dist/enums/nodeBuilderFlags.js.map +1 -1
- package/dist/enums/nodeFlags.enum.js +1 -1
- package/dist/enums/nodeFlags.enum.js.map +1 -1
- package/dist/enums/nodeFlags.js +1 -1
- package/dist/enums/nodeFlags.js.map +1 -1
- package/dist/enums/objectFlags.enum.d.ts +3 -2
- package/dist/enums/objectFlags.enum.d.ts.map +1 -1
- package/dist/enums/objectFlags.enum.js +4 -3
- package/dist/enums/objectFlags.enum.js.map +1 -1
- package/dist/enums/objectFlags.js +4 -3
- package/dist/enums/objectFlags.js.map +1 -1
- package/dist/enums/outerExpressionKinds.enum.js +1 -1
- package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
- package/dist/enums/outerExpressionKinds.js +1 -1
- package/dist/enums/outerExpressionKinds.js.map +1 -1
- package/dist/enums/scriptKind.d.ts.map +1 -1
- package/dist/enums/scriptKind.enum.d.ts +1 -3
- package/dist/enums/scriptKind.enum.d.ts.map +1 -1
- package/dist/enums/scriptKind.enum.js +1 -2
- package/dist/enums/scriptKind.enum.js.map +1 -1
- package/dist/enums/scriptKind.js +1 -2
- package/dist/enums/scriptKind.js.map +1 -1
- package/dist/enums/scriptTarget.d.ts.map +1 -1
- package/dist/enums/scriptTarget.enum.d.ts +1 -0
- package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
- package/dist/enums/scriptTarget.enum.js +2 -0
- package/dist/enums/scriptTarget.enum.js.map +1 -1
- package/dist/enums/scriptTarget.js +2 -0
- package/dist/enums/scriptTarget.js.map +1 -1
- package/dist/enums/signatureFlags.enum.js +1 -1
- package/dist/enums/signatureFlags.enum.js.map +1 -1
- package/dist/enums/signatureFlags.js +1 -1
- package/dist/enums/signatureFlags.js.map +1 -1
- package/dist/enums/signatureKind.enum.js +1 -1
- package/dist/enums/signatureKind.enum.js.map +1 -1
- package/dist/enums/signatureKind.js +1 -1
- package/dist/enums/signatureKind.js.map +1 -1
- package/dist/enums/spanMapFeature.d.ts +2 -0
- package/dist/enums/spanMapFeature.d.ts.map +1 -0
- package/dist/enums/spanMapFeature.enum.d.ts +25 -0
- package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
- package/dist/enums/spanMapFeature.enum.js +27 -0
- package/dist/enums/spanMapFeature.enum.js.map +1 -0
- package/dist/enums/spanMapFeature.js +27 -0
- package/dist/enums/spanMapFeature.js.map +1 -0
- package/dist/enums/spanMapFidelity.d.ts +2 -0
- package/dist/enums/spanMapFidelity.d.ts.map +1 -0
- package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
- package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
- package/dist/enums/spanMapFidelity.enum.js +9 -0
- package/dist/enums/spanMapFidelity.enum.js.map +1 -0
- package/dist/enums/spanMapFidelity.js +9 -0
- package/dist/enums/spanMapFidelity.js.map +1 -0
- package/dist/enums/spanMapKind.d.ts +2 -0
- package/dist/enums/spanMapKind.d.ts.map +1 -0
- package/dist/enums/spanMapKind.enum.d.ts +6 -0
- package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
- package/dist/enums/spanMapKind.enum.js +8 -0
- package/dist/enums/spanMapKind.enum.js.map +1 -0
- package/dist/enums/spanMapKind.js +8 -0
- package/dist/enums/spanMapKind.js.map +1 -0
- package/dist/enums/symbolFlags.enum.d.ts +1 -2
- package/dist/enums/symbolFlags.enum.d.ts.map +1 -1
- package/dist/enums/symbolFlags.enum.js +2 -3
- package/dist/enums/symbolFlags.enum.js.map +1 -1
- package/dist/enums/symbolFlags.js +2 -3
- package/dist/enums/symbolFlags.js.map +1 -1
- package/dist/enums/symbolOwnerKind.d.ts +2 -0
- package/dist/enums/symbolOwnerKind.d.ts.map +1 -0
- package/dist/enums/symbolOwnerKind.enum.d.ts +5 -0
- package/dist/enums/symbolOwnerKind.enum.d.ts.map +1 -0
- package/dist/enums/symbolOwnerKind.enum.js +7 -0
- package/dist/enums/symbolOwnerKind.enum.js.map +1 -0
- package/dist/enums/symbolOwnerKind.js +7 -0
- package/dist/enums/symbolOwnerKind.js.map +1 -0
- package/dist/enums/syntaxKind.enum.d.ts +198 -197
- package/dist/enums/syntaxKind.enum.d.ts.map +1 -1
- package/dist/enums/syntaxKind.enum.js +199 -198
- package/dist/enums/syntaxKind.enum.js.map +1 -1
- package/dist/enums/syntaxKind.js +199 -198
- package/dist/enums/syntaxKind.js.map +1 -1
- package/dist/enums/tokenFlags.enum.js +1 -1
- package/dist/enums/tokenFlags.enum.js.map +1 -1
- package/dist/enums/tokenFlags.js +1 -1
- package/dist/enums/tokenFlags.js.map +1 -1
- package/dist/enums/typeFlags.enum.js +1 -1
- package/dist/enums/typeFlags.enum.js.map +1 -1
- package/dist/enums/typeFlags.js +1 -1
- package/dist/enums/typeFlags.js.map +1 -1
- package/dist/enums/typeFormatFlags.d.ts +2 -0
- package/dist/enums/typeFormatFlags.d.ts.map +1 -0
- package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
- package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
- package/dist/enums/typeFormatFlags.enum.js +31 -0
- package/dist/enums/typeFormatFlags.enum.js.map +1 -0
- package/dist/enums/typeFormatFlags.js +31 -0
- package/dist/enums/typeFormatFlags.js.map +1 -0
- package/dist/enums/typePredicateKind.enum.js +1 -1
- package/dist/enums/typePredicateKind.enum.js.map +1 -1
- package/dist/enums/typePredicateKind.js +1 -1
- package/dist/enums/typePredicateKind.js.map +1 -1
- package/dist/internal/utils.js.map +1 -1
- package/dist/vscode/extensionApi.d.ts +101 -0
- package/dist/vscode/extensionApi.d.ts.map +1 -0
- package/dist/vscode/extensionApi.js +2 -0
- package/dist/vscode/extensionApi.js.map +1 -0
- package/dist/vscode/moduleLoader.d.ts +14 -0
- package/dist/vscode/moduleLoader.d.ts.map +1 -0
- package/dist/vscode/moduleLoader.js +36 -0
- package/dist/vscode/moduleLoader.js.map +1 -0
- package/dist/vscode/protocol.generated.d.ts +2886 -0
- package/dist/vscode/protocol.generated.d.ts.map +1 -0
- package/dist/vscode/protocol.generated.js +4 -0
- package/dist/vscode/protocol.generated.js.map +1 -0
- package/lib/getExePath.js +2 -2
- package/lib/version.cjs +1 -1
- package/lib/version.d.cts +1 -1
- package/package.json +40 -34
- package/schemas/jsconfig.schema.json +2207 -0
- package/schemas/tsconfig.schema.json +2206 -0
- package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
- package/vendor/vscode-jsonrpc/package.json +1 -1
- package/dist/api/compilerOptions.d.ts +0 -109
- package/dist/api/compilerOptions.d.ts.map +0 -1
- package/dist/api/compilerOptions.js +0 -2
- package/dist/api/compilerOptions.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto.generated.d.ts","sourceRoot":"","sources":["../../src/api/proto.generated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Code generated by gen-proto; DO NOT EDIT.
|
|
2
|
+
import { CaseSensitivity } from "#enums/caseSensitivity";
|
|
3
|
+
import { JsxEmit } from "#enums/jsxEmit";
|
|
4
|
+
import { ModuleDetectionKind } from "#enums/moduleDetectionKind";
|
|
5
|
+
import { ModuleKind } from "#enums/moduleKind";
|
|
6
|
+
import { ModuleResolutionKind } from "#enums/moduleResolutionKind";
|
|
7
|
+
import { NewLineKind } from "#enums/newLineKind";
|
|
8
|
+
import { ScriptKind } from "#enums/scriptKind";
|
|
9
|
+
import { ScriptTarget } from "#enums/scriptTarget";
|
|
10
|
+
import { SymbolOwnerKind } from "#enums/symbolOwnerKind";
|
|
11
|
+
export { CaseSensitivity } from "#enums/caseSensitivity";
|
|
12
|
+
export { JsxEmit } from "#enums/jsxEmit";
|
|
13
|
+
export { ModuleDetectionKind } from "#enums/moduleDetectionKind";
|
|
14
|
+
export { ModuleKind } from "#enums/moduleKind";
|
|
15
|
+
export { ModuleResolutionKind } from "#enums/moduleResolutionKind";
|
|
16
|
+
export { NewLineKind } from "#enums/newLineKind";
|
|
17
|
+
export { ScriptKind } from "#enums/scriptKind";
|
|
18
|
+
export { ScriptTarget } from "#enums/scriptTarget";
|
|
19
|
+
export { SymbolOwnerKind } from "#enums/symbolOwnerKind";
|
|
20
|
+
export * from "./compilerOptions.generated.js";
|
|
21
|
+
//# sourceMappingURL=proto.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto.generated.js","sourceRoot":"","sources":["../../src/api/proto.generated.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,cAAc,gCAAgC,CAAC"}
|
package/dist/api/proto.js
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
|
+
import { SymbolOwnerKind } from "#enums/symbolOwnerKind";
|
|
1
2
|
import { documentURIToFileName, fileNameToDocumentURI, } from "./path.js";
|
|
3
|
+
export * from "./proto.generated.js";
|
|
4
|
+
export * from "./userPreferences.generated.js";
|
|
5
|
+
export function validateSymbolOwner(owner) {
|
|
6
|
+
switch (owner.kind) {
|
|
7
|
+
case SymbolOwnerKind.File:
|
|
8
|
+
if (!owner.file || owner.snapshot !== undefined || owner.project !== undefined) {
|
|
9
|
+
throw new Error("Invalid file symbol owner");
|
|
10
|
+
}
|
|
11
|
+
return;
|
|
12
|
+
case SymbolOwnerKind.Snapshot:
|
|
13
|
+
if (owner.file !== undefined || owner.snapshot === undefined || owner.project === undefined) {
|
|
14
|
+
throw new Error("Invalid snapshot symbol owner");
|
|
15
|
+
}
|
|
16
|
+
return;
|
|
17
|
+
default:
|
|
18
|
+
throw new Error(`Invalid symbol owner kind '${owner.kind}'`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function validateSymbolResponse(response) {
|
|
22
|
+
validateSymbolOwner(response.reference);
|
|
23
|
+
}
|
|
2
24
|
/**
|
|
3
25
|
* Resolves a DocumentIdentifier to a file name.
|
|
4
26
|
* If the identifier contains a URI, it is converted to a file name.
|
|
@@ -7,6 +29,12 @@ export function resolveFileName(identifier) {
|
|
|
7
29
|
if (typeof identifier === "string") {
|
|
8
30
|
return identifier;
|
|
9
31
|
}
|
|
32
|
+
if (typeof identifier !== "object" || identifier === null || typeof identifier.uri !== "string") {
|
|
33
|
+
const received = typeof identifier === "object" && identifier !== null
|
|
34
|
+
? `an object with keys: ${Object.keys(identifier).join(", ")}`
|
|
35
|
+
: String(identifier);
|
|
36
|
+
throw new TypeError(`Expected a string or { uri } for the document, received ${received}`);
|
|
37
|
+
}
|
|
10
38
|
return documentURIToFileName(identifier.uri);
|
|
11
39
|
}
|
|
12
40
|
/**
|
|
@@ -19,19 +47,4 @@ export function resolveDocumentURI(identifier) {
|
|
|
19
47
|
}
|
|
20
48
|
return identifier.uri;
|
|
21
49
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Builds the wire request for updateSnapshot, applying the deprecated `openProject`
|
|
24
|
-
* compatibility shim: a single `openProject` is folded into `openProjects` and is
|
|
25
|
-
* never sent on the wire.
|
|
26
|
-
*/
|
|
27
|
-
export function toUpdateSnapshotRequest(params) {
|
|
28
|
-
const { openProject, openProjects, ...rest } = params ?? {};
|
|
29
|
-
const mergedOpenProjects = openProject !== undefined
|
|
30
|
-
? [resolveFileName(openProject), ...(openProjects ?? [])]
|
|
31
|
-
: openProjects;
|
|
32
|
-
return {
|
|
33
|
-
...rest,
|
|
34
|
-
...(mergedOpenProjects !== undefined ? { openProjects: mergedOpenProjects } : {}),
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
50
|
//# sourceMappingURL=proto.js.map
|
package/dist/api/proto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto.js","sourceRoot":"","sources":["../../src/api/proto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proto.js","sourceRoot":"","sources":["../../src/api/proto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,WAAW,CAAC;AAgBnB,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAsB/C,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC1D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC,IAAI;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACjD,CAAC;YACD,OAAO;QACX,KAAK,eAAe,CAAC,QAAQ;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1F,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YACD,OAAO;QACX;YACI,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgC;IACnE,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAwCD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAA8B;IAC1D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;YAClE,CAAC,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,IAAI,SAAS,CAAC,2DAA2D,QAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAC7D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC;AAC1B,CAAC"}
|
|
@@ -1,38 +1,46 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { PathKey } from "../ast/index.ts";
|
|
2
|
+
import type { RemoteSourceFile } from "./node/node.ts";
|
|
3
|
+
import type { ProjectId, SnapshotChanges, SourceFileDescriptor } from "./proto.ts";
|
|
3
4
|
/**
|
|
4
5
|
* A cached source file entry, identified by content hash.
|
|
5
6
|
*/
|
|
6
|
-
export interface CachedSourceFile {
|
|
7
|
-
/** The cached source file object */
|
|
8
|
-
file
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
parseOptionsKey: string;
|
|
13
|
-
/** Set of (snapshot, project) ref keys that reference this entry */
|
|
7
|
+
export interface CachedSourceFile<TSymbol> {
|
|
8
|
+
/** The cached source file object, once its AST has been requested. */
|
|
9
|
+
file?: RemoteSourceFile | undefined;
|
|
10
|
+
/** Complete identity available before an AST response is materialized. */
|
|
11
|
+
readonly descriptor: SourceFileDescriptor;
|
|
12
|
+
/** Set of snapshot/project or direct-lease ref keys that reference this entry */
|
|
14
13
|
refs: Set<string>;
|
|
14
|
+
/** Binder symbols owned by this exact source-file incarnation. */
|
|
15
|
+
readonly symbolsById: Map<number, TSymbol>;
|
|
16
|
+
/** Successfully resolved declaration symbols. */
|
|
17
|
+
readonly symbolsByDeclarationNodeIndex: Map<number, TSymbol>;
|
|
18
|
+
/** In-flight async declaration symbol lookups. */
|
|
19
|
+
readonly declarationSymbolRequests: Map<number, Promise<TSymbol>>;
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
|
-
* Client-side cache for source files keyed by (path, parseOptionsKey, contentHash).
|
|
22
|
+
* Client-side cache for source files keyed by (path, fileName, scriptKind, parseOptionsKey, contentHash).
|
|
18
23
|
*
|
|
19
24
|
* Supports multiple versions of the same file at the same path (e.g., from
|
|
20
25
|
* different snapshots with different file contents). Each version is identified
|
|
21
|
-
* by its content hash and parse options key.
|
|
26
|
+
* by its script kind, content hash, and parse options key.
|
|
22
27
|
*
|
|
23
|
-
* Entries are ref-counted by (snapshot, project) pairs
|
|
24
|
-
*
|
|
25
|
-
* and entries with no remaining references are evicted.
|
|
28
|
+
* Entries are ref-counted by (snapshot, project) pairs and direct source-file
|
|
29
|
+
* leases. Releasing an owner evicts entries with no remaining references.
|
|
26
30
|
*
|
|
27
31
|
* When a new snapshot is created, unchanged cache entries from the previous
|
|
28
32
|
* snapshot are retained per-project. Only files within changed or removed
|
|
29
33
|
* projects are invalidated.
|
|
30
34
|
*/
|
|
31
|
-
export declare class SourceFileCache {
|
|
35
|
+
export declare class SourceFileCache<TSymbol> {
|
|
32
36
|
/** Map from path to all cached versions of that file */
|
|
33
37
|
private cache;
|
|
34
38
|
/** Map from snapshotId to (projectId → Set of paths fetched through that project) */
|
|
35
39
|
private snapshotProjectPaths;
|
|
40
|
+
/** Map from direct lease ID to its retained path */
|
|
41
|
+
private leasePaths;
|
|
42
|
+
/** Map from source-file node ID to its record, for resolving compact symbol references */
|
|
43
|
+
private recordsByNodeId;
|
|
36
44
|
/**
|
|
37
45
|
* Get a cached source file already retained for the given (snapshot, project) pair.
|
|
38
46
|
* This does not require a content hash or parse options key — it returns the entry
|
|
@@ -42,12 +50,31 @@ export declare class SourceFileCache {
|
|
|
42
50
|
* A given (snapshot, project) pair always parses a file the same way, so there is
|
|
43
51
|
* at most one matching entry per ref.
|
|
44
52
|
*/
|
|
45
|
-
getRetained(path:
|
|
53
|
+
getRetained(path: PathKey, snapshotId: number, projectId: ProjectId): RemoteSourceFile | undefined;
|
|
54
|
+
get(file: RemoteSourceFile): RemoteSourceFile | undefined;
|
|
55
|
+
getOrCreateRecord(file: SourceFileDescriptor, snapshotId: number, projectId: ProjectId): CachedSourceFile<TSymbol>;
|
|
56
|
+
/** Find the live record for a source-file node ID without creating or retaining one. */
|
|
57
|
+
findRecord(nodeId: string): CachedSourceFile<TSymbol> | undefined;
|
|
58
|
+
/** Retain an existing record for a snapshot/project that reused one of its cached objects. */
|
|
59
|
+
retainRecord(record: CachedSourceFile<TSymbol>, snapshotId: number, projectId: ProjectId): void;
|
|
60
|
+
/** Attach a source file fetched by its descriptor to its existing record. */
|
|
61
|
+
attachFile(record: CachedSourceFile<TSymbol>, file: RemoteSourceFile): RemoteSourceFile;
|
|
62
|
+
getOrCreateSymbol(record: CachedSourceFile<TSymbol>, file: SourceFileDescriptor, id: number, create: () => TSymbol): TSymbol;
|
|
46
63
|
/**
|
|
47
64
|
* Store a source file in the cache and retain it for the given (snapshot, project) pair.
|
|
48
65
|
* Returns the cached file — which may be an existing entry if the hash matches.
|
|
49
66
|
*/
|
|
50
|
-
set(
|
|
67
|
+
set(file: RemoteSourceFile, snapshotId: number, projectId: ProjectId): RemoteSourceFile;
|
|
68
|
+
/**
|
|
69
|
+
* Store a source file in the cache and retain it for a direct lease.
|
|
70
|
+
* Returns the cached file so leased and program-owned files share identity.
|
|
71
|
+
*/
|
|
72
|
+
setForLease(file: RemoteSourceFile, leaseId: number): RemoteSourceFile;
|
|
73
|
+
private setWithRef;
|
|
74
|
+
private addRecord;
|
|
75
|
+
private retainRecordForSnapshot;
|
|
76
|
+
private find;
|
|
77
|
+
private findDescriptor;
|
|
51
78
|
/**
|
|
52
79
|
* Retain cache entries from a previous snapshot for a new snapshot.
|
|
53
80
|
* For each project in the previous snapshot:
|
|
@@ -62,9 +89,13 @@ export declare class SourceFileCache {
|
|
|
62
89
|
* Entries with no remaining refs are evicted.
|
|
63
90
|
*/
|
|
64
91
|
releaseSnapshot(snapshotId: number): void;
|
|
92
|
+
releaseLease(leaseId: number): void;
|
|
93
|
+
private releaseRef;
|
|
65
94
|
private trackPath;
|
|
66
95
|
/**
|
|
67
|
-
*
|
|
96
|
+
* Drop local cache ownership without releasing server-side snapshots or leases.
|
|
97
|
+
* Caller-held ASTs may keep detached records alive; newly cached records need not
|
|
98
|
+
* preserve object identity with those detached records.
|
|
68
99
|
*/
|
|
69
100
|
clear(): void;
|
|
70
101
|
/**
|
|
@@ -74,6 +105,6 @@ export declare class SourceFileCache {
|
|
|
74
105
|
/**
|
|
75
106
|
* Check if a path is in the cache.
|
|
76
107
|
*/
|
|
77
|
-
has(path:
|
|
108
|
+
has(path: PathKey): boolean;
|
|
78
109
|
}
|
|
79
110
|
//# sourceMappingURL=sourceFileCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceFileCache.d.ts","sourceRoot":"","sources":["../../src/api/sourceFileCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sourceFileCache.d.ts","sourceRoot":"","sources":["../../src/api/sourceFileCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builds a composite ref key from a snapshot ID and project ID.
|
|
3
3
|
*/
|
|
4
|
-
function
|
|
5
|
-
return
|
|
4
|
+
function snapshotRefKey(snapshotId, projectId) {
|
|
5
|
+
return `snapshot:${snapshotId}:${projectId}`;
|
|
6
|
+
}
|
|
7
|
+
function leaseRefKey(leaseId) {
|
|
8
|
+
return `lease:${leaseId}`;
|
|
9
|
+
}
|
|
10
|
+
function descriptorFromFile(file) {
|
|
11
|
+
return {
|
|
12
|
+
fileName: file.fileName,
|
|
13
|
+
path: file.path,
|
|
14
|
+
contentHash: file.contentHash,
|
|
15
|
+
parseOptionsKey: file.parseOptionsKey,
|
|
16
|
+
scriptKind: file.scriptKind,
|
|
17
|
+
nodeId: file.nodeId,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function descriptorsEqual(left, right) {
|
|
21
|
+
return left.fileName === right.fileName &&
|
|
22
|
+
left.path === right.path &&
|
|
23
|
+
left.contentHash === right.contentHash &&
|
|
24
|
+
left.parseOptionsKey === right.parseOptionsKey &&
|
|
25
|
+
left.scriptKind === right.scriptKind &&
|
|
26
|
+
left.nodeId === right.nodeId;
|
|
6
27
|
}
|
|
7
28
|
/**
|
|
8
|
-
* Client-side cache for source files keyed by (path, parseOptionsKey, contentHash).
|
|
29
|
+
* Client-side cache for source files keyed by (path, fileName, scriptKind, parseOptionsKey, contentHash).
|
|
9
30
|
*
|
|
10
31
|
* Supports multiple versions of the same file at the same path (e.g., from
|
|
11
32
|
* different snapshots with different file contents). Each version is identified
|
|
12
|
-
* by its content hash and parse options key.
|
|
33
|
+
* by its script kind, content hash, and parse options key.
|
|
13
34
|
*
|
|
14
|
-
* Entries are ref-counted by (snapshot, project) pairs
|
|
15
|
-
*
|
|
16
|
-
* and entries with no remaining references are evicted.
|
|
35
|
+
* Entries are ref-counted by (snapshot, project) pairs and direct source-file
|
|
36
|
+
* leases. Releasing an owner evicts entries with no remaining references.
|
|
17
37
|
*
|
|
18
38
|
* When a new snapshot is created, unchanged cache entries from the previous
|
|
19
39
|
* snapshot are retained per-project. Only files within changed or removed
|
|
@@ -24,6 +44,10 @@ export class SourceFileCache {
|
|
|
24
44
|
cache = new Map();
|
|
25
45
|
/** Map from snapshotId to (projectId → Set of paths fetched through that project) */
|
|
26
46
|
snapshotProjectPaths = new Map();
|
|
47
|
+
/** Map from direct lease ID to its retained path */
|
|
48
|
+
leasePaths = new Map();
|
|
49
|
+
/** Map from source-file node ID to its record, for resolving compact symbol references */
|
|
50
|
+
recordsByNodeId = new Map();
|
|
27
51
|
/**
|
|
28
52
|
* Get a cached source file already retained for the given (snapshot, project) pair.
|
|
29
53
|
* This does not require a content hash or parse options key — it returns the entry
|
|
@@ -37,31 +61,118 @@ export class SourceFileCache {
|
|
|
37
61
|
const entries = this.cache.get(path);
|
|
38
62
|
if (!entries)
|
|
39
63
|
return undefined;
|
|
40
|
-
const key =
|
|
64
|
+
const key = snapshotRefKey(snapshotId, projectId);
|
|
41
65
|
const entry = entries.find(e => e.refs.has(key));
|
|
42
66
|
return entry?.file;
|
|
43
67
|
}
|
|
68
|
+
get(file) {
|
|
69
|
+
return this.find(file)?.file;
|
|
70
|
+
}
|
|
71
|
+
getOrCreateRecord(file, snapshotId, projectId) {
|
|
72
|
+
let entries = this.cache.get(file.path);
|
|
73
|
+
if (!entries) {
|
|
74
|
+
entries = [];
|
|
75
|
+
this.cache.set(file.path, entries);
|
|
76
|
+
}
|
|
77
|
+
let record = this.findDescriptor(file, entries);
|
|
78
|
+
if (!record) {
|
|
79
|
+
record = this.addRecord(entries, {
|
|
80
|
+
descriptor: file,
|
|
81
|
+
refs: new Set(),
|
|
82
|
+
symbolsById: new Map(),
|
|
83
|
+
symbolsByDeclarationNodeIndex: new Map(),
|
|
84
|
+
declarationSymbolRequests: new Map(),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
this.retainRecordForSnapshot(record, snapshotId, projectId);
|
|
88
|
+
return record;
|
|
89
|
+
}
|
|
90
|
+
/** Find the live record for a source-file node ID without creating or retaining one. */
|
|
91
|
+
findRecord(nodeId) {
|
|
92
|
+
return this.recordsByNodeId.get(nodeId);
|
|
93
|
+
}
|
|
94
|
+
/** Retain an existing record for a snapshot/project that reused one of its cached objects. */
|
|
95
|
+
retainRecord(record, snapshotId, projectId) {
|
|
96
|
+
if (this.recordsByNodeId.get(record.descriptor.nodeId) !== record) {
|
|
97
|
+
throw new Error(`Source file record '${record.descriptor.fileName}' is no longer cached`);
|
|
98
|
+
}
|
|
99
|
+
this.retainRecordForSnapshot(record, snapshotId, projectId);
|
|
100
|
+
}
|
|
101
|
+
/** Attach a source file fetched by its descriptor to its existing record. */
|
|
102
|
+
attachFile(record, file) {
|
|
103
|
+
if (!descriptorsEqual(descriptorFromFile(file), record.descriptor)) {
|
|
104
|
+
throw new Error(`Source file does not match cached record '${record.descriptor.fileName}'`);
|
|
105
|
+
}
|
|
106
|
+
const result = record.file ??= file;
|
|
107
|
+
result.symbolCache = record;
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
getOrCreateSymbol(record, file, id, create) {
|
|
111
|
+
if (!descriptorsEqual(file, record.descriptor)) {
|
|
112
|
+
throw new Error(`Symbol ${id} does not belong to '${record.descriptor.fileName}'`);
|
|
113
|
+
}
|
|
114
|
+
let symbol = record.symbolsById.get(id);
|
|
115
|
+
if (!symbol) {
|
|
116
|
+
symbol = create();
|
|
117
|
+
record.symbolsById.set(id, symbol);
|
|
118
|
+
}
|
|
119
|
+
return symbol;
|
|
120
|
+
}
|
|
44
121
|
/**
|
|
45
122
|
* Store a source file in the cache and retain it for the given (snapshot, project) pair.
|
|
46
123
|
* Returns the cached file — which may be an existing entry if the hash matches.
|
|
47
124
|
*/
|
|
48
|
-
set(
|
|
49
|
-
|
|
125
|
+
set(file, snapshotId, projectId) {
|
|
126
|
+
const result = this.setWithRef(file, snapshotRefKey(snapshotId, projectId));
|
|
127
|
+
this.trackPath(snapshotId, projectId, file.path);
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Store a source file in the cache and retain it for a direct lease.
|
|
132
|
+
* Returns the cached file so leased and program-owned files share identity.
|
|
133
|
+
*/
|
|
134
|
+
setForLease(file, leaseId) {
|
|
135
|
+
if (this.leasePaths.has(leaseId)) {
|
|
136
|
+
throw new Error(`Source file lease ${leaseId} is already cached`);
|
|
137
|
+
}
|
|
138
|
+
const result = this.setWithRef(file, leaseRefKey(leaseId));
|
|
139
|
+
this.leasePaths.set(leaseId, file.path);
|
|
140
|
+
return result;
|
|
141
|
+
}
|
|
142
|
+
setWithRef(file, ref) {
|
|
143
|
+
let entries = this.cache.get(file.path);
|
|
50
144
|
if (!entries) {
|
|
51
145
|
entries = [];
|
|
52
|
-
this.cache.set(path, entries);
|
|
146
|
+
this.cache.set(file.path, entries);
|
|
53
147
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
148
|
+
let record = this.find(file, entries);
|
|
149
|
+
if (!record) {
|
|
150
|
+
record = file.symbolCache ?? {
|
|
151
|
+
descriptor: descriptorFromFile(file),
|
|
152
|
+
refs: new Set(),
|
|
153
|
+
symbolsById: new Map(),
|
|
154
|
+
symbolsByDeclarationNodeIndex: new Map(),
|
|
155
|
+
declarationSymbolRequests: new Map(),
|
|
156
|
+
};
|
|
157
|
+
this.addRecord(entries, record);
|
|
61
158
|
}
|
|
62
|
-
|
|
63
|
-
this.
|
|
64
|
-
|
|
159
|
+
record.refs.add(ref);
|
|
160
|
+
return this.attachFile(record, file);
|
|
161
|
+
}
|
|
162
|
+
addRecord(entries, record) {
|
|
163
|
+
entries.push(record);
|
|
164
|
+
this.recordsByNodeId.set(record.descriptor.nodeId, record);
|
|
165
|
+
return record;
|
|
166
|
+
}
|
|
167
|
+
retainRecordForSnapshot(record, snapshotId, projectId) {
|
|
168
|
+
record.refs.add(snapshotRefKey(snapshotId, projectId));
|
|
169
|
+
this.trackPath(snapshotId, projectId, record.descriptor.path);
|
|
170
|
+
}
|
|
171
|
+
find(file, entries = this.cache.get(file.path)) {
|
|
172
|
+
return this.findDescriptor(descriptorFromFile(file), entries);
|
|
173
|
+
}
|
|
174
|
+
findDescriptor(file, entries = this.cache.get(file.path)) {
|
|
175
|
+
return entries?.find(entry => descriptorsEqual(entry.descriptor, file));
|
|
65
176
|
}
|
|
66
177
|
/**
|
|
67
178
|
* Retain cache entries from a previous snapshot for a new snapshot.
|
|
@@ -88,8 +199,8 @@ export class SourceFileCache {
|
|
|
88
199
|
for (const p of projectChanges.deletedFiles ?? [])
|
|
89
200
|
invalidPaths.add(p);
|
|
90
201
|
}
|
|
91
|
-
const prevRef =
|
|
92
|
-
const newRef =
|
|
202
|
+
const prevRef = snapshotRefKey(previousSnapshotId, projectId);
|
|
203
|
+
const newRef = snapshotRefKey(newSnapshotId, projectId);
|
|
93
204
|
for (const path of paths) {
|
|
94
205
|
if (invalidPaths?.has(path))
|
|
95
206
|
continue;
|
|
@@ -115,24 +226,37 @@ export class SourceFileCache {
|
|
|
115
226
|
if (!projectMap)
|
|
116
227
|
return;
|
|
117
228
|
for (const [projectId, paths] of projectMap) {
|
|
118
|
-
const key =
|
|
229
|
+
const key = snapshotRefKey(snapshotId, projectId);
|
|
119
230
|
for (const path of paths) {
|
|
120
|
-
|
|
121
|
-
if (!entries)
|
|
122
|
-
continue;
|
|
123
|
-
for (let i = entries.length - 1; i >= 0; i--) {
|
|
124
|
-
entries[i].refs.delete(key);
|
|
125
|
-
if (entries[i].refs.size === 0) {
|
|
126
|
-
entries.splice(i, 1);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (entries.length === 0) {
|
|
130
|
-
this.cache.delete(path);
|
|
131
|
-
}
|
|
231
|
+
this.releaseRef(path, key);
|
|
132
232
|
}
|
|
133
233
|
}
|
|
134
234
|
this.snapshotProjectPaths.delete(snapshotId);
|
|
135
235
|
}
|
|
236
|
+
releaseLease(leaseId) {
|
|
237
|
+
const path = this.leasePaths.get(leaseId);
|
|
238
|
+
if (path === undefined)
|
|
239
|
+
return;
|
|
240
|
+
this.releaseRef(path, leaseRefKey(leaseId));
|
|
241
|
+
this.leasePaths.delete(leaseId);
|
|
242
|
+
}
|
|
243
|
+
releaseRef(path, ref) {
|
|
244
|
+
const entries = this.cache.get(path);
|
|
245
|
+
if (!entries)
|
|
246
|
+
return;
|
|
247
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
248
|
+
entries[i].refs.delete(ref);
|
|
249
|
+
if (entries[i].refs.size === 0) {
|
|
250
|
+
const [evicted] = entries.splice(i, 1);
|
|
251
|
+
if (this.recordsByNodeId.get(evicted.descriptor.nodeId) === evicted) {
|
|
252
|
+
this.recordsByNodeId.delete(evicted.descriptor.nodeId);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (entries.length === 0) {
|
|
257
|
+
this.cache.delete(path);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
136
260
|
trackPath(snapshotId, projectId, path) {
|
|
137
261
|
let projectMap = this.snapshotProjectPaths.get(snapshotId);
|
|
138
262
|
if (!projectMap) {
|
|
@@ -147,11 +271,18 @@ export class SourceFileCache {
|
|
|
147
271
|
paths.add(path);
|
|
148
272
|
}
|
|
149
273
|
/**
|
|
150
|
-
*
|
|
274
|
+
* Drop local cache ownership without releasing server-side snapshots or leases.
|
|
275
|
+
* Caller-held ASTs may keep detached records alive; newly cached records need not
|
|
276
|
+
* preserve object identity with those detached records.
|
|
151
277
|
*/
|
|
152
278
|
clear() {
|
|
279
|
+
for (const record of this.recordsByNodeId.values()) {
|
|
280
|
+
record.refs.clear();
|
|
281
|
+
}
|
|
153
282
|
this.cache.clear();
|
|
154
283
|
this.snapshotProjectPaths.clear();
|
|
284
|
+
this.leasePaths.clear();
|
|
285
|
+
this.recordsByNodeId.clear();
|
|
155
286
|
}
|
|
156
287
|
/**
|
|
157
288
|
* Get the number of unique paths in the cache.
|