@lzehrung/codegraph 2.3.29 → 2.3.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +6602 -4453
- package/dist/bin/query-index-worker.js +1302 -753
- package/dist/document-links/asciidoc.d.ts.map +1 -1
- package/dist/document-links/asciidoc.js +3 -4
- package/dist/document-links/asciidoc.js.map +1 -1
- package/dist/document-links/html-forms.d.ts +39 -0
- package/dist/document-links/html-forms.d.ts.map +1 -0
- package/dist/document-links/html-forms.js +94 -0
- package/dist/document-links/html-forms.js.map +1 -0
- package/dist/document-links/html.d.ts +8 -0
- package/dist/document-links/html.d.ts.map +1 -1
- package/dist/document-links/html.js +30 -15
- package/dist/document-links/html.js.map +1 -1
- package/dist/document-links/markdown.d.ts.map +1 -1
- package/dist/document-links/markdown.js +6 -7
- package/dist/document-links/markdown.js.map +1 -1
- package/dist/document-links/rst.d.ts.map +1 -1
- package/dist/document-links/rst.js +6 -0
- package/dist/document-links/rst.js.map +1 -1
- package/dist/document-links/sfc.d.ts.map +1 -1
- package/dist/document-links/sfc.js +4 -4
- package/dist/document-links/sfc.js.map +1 -1
- package/dist/graphs/angularjs.d.ts.map +1 -1
- package/dist/graphs/angularjs.js +9 -1
- package/dist/graphs/angularjs.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +8 -3
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +62 -104
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.js +118 -86
- package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +27 -0
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +509 -42
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/impact/call-compatibility/providers/index.d.ts +15 -1
- package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
- package/dist/impact/call-compatibility/providers/index.js +21 -20
- package/dist/impact/call-compatibility/providers/index.js.map +1 -1
- package/dist/impact/call-compatibility/providers/profiles.d.ts +80 -0
- package/dist/impact/call-compatibility/providers/profiles.d.ts.map +1 -0
- package/dist/impact/call-compatibility/providers/profiles.js +164 -0
- package/dist/impact/call-compatibility/providers/profiles.js.map +1 -0
- package/dist/impact/call-compatibility.d.ts.map +1 -1
- package/dist/impact/call-compatibility.js +73 -108
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/impact/member-resolution-coverage.d.ts.map +1 -1
- package/dist/impact/member-resolution-coverage.js +2 -2
- package/dist/impact/member-resolution-coverage.js.map +1 -1
- package/dist/indexer/build-cache/manifest.d.ts +7 -0
- package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
- package/dist/indexer/build-cache/manifest.js +32 -1
- package/dist/indexer/build-cache/manifest.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +16 -2
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +17 -3
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +1 -0
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +80 -2
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-manifest.d.ts +1 -0
- package/dist/indexer/build-manifest.d.ts.map +1 -1
- package/dist/indexer/build-manifest.js +18 -0
- package/dist/indexer/build-manifest.js.map +1 -1
- package/dist/indexer/build-workers.js +1 -1
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/declaration-visibility.d.ts +43 -0
- package/dist/indexer/declaration-visibility.d.ts.map +1 -0
- package/dist/indexer/declaration-visibility.js +202 -0
- package/dist/indexer/declaration-visibility.js.map +1 -0
- package/dist/indexer/imports/binding-ranges.d.ts +2 -2
- package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
- package/dist/indexer/imports/binding-ranges.js +2 -123
- package/dist/indexer/imports/binding-ranges.js.map +1 -1
- package/dist/indexer/imports/import-binding-tables.d.ts +64 -0
- package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -0
- package/dist/indexer/imports/import-binding-tables.js +419 -0
- package/dist/indexer/imports/import-binding-tables.js.map +1 -0
- package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
- package/dist/indexer/imports/js-text-imports.js +5 -2
- package/dist/indexer/imports/js-text-imports.js.map +1 -1
- package/dist/indexer/imports/language-specific.d.ts +3 -22
- package/dist/indexer/imports/language-specific.d.ts.map +1 -1
- package/dist/indexer/imports/language-specific.js +54 -573
- package/dist/indexer/imports/language-specific.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +23 -32
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/text-import-extractors.d.ts +37 -0
- package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -0
- package/dist/indexer/imports/text-import-extractors.js +358 -0
- package/dist/indexer/imports/text-import-extractors.js.map +1 -0
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +2 -1
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +23 -27
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts +1 -7
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +181 -381
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +20 -1
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +39 -7
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.js +2 -2
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/scope-nodes.d.ts +108 -0
- package/dist/indexer/scope-nodes.d.ts.map +1 -0
- package/dist/indexer/scope-nodes.js +238 -0
- package/dist/indexer/scope-nodes.js.map +1 -0
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +70 -130
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/types.d.ts +7 -0
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/languages/definitions/c-family.d.ts +18 -4
- package/dist/languages/definitions/c-family.d.ts.map +1 -1
- package/dist/languages/definitions/c-family.js +51 -13
- package/dist/languages/definitions/c-family.js.map +1 -1
- package/dist/languages/definitions/c.d.ts.map +1 -1
- package/dist/languages/definitions/c.js +7 -43
- package/dist/languages/definitions/c.js.map +1 -1
- package/dist/languages/definitions/cpp.d.ts.map +1 -1
- package/dist/languages/definitions/cpp.js +15 -61
- package/dist/languages/definitions/cpp.js.map +1 -1
- package/dist/languages/definitions/csharp.d.ts.map +1 -1
- package/dist/languages/definitions/csharp.js +46 -52
- package/dist/languages/definitions/csharp.js.map +1 -1
- package/dist/languages/definitions/css-like.d.ts.map +1 -1
- package/dist/languages/definitions/css-like.js +13 -10
- package/dist/languages/definitions/css-like.js.map +1 -1
- package/dist/languages/definitions/go.d.ts.map +1 -1
- package/dist/languages/definitions/go.js +29 -42
- package/dist/languages/definitions/go.js.map +1 -1
- package/dist/languages/definitions/html.d.ts.map +1 -1
- package/dist/languages/definitions/html.js +15 -14
- package/dist/languages/definitions/html.js.map +1 -1
- package/dist/languages/definitions/java.d.ts.map +1 -1
- package/dist/languages/definitions/java.js +42 -48
- package/dist/languages/definitions/java.js.map +1 -1
- package/dist/languages/definitions/javascript.d.ts.map +1 -1
- package/dist/languages/definitions/javascript.js +26 -54
- package/dist/languages/definitions/javascript.js.map +1 -1
- package/dist/languages/definitions/js-family.d.ts +15 -1
- package/dist/languages/definitions/js-family.d.ts.map +1 -1
- package/dist/languages/definitions/js-family.js +51 -0
- package/dist/languages/definitions/js-family.js.map +1 -1
- package/dist/languages/definitions/kotlin.d.ts.map +1 -1
- package/dist/languages/definitions/kotlin.js +26 -43
- package/dist/languages/definitions/kotlin.js.map +1 -1
- package/dist/languages/definitions/php.d.ts.map +1 -1
- package/dist/languages/definitions/php.js +50 -60
- package/dist/languages/definitions/php.js.map +1 -1
- package/dist/languages/definitions/python.d.ts.map +1 -1
- package/dist/languages/definitions/python.js +23 -14
- package/dist/languages/definitions/python.js.map +1 -1
- package/dist/languages/definitions/ruby.d.ts.map +1 -1
- package/dist/languages/definitions/ruby.js +14 -17
- package/dist/languages/definitions/ruby.js.map +1 -1
- package/dist/languages/definitions/rust.d.ts.map +1 -1
- package/dist/languages/definitions/rust.js +30 -52
- package/dist/languages/definitions/rust.js.map +1 -1
- package/dist/languages/definitions/scss.d.ts.map +1 -1
- package/dist/languages/definitions/scss.js +33 -49
- package/dist/languages/definitions/scss.js.map +1 -1
- package/dist/languages/definitions/sfc-graph.d.ts +4 -0
- package/dist/languages/definitions/sfc-graph.d.ts.map +1 -0
- package/dist/languages/definitions/sfc-graph.js +16 -0
- package/dist/languages/definitions/sfc-graph.js.map +1 -0
- package/dist/languages/definitions/shared.d.ts +33 -0
- package/dist/languages/definitions/shared.d.ts.map +1 -0
- package/dist/languages/definitions/shared.js +63 -0
- package/dist/languages/definitions/shared.js.map +1 -0
- package/dist/languages/definitions/sql.d.ts.map +1 -1
- package/dist/languages/definitions/sql.js +1 -0
- package/dist/languages/definitions/sql.js.map +1 -1
- package/dist/languages/definitions/svelte.d.ts.map +1 -1
- package/dist/languages/definitions/svelte.js +2 -10
- package/dist/languages/definitions/svelte.js.map +1 -1
- package/dist/languages/definitions/swift.d.ts.map +1 -1
- package/dist/languages/definitions/swift.js +37 -31
- package/dist/languages/definitions/swift.js.map +1 -1
- package/dist/languages/definitions/typescript.d.ts.map +1 -1
- package/dist/languages/definitions/typescript.js +56 -90
- package/dist/languages/definitions/typescript.js.map +1 -1
- package/dist/languages/definitions/vue.d.ts.map +1 -1
- package/dist/languages/definitions/vue.js +2 -10
- package/dist/languages/definitions/vue.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +9 -15
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/languages/graph-captures.d.ts +40 -0
- package/dist/languages/graph-captures.d.ts.map +1 -0
- package/dist/languages/graph-captures.js +46 -0
- package/dist/languages/graph-captures.js.map +1 -0
- package/dist/languages/import-statement-parsers.d.ts +17 -0
- package/dist/languages/import-statement-parsers.d.ts.map +1 -1
- package/dist/languages/import-statement-parsers.js +108 -0
- package/dist/languages/import-statement-parsers.js.map +1 -1
- package/dist/languages/js-family.d.ts +2 -0
- package/dist/languages/js-family.d.ts.map +1 -1
- package/dist/languages/js-family.js +15 -6
- package/dist/languages/js-family.js.map +1 -1
- package/dist/languages/types.d.ts +4 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/types.js +1 -1
- package/dist/languages/types.js.map +1 -1
- package/dist/languages.js +1 -1
- package/dist/languages.js.map +1 -1
- package/dist/native/contracts.d.ts +1 -1
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/js-bridge.d.ts +10 -0
- package/dist/native/js-bridge.d.ts.map +1 -1
- package/dist/native/js-bridge.js +10 -0
- package/dist/native/js-bridge.js.map +1 -1
- package/dist/native/native-backend-report.d.ts.map +1 -1
- package/dist/native/native-backend-report.js +2 -0
- package/dist/native/native-backend-report.js.map +1 -1
- package/dist/util/comments.d.ts +7 -7
- package/dist/util/comments.d.ts.map +1 -1
- package/dist/util/comments.js +15 -214
- package/dist/util/comments.js.map +1 -1
- package/dist/util/dynamic-import-tables.d.ts +88 -0
- package/dist/util/dynamic-import-tables.d.ts.map +1 -0
- package/dist/util/dynamic-import-tables.js +100 -0
- package/dist/util/dynamic-import-tables.js.map +1 -0
- package/dist/util/lines.d.ts.map +1 -1
- package/dist/util/lines.js +4 -1
- package/dist/util/lines.js.map +1 -1
- package/dist/util/member-access-tables.d.ts +72 -0
- package/dist/util/member-access-tables.d.ts.map +1 -0
- package/dist/util/member-access-tables.js +167 -0
- package/dist/util/member-access-tables.js.map +1 -0
- package/dist/util/member-access.d.ts +2 -0
- package/dist/util/member-access.d.ts.map +1 -1
- package/dist/util/member-access.js +61 -95
- package/dist/util/member-access.js.map +1 -1
- package/dist/util/paths.d.ts +4 -0
- package/dist/util/paths.d.ts.map +1 -1
- package/dist/util/paths.js +26 -0
- package/dist/util/paths.js.map +1 -1
- package/dist/util/project-files.js +1 -1
- package/dist/util/project-files.js.map +1 -1
- package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
- package/dist/util/resolution/cargo-targets.js +17 -14
- package/dist/util/resolution/cargo-targets.js.map +1 -1
- package/dist/util/resolution/cpp.d.ts +6 -0
- package/dist/util/resolution/cpp.d.ts.map +1 -0
- package/dist/util/resolution/cpp.js +69 -0
- package/dist/util/resolution/cpp.js.map +1 -0
- package/dist/util/resolution/csharp.d.ts +4 -3
- package/dist/util/resolution/csharp.d.ts.map +1 -1
- package/dist/util/resolution/csharp.js +27 -113
- package/dist/util/resolution/csharp.js.map +1 -1
- package/dist/util/resolution/files.d.ts +6 -0
- package/dist/util/resolution/files.d.ts.map +1 -1
- package/dist/util/resolution/files.js +108 -4
- package/dist/util/resolution/files.js.map +1 -1
- package/dist/util/resolution/go.d.ts +1 -0
- package/dist/util/resolution/go.d.ts.map +1 -1
- package/dist/util/resolution/go.js +4 -3
- package/dist/util/resolution/go.js.map +1 -1
- package/dist/util/resolution/jvm.d.ts +3 -3
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +90 -54
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/node.js +2 -2
- package/dist/util/resolution/node.js.map +1 -1
- package/dist/util/resolution/php-composer.d.ts.map +1 -1
- package/dist/util/resolution/php-composer.js +8 -7
- package/dist/util/resolution/php-composer.js.map +1 -1
- package/dist/util/resolution/php.d.ts.map +1 -1
- package/dist/util/resolution/php.js +30 -43
- package/dist/util/resolution/php.js.map +1 -1
- package/dist/util/resolution/project-symbols.d.ts +5 -7
- package/dist/util/resolution/project-symbols.d.ts.map +1 -1
- package/dist/util/resolution/project-symbols.js +23 -9
- package/dist/util/resolution/project-symbols.js.map +1 -1
- package/dist/util/resolution/python.d.ts.map +1 -1
- package/dist/util/resolution/python.js +107 -62
- package/dist/util/resolution/python.js.map +1 -1
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +45 -34
- package/dist/util/resolution/rust.js.map +1 -1
- package/dist/util/resolution/tsconfig.d.ts.map +1 -1
- package/dist/util/resolution/tsconfig.js +3 -9
- package/dist/util/resolution/tsconfig.js.map +1 -1
- package/dist/util/resolution-candidates.d.ts +5 -1
- package/dist/util/resolution-candidates.d.ts.map +1 -1
- package/dist/util/resolution-candidates.js +18 -0
- package/dist/util/resolution-candidates.js.map +1 -1
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +93 -49
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/specifiers.d.ts +4 -10
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +131 -165
- package/dist/util/specifiers.js.map +1 -1
- package/dist/util/trivia-tables.d.ts +69 -0
- package/dist/util/trivia-tables.d.ts.map +1 -0
- package/dist/util/trivia-tables.js +186 -0
- package/dist/util/trivia-tables.js.map +1 -0
- package/dist/util/trivia.d.ts +24 -0
- package/dist/util/trivia.d.ts.map +1 -0
- package/dist/util/trivia.js +621 -0
- package/dist/util/trivia.js.map +1 -0
- package/dist/util.d.ts +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -1
- package/dist/util.js.map +1 -1
- package/dist/worker/native-extract-worker.d.ts.map +1 -1
- package/dist/worker/native-extract-worker.js +4 -4
- package/dist/worker/native-extract-worker.js.map +1 -1
- package/package.json +3 -3
package/dist/util/comments.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { buildTriviaMask, maskTrivia, stripTrivia } from "./trivia.js";
|
|
1
2
|
export function stripHashInlineComment(line, trimMode) {
|
|
2
3
|
let quote = null;
|
|
3
4
|
for (let i = 0; i < line.length; i += 1) {
|
|
@@ -18,191 +19,15 @@ export function stripHashInlineComment(line, trimMode) {
|
|
|
18
19
|
}
|
|
19
20
|
return trimMode === "trim" ? line.trim() : line;
|
|
20
21
|
}
|
|
21
|
-
function transformJsLikeTrivia(src, options) {
|
|
22
|
-
let out = "";
|
|
23
|
-
let i = 0;
|
|
24
|
-
let inSingle = false;
|
|
25
|
-
let inDouble = false;
|
|
26
|
-
let inTemplate = false;
|
|
27
|
-
let escapeNext = false;
|
|
28
|
-
const maskStrings = options?.maskStrings ?? false;
|
|
29
|
-
const preserveLength = options?.preserveLength ?? false;
|
|
30
|
-
const maskedChar = (ch) => (ch === "\n" || ch === "\r" ? ch : " ");
|
|
31
|
-
while (i < src.length) {
|
|
32
|
-
const ch = src[i];
|
|
33
|
-
const next = src[i + 1] ?? "";
|
|
34
|
-
if (inSingle || inDouble || inTemplate) {
|
|
35
|
-
const isClosingQuote = !escapeNext && ((inSingle && ch === "'") || (inDouble && ch === '"') || (inTemplate && ch === "`"));
|
|
36
|
-
if (maskStrings) {
|
|
37
|
-
out += isClosingQuote ? ch : maskedChar(ch);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
out += ch;
|
|
41
|
-
}
|
|
42
|
-
if (escapeNext) {
|
|
43
|
-
escapeNext = false;
|
|
44
|
-
}
|
|
45
|
-
else if (ch === "\\") {
|
|
46
|
-
escapeNext = true;
|
|
47
|
-
}
|
|
48
|
-
else if (inSingle && ch === "'") {
|
|
49
|
-
inSingle = false;
|
|
50
|
-
}
|
|
51
|
-
else if (inDouble && ch === '"') {
|
|
52
|
-
inDouble = false;
|
|
53
|
-
}
|
|
54
|
-
else if (inTemplate && ch === "`") {
|
|
55
|
-
inTemplate = false;
|
|
56
|
-
}
|
|
57
|
-
i += 1;
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
if (ch === "'") {
|
|
61
|
-
inSingle = true;
|
|
62
|
-
out += ch;
|
|
63
|
-
i += 1;
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
if (ch === '"') {
|
|
67
|
-
inDouble = true;
|
|
68
|
-
out += ch;
|
|
69
|
-
i += 1;
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (ch === "`") {
|
|
73
|
-
inTemplate = true;
|
|
74
|
-
out += ch;
|
|
75
|
-
i += 1;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
if (ch === "/" && next === "*") {
|
|
79
|
-
if (preserveLength)
|
|
80
|
-
out += " ";
|
|
81
|
-
i += 2;
|
|
82
|
-
let depth = 1;
|
|
83
|
-
while (i < src.length && depth > 0) {
|
|
84
|
-
if (options?.nestedBlockComments && src[i] === "/" && src[i + 1] === "*") {
|
|
85
|
-
if (preserveLength)
|
|
86
|
-
out += " ";
|
|
87
|
-
depth += 1;
|
|
88
|
-
i += 2;
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
if (src[i] === "*" && src[i + 1] === "/") {
|
|
92
|
-
if (preserveLength)
|
|
93
|
-
out += " ";
|
|
94
|
-
depth -= 1;
|
|
95
|
-
i += 2;
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
if (preserveLength)
|
|
99
|
-
out += maskedChar(src[i]);
|
|
100
|
-
else if (src[i] === "\n")
|
|
101
|
-
out += "\n";
|
|
102
|
-
i += 1;
|
|
103
|
-
}
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
if (ch === "/" && next === "/") {
|
|
107
|
-
if (preserveLength)
|
|
108
|
-
out += " ";
|
|
109
|
-
i += 2;
|
|
110
|
-
while (i < src.length && src[i] !== "\n") {
|
|
111
|
-
if (preserveLength)
|
|
112
|
-
out += " ";
|
|
113
|
-
i += 1;
|
|
114
|
-
}
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
out += ch;
|
|
118
|
-
i += 1;
|
|
119
|
-
}
|
|
120
|
-
return out;
|
|
121
|
-
}
|
|
122
22
|
export function stripJsLikeComments(src) {
|
|
123
|
-
return
|
|
23
|
+
return maskTrivia(src, "js", { maskStrings: false });
|
|
124
24
|
}
|
|
125
25
|
export function maskJsLikeCommentsAndStrings(src) {
|
|
126
|
-
return
|
|
127
|
-
maskStrings: true,
|
|
128
|
-
preserveLength: true,
|
|
129
|
-
});
|
|
26
|
+
return maskTrivia(src, "js");
|
|
130
27
|
}
|
|
131
28
|
function hasJsLikeLiteralDelimiter(source) {
|
|
132
29
|
return source.includes("'") || source.includes('"') || source.includes("`") || source.includes("/");
|
|
133
30
|
}
|
|
134
|
-
export function maskNestedBlockCommentsAndStrings(src) {
|
|
135
|
-
return transformJsLikeTrivia(src, {
|
|
136
|
-
maskStrings: true,
|
|
137
|
-
nestedBlockComments: true,
|
|
138
|
-
preserveLength: true,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
function maskQuotedString(source, mask, start, quote) {
|
|
142
|
-
for (let i = start; i < source.length; i += 1) {
|
|
143
|
-
const ch = source[i];
|
|
144
|
-
mask[i] = 1;
|
|
145
|
-
if (ch === "\\") {
|
|
146
|
-
const nextIndex = i + 1;
|
|
147
|
-
if (nextIndex < source.length) {
|
|
148
|
-
mask[nextIndex] = 1;
|
|
149
|
-
i = nextIndex;
|
|
150
|
-
}
|
|
151
|
-
continue;
|
|
152
|
-
}
|
|
153
|
-
if (i > start && ch === quote)
|
|
154
|
-
return i + 1;
|
|
155
|
-
}
|
|
156
|
-
return source.length;
|
|
157
|
-
}
|
|
158
|
-
function maskTemplateLiteral(source, mask, start) {
|
|
159
|
-
mask[start] = 1;
|
|
160
|
-
for (let i = start + 1; i < source.length; i += 1) {
|
|
161
|
-
const ch = source[i];
|
|
162
|
-
mask[i] = 1;
|
|
163
|
-
if (ch === "\\") {
|
|
164
|
-
const nextIndex = i + 1;
|
|
165
|
-
if (nextIndex < source.length) {
|
|
166
|
-
mask[nextIndex] = 1;
|
|
167
|
-
i = nextIndex;
|
|
168
|
-
}
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
if (ch === "`")
|
|
172
|
-
return i + 1;
|
|
173
|
-
if (ch === "$" && source[i + 1] === "{") {
|
|
174
|
-
mask[i + 1] = 1;
|
|
175
|
-
i = scanTemplateExpression(source, mask, i + 2) - 1;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return source.length;
|
|
179
|
-
}
|
|
180
|
-
function scanTemplateExpression(source, mask, start) {
|
|
181
|
-
let depth = 1;
|
|
182
|
-
for (let i = start; i < source.length; i += 1) {
|
|
183
|
-
const ch = source[i];
|
|
184
|
-
if (ch === "'" || ch === '"') {
|
|
185
|
-
i = maskQuotedString(source, mask, i, ch) - 1;
|
|
186
|
-
continue;
|
|
187
|
-
}
|
|
188
|
-
if (ch === "`") {
|
|
189
|
-
i = maskTemplateLiteral(source, mask, i) - 1;
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
if (ch === "{") {
|
|
193
|
-
depth += 1;
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
if (ch === "}") {
|
|
197
|
-
depth -= 1;
|
|
198
|
-
if (!depth) {
|
|
199
|
-
mask[i] = 1;
|
|
200
|
-
return i + 1;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return source.length;
|
|
205
|
-
}
|
|
206
31
|
function previousVisibleIndex(source, mask, start) {
|
|
207
32
|
for (let i = start; i >= 0; i -= 1) {
|
|
208
33
|
if (mask[i])
|
|
@@ -309,18 +134,11 @@ function maskRegexLiteral(source, mask, start) {
|
|
|
309
134
|
export function buildJsLikeLiteralMask(source) {
|
|
310
135
|
if (!hasJsLikeLiteralDelimiter(source))
|
|
311
136
|
return undefined;
|
|
312
|
-
const mask =
|
|
137
|
+
const mask = buildTriviaMask(source, "js", { holes: true });
|
|
313
138
|
for (let i = 0; i < source.length; i += 1) {
|
|
314
|
-
|
|
315
|
-
if (ch === "'" || ch === '"') {
|
|
316
|
-
i = maskQuotedString(source, mask, i, ch) - 1;
|
|
317
|
-
continue;
|
|
318
|
-
}
|
|
319
|
-
if (ch === "`") {
|
|
320
|
-
i = maskTemplateLiteral(source, mask, i) - 1;
|
|
139
|
+
if (mask[i])
|
|
321
140
|
continue;
|
|
322
|
-
|
|
323
|
-
if (ch === "/" && canStartRegex(source, mask, i)) {
|
|
141
|
+
if (source[i] === "/" && canStartRegex(source, mask, i)) {
|
|
324
142
|
i = maskRegexLiteral(source, mask, i) - 1;
|
|
325
143
|
}
|
|
326
144
|
}
|
|
@@ -405,35 +223,18 @@ export function parseJsonc(raw) {
|
|
|
405
223
|
return JSON.parse(stripJsonTrailingCommas(stripJsLikeComments(raw)));
|
|
406
224
|
}
|
|
407
225
|
export function stripPythonCommentsAndStrings(src) {
|
|
408
|
-
|
|
409
|
-
out = out.replace(/([rRuU]?[fF]?)("""|''')[\s\S]*?\2/g, "");
|
|
410
|
-
out = out.replace(/([rRuU]?[fF]?)("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/g, "");
|
|
411
|
-
out = out.replace(/#.*$/gm, "");
|
|
412
|
-
return out;
|
|
413
|
-
}
|
|
414
|
-
function maskMatchPreservingNewlines(match) {
|
|
415
|
-
let out = "";
|
|
416
|
-
for (const character of match) {
|
|
417
|
-
// Iterate by code point (not UTF-16 unit) so an astral character inside a masked
|
|
418
|
-
// comment/string is replaced by exactly as many space units as it occupied, keeping
|
|
419
|
-
// every later offset in `src` aligned with the masked output.
|
|
420
|
-
out += character === "\n" ? "\n" : " ".repeat(character.length);
|
|
421
|
-
}
|
|
422
|
-
return out;
|
|
226
|
+
return stripTrivia(src, "python");
|
|
423
227
|
}
|
|
424
228
|
/**
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
229
|
+
* Blanks Python comments and string literals to same-length whitespace (preserving embedded
|
|
230
|
+
* newlines) instead of deleting them. Callers that need to map a regex match position in the
|
|
231
|
+
* masked text back to an exact offset in the original source -- rather than only using the
|
|
232
|
+
* masked text to avoid false-positive matches inside unrelated strings/comments -- must use
|
|
233
|
+
* this instead; `stripPythonCommentsAndStrings` is not offset-preserving. Unlike the previous
|
|
234
|
+
* regex implementation, comments are masked before string literals are located, so an
|
|
235
|
+
* apostrophe inside a comment can no longer open a string literal.
|
|
431
236
|
*/
|
|
432
237
|
export function maskPythonCommentsAndStrings(src) {
|
|
433
|
-
|
|
434
|
-
out = out.replace(/([rRuU]?[fF]?)("""|''')[\s\S]*?\2/g, maskMatchPreservingNewlines);
|
|
435
|
-
out = out.replace(/([rRuU]?[fF]?)("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')/g, maskMatchPreservingNewlines);
|
|
436
|
-
out = out.replace(/#.*$/gm, maskMatchPreservingNewlines);
|
|
437
|
-
return out;
|
|
238
|
+
return maskTrivia(src, "python");
|
|
438
239
|
}
|
|
439
240
|
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/util/comments.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAA+B;IAClF,IAAI,KAAK,GAAqB,IAAI,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAW,EACX,OAA4F;IAE5F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YACvC,MAAM,cAAc,GAClB,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACtG,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,IAAI,UAAU,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACpC,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAC;YAClB,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC/B,IAAI,cAAc;gBAAE,GAAG,IAAI,IAAI,CAAC;YAChC,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,OAAO,EAAE,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzE,IAAI,cAAc;wBAAE,GAAG,IAAI,IAAI,CAAC;oBAChC,KAAK,IAAI,CAAC,CAAC;oBACX,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,IAAI,cAAc;wBAAE,GAAG,IAAI,IAAI,CAAC;oBAChC,KAAK,IAAI,CAAC,CAAC;oBACX,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,cAAc;oBAAE,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;qBAC1C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;oBAAE,GAAG,IAAI,IAAI,CAAC;gBACtC,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC/B,IAAI,cAAc;gBAAE,GAAG,IAAI,IAAI,CAAC;YAChC,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzC,IAAI,cAAc;oBAAE,GAAG,IAAI,GAAG,CAAC;gBAC/B,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,SAAS;QACX,CAAC;QAED,GAAG,IAAI,EAAE,CAAC;QACV,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,qBAAqB,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO,qBAAqB,CAAC,GAAG,EAAE;QAChC,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,GAAW;IAC3D,OAAO,qBAAqB,CAAC,GAAG,EAAE;QAChC,WAAW,EAAE,IAAI;QACjB,mBAAmB,EAAE,IAAI;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAa,EAAE,KAAgB;IACzF,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,GAAG,SAAS,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAa;IAC1E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,GAAG,SAAS,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAa;IAC7E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAa;IAC3E,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,SAAS;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc,EAAE,IAAgB,EAAE,SAAiB;IACtF,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC;IACxB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,CAAC;AAClG,CAAC;AAED,SAAS,6BAA6B,CAAC,MAAc,EAAE,IAAgB,EAAE,eAAuB;IAC9F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/D,IAAI,YAAY,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACnC,MAAM,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC;gBAC7B,IAAI,KAAK,GAAG,GAAG,CAAC;gBAChB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACjF,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzC,OAAO,CACL,OAAO,KAAK,IAAI;oBAChB,OAAO,KAAK,OAAO;oBACnB,OAAO,KAAK,KAAK;oBACjB,OAAO,KAAK,QAAQ;oBACpB,OAAO,KAAK,OAAO;oBACnB,OAAO,KAAK,MAAM,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAgB,EAAE,UAAkB;IACzE,IAAI,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,IAAI,KAAK,GAAG,IAAI,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,IAAgB,EAAE,KAAa;IACvE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,KAAK,GAAG,CAAC,CAAC;QACjD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,GAAG,SAAS,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,IAAI,CAAC,CAAC;YACX,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACjD,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAA4B;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QACrD,IAAI,YAAY,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChF,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QACtC,YAAY,GAAG,CAAC,CAAC;QACjB,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,GAAW;IAC3D,MAAM,YAAY,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAEnB,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACzB,GAAG,IAAI,EAAE,CAAC;YACV,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;QACH,CAAC;QAED,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,GAAW;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAM,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAC5D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,sDAAsD,EAAE,EAAE,CAAC,CAAC;IAC9E,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,iFAAiF;QACjF,oFAAoF;QACpF,8DAA8D;QAC9D,GAAG,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,EAAE,2BAA2B,CAAC,CAAC;IACrF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,sDAAsD,EAAE,2BAA2B,CAAC,CAAC;IACvG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/util/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-language dynamic-import adapters for the runner in `./specifiers.js`.
|
|
3
|
+
*
|
|
4
|
+
* The runner and the shared constant-path fold stay in `./specifiers.js`; this module owns
|
|
5
|
+
* only the per-language call shapes and the path-fold profiles they name. The runner builds
|
|
6
|
+
* the table once and injects its fold implementations (`DynamicImportFoldHelpers`), so the
|
|
7
|
+
* two modules never import each other at runtime and no cycle forms.
|
|
8
|
+
*/
|
|
9
|
+
/** Root a folded constant path is resolved against: the file's directory, the file itself,
|
|
10
|
+
* or the project root. */
|
|
11
|
+
export type DynamicBase = "fileDir" | "filePath" | "project";
|
|
12
|
+
/** A folded constant path: one rooted base plus its literal segments. */
|
|
13
|
+
export type FoldedPath = {
|
|
14
|
+
base: DynamicBase;
|
|
15
|
+
segments: string[];
|
|
16
|
+
};
|
|
17
|
+
/** Resolves a folded path against the root its base names. */
|
|
18
|
+
export type FoldedPathResolver = (folded: FoldedPath, fromFile: string, projectRoot: string) => string | null;
|
|
19
|
+
/**
|
|
20
|
+
* Per-language inputs to the shared constant-path fold: the base tokens that root a computed
|
|
21
|
+
* path and the join-style helper calls that combine a base with literal segments. Tokens are
|
|
22
|
+
* compared after whitespace removal, so `dirname(__FILE__)` and `process.cwd()` fold like
|
|
23
|
+
* identifiers. Languages without a concatenation operator only fold join-helper arguments.
|
|
24
|
+
*/
|
|
25
|
+
export type PathFoldProfile = {
|
|
26
|
+
bases: Readonly<Record<string, DynamicBase>>;
|
|
27
|
+
joinHelpers: readonly string[];
|
|
28
|
+
/** Top-level concatenation operator between constant parts (PHP `.`). */
|
|
29
|
+
concat?: string;
|
|
30
|
+
};
|
|
31
|
+
export type DynamicImportPreparation = {
|
|
32
|
+
/** Python importlib alias tables collected once per file. */
|
|
33
|
+
pythonImportlibAliases?: Set<string>;
|
|
34
|
+
pythonImportModuleAliases?: Set<string>;
|
|
35
|
+
};
|
|
36
|
+
export type DynamicImportShapeContext = {
|
|
37
|
+
/** The text the shape's pattern ran over (comment-blanked for the JS family). */
|
|
38
|
+
text: string;
|
|
39
|
+
match: RegExpMatchArray;
|
|
40
|
+
fromFile: string;
|
|
41
|
+
projectRoot: string;
|
|
42
|
+
preparation: DynamicImportPreparation;
|
|
43
|
+
};
|
|
44
|
+
export type DynamicImportCallShape = {
|
|
45
|
+
/** Pattern over the entry's matching text; capture 1 holds the foldable argument, or the
|
|
46
|
+
* fold reads the argument from the match end (Python's escape-aware literal reader). */
|
|
47
|
+
pattern: RegExp;
|
|
48
|
+
fold: (context: DynamicImportShapeContext) => string | null;
|
|
49
|
+
};
|
|
50
|
+
export type DynamicImportEntry = {
|
|
51
|
+
/** Matching text, blanking comments through the shared trivia lexer where needed; string
|
|
52
|
+
* literals stay intact so folds can read their contents. */
|
|
53
|
+
text: (source: string) => string;
|
|
54
|
+
/** Non-code guard over the matching text; matches starting inside trivia are skipped. */
|
|
55
|
+
guard: (text: string) => Uint8Array | undefined;
|
|
56
|
+
/** Per-file preparation, evaluated once per extraction. */
|
|
57
|
+
prepare?: (source: string) => DynamicImportPreparation;
|
|
58
|
+
shapes: readonly DynamicImportCallShape[];
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* The shared fold implementation `./specifiers.js` injects. Keeping these as parameters rather
|
|
62
|
+
* than importing them is what keeps the entries here independent of the runner module.
|
|
63
|
+
*/
|
|
64
|
+
export type DynamicImportFoldHelpers = {
|
|
65
|
+
/** Builds a shape fold that reads capture 1 as a constant path and resolves the fold. */
|
|
66
|
+
foldCapturedPath: (profile: PathFoldProfile, resolve: FoldedPathResolver) => (context: DynamicImportShapeContext) => string | null;
|
|
67
|
+
/** Folds a `new URL("...", import.meta.url)` argument list. */
|
|
68
|
+
foldNewUrlArgument: (argText: string, profile: PathFoldProfile) => FoldedPath | null;
|
|
69
|
+
resolveFoldedPathAgainstBase: FoldedPathResolver;
|
|
70
|
+
/** Resolves against the containing file's directory regardless of the named base. */
|
|
71
|
+
resolveFoldedPathAgainstFileDir: (folded: FoldedPath, fromFile: string) => string | null;
|
|
72
|
+
/** Resolves by concatenation onto the containing file's directory. */
|
|
73
|
+
resolveFoldedPathByConcatenation: (folded: FoldedPath, fromFile: string) => string | null;
|
|
74
|
+
/** Folds a Python dynamic-import call into a static module string. */
|
|
75
|
+
foldPythonDynamicModuleArgument: (source: string, match: RegExpMatchArray, preparation: DynamicImportPreparation) => string | null;
|
|
76
|
+
/** Collects the importlib alias tables a Python file's dynamic-import calls may use. */
|
|
77
|
+
collectPythonDynamicImportAliases: (source: string) => {
|
|
78
|
+
importlibAliases: Set<string>;
|
|
79
|
+
importModuleAliases: Set<string>;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Builds the dynamic-import adapter table keyed by registered language id. Callers supply the
|
|
84
|
+
* shared fold implementation; the per-file preparation and matching rules stay here with the
|
|
85
|
+
* language that needs them.
|
|
86
|
+
*/
|
|
87
|
+
export declare function createDynamicImportEntries(folds: DynamicImportFoldHelpers): Readonly<Partial<Record<string, DynamicImportEntry>>>;
|
|
88
|
+
//# sourceMappingURL=dynamic-import-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-import-tables.d.ts","sourceRoot":"","sources":["../../src/util/dynamic-import-tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { buildJsLikeLiteralMask, stripJsLikeComments } from "./comments.js";
|
|
2
|
+
import { PYTHON_IDENTIFIER_SOURCE } from "./identifiers.js";
|
|
3
|
+
import { buildTriviaMask } from "./trivia.js";
|
|
4
|
+
const JS_PATH_FOLD_PROFILE = {
|
|
5
|
+
bases: {
|
|
6
|
+
__dirname: "fileDir",
|
|
7
|
+
__filename: "filePath",
|
|
8
|
+
"import.meta.url": "filePath",
|
|
9
|
+
"process.cwd()": "project",
|
|
10
|
+
},
|
|
11
|
+
joinHelpers: ["path.join", "path.resolve"],
|
|
12
|
+
};
|
|
13
|
+
const RUBY_PATH_FOLD_PROFILE = {
|
|
14
|
+
bases: { __dir__: "fileDir" },
|
|
15
|
+
joinHelpers: ["File.join"],
|
|
16
|
+
};
|
|
17
|
+
const PHP_PATH_FOLD_PROFILE = {
|
|
18
|
+
bases: { __DIR__: "fileDir", "dirname(__FILE__)": "fileDir" },
|
|
19
|
+
joinHelpers: [],
|
|
20
|
+
concat: ".",
|
|
21
|
+
};
|
|
22
|
+
const JS_DYNAMIC_PATH_CALL_PATTERN = /(?<!["'`])\b(?:require|import)\s*\(\s*(path\.(?:join|resolve)\s*\((?:[^()]|\([^()]*\))*\))\s*\)/g;
|
|
23
|
+
const JS_DYNAMIC_URL_CALL_PATTERN = /(?<!["'`])\b(?:require|import)\s*\(\s*(new\s+URL\s*\([^)]*\))\s*\)/g;
|
|
24
|
+
const RUBY_REQUIRE_FILE_JOIN_PATTERN = /(?<![\p{XID_Continue}])require\s*\(?\s*(File\.join\s*\((?:[^()]|\([^()]*\))*\))/gu;
|
|
25
|
+
const PHP_COMPUTED_INCLUDE_PATTERN = /(?<![\p{XID_Continue}$])(?:include_once|include|require_once|require)\b\s*\(?\s*([^;\r\n]*?)\s*\)?\s*;/gu;
|
|
26
|
+
const PYTHON_DYNAMIC_CALL_PREFIX_PATTERN = new RegExp(String.raw `(?<![._\p{XID_Continue}])(${PYTHON_IDENTIFIER_SOURCE})(?:\s*\.\s*(${PYTHON_IDENTIFIER_SOURCE}))?\s*\(\s*(?:name\s*=\s*)?`, "gmu");
|
|
27
|
+
/**
|
|
28
|
+
* Builds the dynamic-import adapter table keyed by registered language id. Callers supply the
|
|
29
|
+
* shared fold implementation; the per-file preparation and matching rules stay here with the
|
|
30
|
+
* language that needs them.
|
|
31
|
+
*/
|
|
32
|
+
export function createDynamicImportEntries(folds) {
|
|
33
|
+
const JS_TS_DYNAMIC_IMPORT_ENTRY = {
|
|
34
|
+
// Comments are blanked before matching so a `require(...)` inside a comment cannot match;
|
|
35
|
+
// string literals stay intact because the fold reads their contents.
|
|
36
|
+
text: stripJsLikeComments,
|
|
37
|
+
guard: buildJsLikeLiteralMask,
|
|
38
|
+
shapes: [
|
|
39
|
+
{
|
|
40
|
+
pattern: JS_DYNAMIC_PATH_CALL_PATTERN,
|
|
41
|
+
fold: folds.foldCapturedPath(JS_PATH_FOLD_PROFILE, folds.resolveFoldedPathAgainstBase),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
pattern: JS_DYNAMIC_URL_CALL_PATTERN,
|
|
45
|
+
fold: ({ match, fromFile }) => {
|
|
46
|
+
const folded = folds.foldNewUrlArgument(match[1] ?? "", JS_PATH_FOLD_PROFILE);
|
|
47
|
+
return folded ? folds.resolveFoldedPathAgainstFileDir(folded, fromFile) : null;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
const RUBY_DYNAMIC_IMPORT_ENTRY = {
|
|
53
|
+
text: (source) => source,
|
|
54
|
+
guard: (text) => buildTriviaMask(text, "ruby"),
|
|
55
|
+
shapes: [
|
|
56
|
+
{
|
|
57
|
+
// Only the computed `require File.join(__dir__, ...)` form is folded here; bare-string
|
|
58
|
+
// requires flow through the static pipeline and `$LOAD_PATH` lookups stay external.
|
|
59
|
+
pattern: RUBY_REQUIRE_FILE_JOIN_PATTERN,
|
|
60
|
+
fold: folds.foldCapturedPath(RUBY_PATH_FOLD_PROFILE, folds.resolveFoldedPathByConcatenation),
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
const PHP_DYNAMIC_IMPORT_ENTRY = {
|
|
65
|
+
text: (source) => source,
|
|
66
|
+
guard: (text) => buildTriviaMask(text, "php"),
|
|
67
|
+
shapes: [
|
|
68
|
+
{
|
|
69
|
+
// Computed `include`/`require` whose path is a constant chain rooted at `__DIR__` (or
|
|
70
|
+
// the legacy `dirname(__FILE__)`); plain string operands stay with the static pipeline
|
|
71
|
+
// and the include-path search stays external.
|
|
72
|
+
pattern: PHP_COMPUTED_INCLUDE_PATTERN,
|
|
73
|
+
fold: folds.foldCapturedPath(PHP_PATH_FOLD_PROFILE, folds.resolveFoldedPathByConcatenation),
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
const PYTHON_DYNAMIC_IMPORT_ENTRY = {
|
|
78
|
+
text: (source) => source,
|
|
79
|
+
guard: (text) => buildTriviaMask(text, "python"),
|
|
80
|
+
prepare: (source) => {
|
|
81
|
+
const { importlibAliases, importModuleAliases } = folds.collectPythonDynamicImportAliases(source);
|
|
82
|
+
return { pythonImportlibAliases: importlibAliases, pythonImportModuleAliases: importModuleAliases };
|
|
83
|
+
},
|
|
84
|
+
shapes: [
|
|
85
|
+
{
|
|
86
|
+
pattern: PYTHON_DYNAMIC_CALL_PREFIX_PATTERN,
|
|
87
|
+
fold: ({ text, match, preparation }) => folds.foldPythonDynamicModuleArgument(text, match, preparation),
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
const entries = {
|
|
92
|
+
js: JS_TS_DYNAMIC_IMPORT_ENTRY,
|
|
93
|
+
ts: JS_TS_DYNAMIC_IMPORT_ENTRY,
|
|
94
|
+
python: PYTHON_DYNAMIC_IMPORT_ENTRY,
|
|
95
|
+
ruby: RUBY_DYNAMIC_IMPORT_ENTRY,
|
|
96
|
+
php: PHP_DYNAMIC_IMPORT_ENTRY,
|
|
97
|
+
};
|
|
98
|
+
return entries;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=dynamic-import-tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-import-tables.js","sourceRoot":"","sources":["../../src/util/dynamic-import-tables.ts"],"names":[],"mappings":"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"}
|
package/dist/util/lines.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/util/lines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/util/lines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAYlF"}
|
package/dist/util/lines.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export function collectLineStartOffsets(source) {
|
|
2
2
|
const lineStarts = [0];
|
|
3
3
|
for (let index = 0; index < source.length; index += 1) {
|
|
4
|
-
|
|
4
|
+
const char = source[index];
|
|
5
|
+
// A lone carriage return ends a line; `\r\n` is ended by its `\n` alone, so the pair
|
|
6
|
+
// contributes one line start rather than two.
|
|
7
|
+
if (char === "\n" || (char === "\r" && source[index + 1] !== "\n"))
|
|
5
8
|
lineStarts.push(index + 1);
|
|
6
9
|
}
|
|
7
10
|
return lineStarts;
|
package/dist/util/lines.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../src/util/lines.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"lines.js","sourceRoot":"","sources":["../../src/util/lines.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,qFAAqF;QACrF,8CAA8C;QAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAA6B,EAAE,KAAa;IAC3E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,CAAE,IAAI,KAAK,EAAE,CAAC;YACjC,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-language member-access and receiver-shape tables for `./member-access.ts` and the receiver
|
|
3
|
+
* pass in `../graphs/symbol-graph-detailed/receiver-calls.ts`. Rows are keyed by language id,
|
|
4
|
+
* following the trivia-table precedent in `./trivia-tables.ts`: the walkers keep the algorithm,
|
|
5
|
+
* the table keeps the per-language node types, extraction shapes, and receiver keywords.
|
|
6
|
+
*
|
|
7
|
+
* Every registered language has a row. A document, style, or data format row carries only
|
|
8
|
+
* `omittedReason`; a source-language row declares each capability it has and names a one-line
|
|
9
|
+
* reason for each capability it omits, so an omission cannot flip silently.
|
|
10
|
+
* `tests/member-access-tables.test.ts` asserts both halves and re-derives every declared node
|
|
11
|
+
* type from that language's pinned grammar.
|
|
12
|
+
*/
|
|
13
|
+
/** Receiver spellings that denote the type declaring the calling member, per language. */
|
|
14
|
+
export type ReceiverKeywords = {
|
|
15
|
+
/** Keywords naming the type that declares the calling member. */
|
|
16
|
+
own: readonly string[];
|
|
17
|
+
/** Keywords naming a supertype of the declaring type. */
|
|
18
|
+
supertype: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* How one child of a member-access node is extracted: by field name with a positional fallback,
|
|
22
|
+
* by plain child index, or by named-child index with a plain-child fallback.
|
|
23
|
+
*/
|
|
24
|
+
export type MemberAccessChild = {
|
|
25
|
+
field: string;
|
|
26
|
+
fallbackIndex: number;
|
|
27
|
+
} | {
|
|
28
|
+
index: number;
|
|
29
|
+
} | {
|
|
30
|
+
namedIndex: number;
|
|
31
|
+
};
|
|
32
|
+
export type MemberAccessShape = {
|
|
33
|
+
/**
|
|
34
|
+
* Member-access node types the shape applies to. A shape without `nodeTypes` is the language's
|
|
35
|
+
* fallback for every other member-access node and must be the last shape in its row.
|
|
36
|
+
*/
|
|
37
|
+
nodeTypes?: readonly string[];
|
|
38
|
+
object: MemberAccessChild;
|
|
39
|
+
/** `{ navigation: true }` defers to `getNavigationExpressionProperty`'s navigation-suffix walk. */
|
|
40
|
+
property: MemberAccessChild | {
|
|
41
|
+
navigation: true;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export type MemberAccessRow = {
|
|
45
|
+
/** Why the language has no member-access capability at all; only document, style, and data formats set it. */
|
|
46
|
+
omittedReason?: string;
|
|
47
|
+
/** Member-expression node type for a support whose `nodeTypes.memberExpression` capability is absent. */
|
|
48
|
+
memberExpressionType?: string;
|
|
49
|
+
/** Node types added to the shared traversal base set in `memberAccessTraversalTypes`. */
|
|
50
|
+
extraTraversalTypes?: readonly string[];
|
|
51
|
+
/** Node types added to the shared generic member-access list in `isMemberAccessNode`. */
|
|
52
|
+
extraMemberAccessTypes?: readonly string[];
|
|
53
|
+
/** Extraction shapes for `getMemberAccessParts`, tried in order before the shared generic default. */
|
|
54
|
+
memberAccessShapes?: readonly MemberAccessShape[];
|
|
55
|
+
/** Why the language declares no shapes of its own: the shared generic default is its extraction. */
|
|
56
|
+
memberAccessOmittedReason?: string;
|
|
57
|
+
/** Kotlin fallback: a degraded `navigation_suffix` leaves the property as the expression's last named child. */
|
|
58
|
+
navigationFallbackLastChild?: true;
|
|
59
|
+
/** Identifiers that name the type declaring the calling member. */
|
|
60
|
+
receiverKeywords?: ReceiverKeywords;
|
|
61
|
+
/** Why the language declares no receiver keywords. */
|
|
62
|
+
receiverKeywordsOmittedReason?: string;
|
|
63
|
+
};
|
|
64
|
+
export declare const MEMBER_ACCESS_ROWS: Record<string, MemberAccessRow>;
|
|
65
|
+
/** Every language that declares receiver keywords, guarded by the registry-consistency test. */
|
|
66
|
+
export declare const receiverKeywordLanguageIds: readonly string[];
|
|
67
|
+
/** Languages that emit proven receiver `calls` edges from the shared keyword table. */
|
|
68
|
+
export declare function supportsReceiverCallEdges(languageId: string): boolean;
|
|
69
|
+
/** Languages where goto and references require proven receivers and do not fall back to a bare name. */
|
|
70
|
+
export declare function supportsReceiverMemberNavigation(languageId: string): boolean;
|
|
71
|
+
export declare function isKeywordReceiver(languageId: string, receiverName: string): boolean;
|
|
72
|
+
//# sourceMappingURL=member-access-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-access-tables.d.ts","sourceRoot":"","sources":["../../src/util/member-access-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,mGAAmG;IACnG,QAAQ,EAAE,iBAAiB,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,8GAA8G;IAC9G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,yFAAyF;IACzF,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gHAAgH;IAChH,2BAA2B,CAAC,EAAE,IAAI,CAAC;IACnC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,sDAAsD;IACtD,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,CAAC;AAkBF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAgI9D,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAEvD,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,wGAAwG;AACxG,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAInF"}
|