@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
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { addProjectSymbolFile, getOrCreateProjectSymbolIndex, listProjectLanguageFiles, sortProjectSymbolIndex, } from "./project-symbols.js";
|
|
4
|
-
import { mapLimitSemaphore } from "../concurrency.js";
|
|
1
|
+
import { confineResolvedPath, readUtf8WithoutBom } from "../paths.js";
|
|
5
2
|
import { CSHARP_IDENTIFIER_SOURCE } from "../identifiers.js";
|
|
3
|
+
import { getImportableLanguageGlobs } from "../resolution-candidates.js";
|
|
4
|
+
import { maskTrivia } from "../trivia.js";
|
|
5
|
+
import { CSHARP_PACKAGE_MANIFEST_NAMES, resolveNearestManifestRoot } from "./files.js";
|
|
6
|
+
import { buildDeclaredContainerIndex, getOrCreateProjectSymbolIndex, } from "./project-symbols.js";
|
|
6
7
|
// A namespace name may be qualified (`namespace A.B { }`) and either block-scoped (closing
|
|
7
8
|
// `{`) or file-scoped (closing `;`). Both forms declare the same namespace for a file, a file
|
|
8
9
|
// may declare several namespaces, and a block-scoped namespace may nest inside another, so
|
|
@@ -13,83 +14,11 @@ const csharpProjectNamespaceIndexCache = new Map();
|
|
|
13
14
|
/**
|
|
14
15
|
* Blanks C# comments and string literals in place, preserving offsets and line breaks, so a
|
|
15
16
|
* namespace scan cannot read `namespace` out of trivia. Over-masking only risks missing a real
|
|
16
|
-
* declaration, never inventing one.
|
|
17
|
+
* declaration, never inventing one. Routed through the shared trivia scanner's C# row, which
|
|
18
|
+
* handles verbatim `@""` doubling, raw `"""` quote runs, and ordinary escaped literals.
|
|
17
19
|
*/
|
|
18
20
|
function maskCsharpTrivia(source) {
|
|
19
|
-
|
|
20
|
-
return source;
|
|
21
|
-
const masked = source.split("");
|
|
22
|
-
const blank = (from, to) => {
|
|
23
|
-
for (let index = from; index < to && index < masked.length; index += 1) {
|
|
24
|
-
const ch = masked[index];
|
|
25
|
-
if (ch !== "\n" && ch !== "\r")
|
|
26
|
-
masked[index] = " ";
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
for (let index = 0; index < source.length;) {
|
|
30
|
-
const ch = source[index];
|
|
31
|
-
if (ch === "/" && source[index + 1] === "/") {
|
|
32
|
-
const newline = source.indexOf("\n", index);
|
|
33
|
-
const end = newline < 0 ? source.length : newline;
|
|
34
|
-
blank(index, end);
|
|
35
|
-
index = end;
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if (ch === "/" && source[index + 1] === "*") {
|
|
39
|
-
const close = source.indexOf("*/", index + 2);
|
|
40
|
-
const end = close < 0 ? source.length : close + 2;
|
|
41
|
-
blank(index, end);
|
|
42
|
-
index = end;
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
if (ch === '"' || ch === "'") {
|
|
46
|
-
// A raw string opens with a run of three or more quotes and closes with the same run.
|
|
47
|
-
let quoteRun = 0;
|
|
48
|
-
while (source[index + quoteRun] === '"')
|
|
49
|
-
quoteRun += 1;
|
|
50
|
-
const end = quoteRun >= 3 ? scanCsharpRawLiteral(source, index, quoteRun) : scanCsharpQuotedLiteral(source, index, ch);
|
|
51
|
-
blank(index, end);
|
|
52
|
-
index = end;
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
index += 1;
|
|
56
|
-
}
|
|
57
|
-
return masked.join("");
|
|
58
|
-
}
|
|
59
|
-
function scanCsharpQuotedLiteral(source, start, quote) {
|
|
60
|
-
const verbatim = quote === '"' && start > 0 && hasCsharpVerbatimPrefix(source, start);
|
|
61
|
-
for (let index = start + 1; index < source.length; index += 1) {
|
|
62
|
-
const ch = source[index];
|
|
63
|
-
if (verbatim) {
|
|
64
|
-
if (ch === '"') {
|
|
65
|
-
if (source[index + 1] === '"') {
|
|
66
|
-
index += 1;
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
return index + 1;
|
|
70
|
-
}
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
if (ch === "\\") {
|
|
74
|
-
index += 1;
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
if (ch === quote)
|
|
78
|
-
return index + 1;
|
|
79
|
-
}
|
|
80
|
-
return source.length;
|
|
81
|
-
}
|
|
82
|
-
/** True when the quote at `quoteIndex` closes the `@` (or `$@`/`@$`) prefix of a verbatim string. */
|
|
83
|
-
function hasCsharpVerbatimPrefix(source, quoteIndex) {
|
|
84
|
-
for (let index = quoteIndex - 1; index >= 0 && (source[index] === "$" || source[index] === "@"); index -= 1) {
|
|
85
|
-
if (source[index] === "@")
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
function scanCsharpRawLiteral(source, start, quoteRun) {
|
|
91
|
-
const close = source.indexOf('"'.repeat(quoteRun), start + quoteRun);
|
|
92
|
-
return close < 0 ? source.length : close + quoteRun;
|
|
21
|
+
return maskTrivia(source, "csharp");
|
|
93
22
|
}
|
|
94
23
|
/**
|
|
95
24
|
* Every namespace a file declares, qualified by its enclosing block-scoped namespaces, so
|
|
@@ -139,48 +68,33 @@ async function readCsharpNamespaceIndex(filePath) {
|
|
|
139
68
|
const cached = csharpNamespaceFileCache.get(filePath);
|
|
140
69
|
if (cached)
|
|
141
70
|
return cached;
|
|
142
|
-
const source = await
|
|
71
|
+
const source = await readUtf8WithoutBom(filePath);
|
|
143
72
|
const entry = { namespaces: collectCsharpNamespaceNames(source) };
|
|
144
73
|
csharpNamespaceFileCache.set(filePath, entry);
|
|
145
74
|
return entry;
|
|
146
75
|
}
|
|
147
|
-
async function
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
filesByPackageSymbol: new Map(),
|
|
153
|
-
};
|
|
154
|
-
const entries = await mapLimitSemaphore(files, 8, async (filePath) => {
|
|
155
|
-
try {
|
|
156
|
-
return { filePath, entry: await readCsharpNamespaceIndex(filePath) };
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
// Ignore unreadable files and keep indexing the project.
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
for (const item of entries) {
|
|
164
|
-
if (!item)
|
|
165
|
-
continue;
|
|
166
|
-
for (const namespaceName of item.entry.namespaces) {
|
|
167
|
-
addProjectSymbolFile(index, namespaceName, item.filePath, new Set());
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
sortProjectSymbolIndex(index);
|
|
171
|
-
return index;
|
|
172
|
-
}
|
|
173
|
-
async function getCsharpProjectNamespaceIndex(projectRoot) {
|
|
174
|
-
return await getOrCreateProjectSymbolIndex(csharpProjectNamespaceIndexCache, projectRoot, () => buildCsharpProjectNamespaceIndex(projectRoot));
|
|
76
|
+
async function getCsharpProjectNamespaceIndex(indexRoot) {
|
|
77
|
+
return await getOrCreateProjectSymbolIndex(csharpProjectNamespaceIndexCache, indexRoot, async () => buildDeclaredContainerIndex(indexRoot, getImportableLanguageGlobs("csharp"), async (filePath) => {
|
|
78
|
+
const entry = await readCsharpNamespaceIndex(filePath);
|
|
79
|
+
return entry.namespaces.map((name) => ({ name }));
|
|
80
|
+
}));
|
|
175
81
|
}
|
|
176
82
|
/**
|
|
177
|
-
* Every file under
|
|
178
|
-
*
|
|
83
|
+
* Every file under the nearest C# project manifest (or `projectRoot` when none
|
|
84
|
+
* exists) that declares `spec` as a namespace, via either a block-scoped or a
|
|
85
|
+
* file-scoped namespace declaration. Sorted by the shared project symbol index.
|
|
179
86
|
*/
|
|
180
|
-
export async function resolveCsharpNamespaceImportPaths(projectRoot, spec) {
|
|
181
|
-
const
|
|
87
|
+
export async function resolveCsharpNamespaceImportPaths(projectRoot, spec, fromFile) {
|
|
88
|
+
const indexRoot = await resolveNearestManifestRoot(projectRoot, fromFile, CSHARP_PACKAGE_MANIFEST_NAMES);
|
|
89
|
+
const projectIndex = await getCsharpProjectNamespaceIndex(indexRoot);
|
|
182
90
|
const packageCandidates = projectIndex.filesByPackage.get(spec) ?? [];
|
|
183
|
-
|
|
91
|
+
const confined = [];
|
|
92
|
+
for (const candidate of packageCandidates) {
|
|
93
|
+
const hit = await confineResolvedPath(projectRoot, candidate);
|
|
94
|
+
if (hit)
|
|
95
|
+
confined.push(hit);
|
|
96
|
+
}
|
|
97
|
+
return confined;
|
|
184
98
|
}
|
|
185
99
|
export function clearCsharpResolutionCaches() {
|
|
186
100
|
csharpNamespaceFileCache.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/util/resolution/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/util/resolution/csharp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export declare const JVM_PACKAGE_MANIFEST_NAMES: readonly ["pom.xml", "build.gradle", "build.gradle.kts", "settings.gradle", "settings.gradle.kts"];
|
|
2
|
+
export declare const CSHARP_PACKAGE_MANIFEST_NAMES: readonly ["*.csproj"];
|
|
3
|
+
export declare const PHP_PACKAGE_MANIFEST_NAMES: readonly ["composer.json"];
|
|
4
|
+
export declare const PYTHON_PACKAGE_MANIFEST_NAMES: readonly ["pyproject.toml", "setup.py", "setup.cfg", "Pipfile"];
|
|
1
5
|
export declare function findNearestFile(startDir: string, stopDir: string, fileName: string): Promise<string | null>;
|
|
6
|
+
export declare function findNearestManifest(startDir: string, stopDir: string, names: readonly string[]): Promise<string | null>;
|
|
7
|
+
export declare function resolveNearestManifestRoot(projectRoot: string, fromFile: string, names: readonly string[]): Promise<string>;
|
|
2
8
|
export declare function isDirectory(p: string): Promise<boolean>;
|
|
3
9
|
//# sourceMappingURL=files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/files.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,oGAM7B,CAAC;AAEX,eAAO,MAAM,6BAA6B,uBAAwB,CAAC;AAEnE,eAAO,MAAM,0BAA0B,4BAA6B,CAAC;AAErE,eAAO,MAAM,6BAA6B,iEAAkE,CAAC;AA0D7G,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEjH;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB;AAED,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7D"}
|
|
@@ -1,22 +1,126 @@
|
|
|
1
1
|
import fsp from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { fileIdentityKey, isFilePathWithinRoot } from "../paths.js";
|
|
3
4
|
import { fileExists } from "../workspace.js";
|
|
5
|
+
export const JVM_PACKAGE_MANIFEST_NAMES = [
|
|
6
|
+
"pom.xml",
|
|
7
|
+
"build.gradle",
|
|
8
|
+
"build.gradle.kts",
|
|
9
|
+
"settings.gradle",
|
|
10
|
+
"settings.gradle.kts",
|
|
11
|
+
];
|
|
12
|
+
export const CSHARP_PACKAGE_MANIFEST_NAMES = ["*.csproj"];
|
|
13
|
+
export const PHP_PACKAGE_MANIFEST_NAMES = ["composer.json"];
|
|
14
|
+
export const PYTHON_PACKAGE_MANIFEST_NAMES = ["pyproject.toml", "setup.py", "setup.cfg", "Pipfile"];
|
|
15
|
+
function isExtensionManifestPattern(name) {
|
|
16
|
+
return name.startsWith("*.") && !name.includes("/") && !name.includes("\\");
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A symlink counts as a manifest when `stat` follows it to a regular file.
|
|
20
|
+
* Directories, directory links, and dangling links are not manifests.
|
|
21
|
+
*/
|
|
22
|
+
async function direntIsManifestFile(entry, fullPath) {
|
|
23
|
+
if (entry.isFile())
|
|
24
|
+
return true;
|
|
25
|
+
if (entry.isDirectory())
|
|
26
|
+
return false;
|
|
27
|
+
try {
|
|
28
|
+
const st = await fsp.stat(fullPath);
|
|
29
|
+
return st.isFile();
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function findExtensionManifestInDir(dir, suffix) {
|
|
36
|
+
let entries;
|
|
37
|
+
try {
|
|
38
|
+
entries = await fsp.readdir(dir, { withFileTypes: true });
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const matches = [];
|
|
44
|
+
for (const entry of entries) {
|
|
45
|
+
if (!entry.name.toLowerCase().endsWith(suffix))
|
|
46
|
+
continue;
|
|
47
|
+
const fullPath = path.join(dir, entry.name);
|
|
48
|
+
if (await direntIsManifestFile(entry, fullPath))
|
|
49
|
+
matches.push(entry.name);
|
|
50
|
+
}
|
|
51
|
+
const first = sortManifestMatches(dir, suffix, matches)[0];
|
|
52
|
+
if (!first)
|
|
53
|
+
return null;
|
|
54
|
+
return path.join(dir, first);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Deterministic tie-break for a directory holding several extension-manifest matches.
|
|
58
|
+
* `readdir` order is filesystem- and locale-dependent (`*.csproj` can match both `App.csproj`
|
|
59
|
+
* and `App.Core.csproj`), so the winner must not depend on it. Prefer the manifest whose stem
|
|
60
|
+
* equals the directory name, because the primary project file is conventionally named after its
|
|
61
|
+
* directory; then fall back to code-unit name order, which is identical on every platform.
|
|
62
|
+
*/
|
|
63
|
+
function sortManifestMatches(dir, suffix, names) {
|
|
64
|
+
const dirName = path.basename(dir).toLowerCase();
|
|
65
|
+
return names.sort((a, b) => {
|
|
66
|
+
const aPreferred = a.slice(0, a.length - suffix.length).toLowerCase() === dirName;
|
|
67
|
+
const bPreferred = b.slice(0, b.length - suffix.length).toLowerCase() === dirName;
|
|
68
|
+
if (aPreferred !== bPreferred)
|
|
69
|
+
return aPreferred ? -1 : 1;
|
|
70
|
+
if (a < b)
|
|
71
|
+
return -1;
|
|
72
|
+
if (a > b)
|
|
73
|
+
return 1;
|
|
74
|
+
return 0;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
4
77
|
export async function findNearestFile(startDir, stopDir, fileName) {
|
|
78
|
+
return await findNearestManifest(startDir, stopDir, [fileName]);
|
|
79
|
+
}
|
|
80
|
+
export async function findNearestManifest(startDir, stopDir, names) {
|
|
5
81
|
let dir = path.resolve(startDir);
|
|
6
82
|
const stop = path.resolve(stopDir);
|
|
83
|
+
const stopKey = fileIdentityKey(stop);
|
|
7
84
|
while (true) {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
85
|
+
for (const name of names) {
|
|
86
|
+
if (isExtensionManifestPattern(name)) {
|
|
87
|
+
const suffix = name.slice(1).toLowerCase();
|
|
88
|
+
const hit = await findExtensionManifestInDir(dir, suffix);
|
|
89
|
+
if (hit)
|
|
90
|
+
return hit;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const candidate = path.join(dir, name);
|
|
94
|
+
if (await fileExists(candidate))
|
|
95
|
+
return candidate;
|
|
96
|
+
}
|
|
97
|
+
if (dir === stop || fileIdentityKey(dir) === stopKey)
|
|
12
98
|
break;
|
|
13
99
|
const parent = path.dirname(dir);
|
|
14
100
|
if (parent === dir)
|
|
15
101
|
break;
|
|
102
|
+
if (!isFilePathWithinRoot(stop, parent) && fileIdentityKey(parent) !== stopKey)
|
|
103
|
+
break;
|
|
16
104
|
dir = parent;
|
|
17
105
|
}
|
|
18
106
|
return null;
|
|
19
107
|
}
|
|
108
|
+
export async function resolveNearestManifestRoot(projectRoot, fromFile, names) {
|
|
109
|
+
const resolvedRoot = path.resolve(projectRoot);
|
|
110
|
+
// Empty or out-of-root importers fall back here, not by omitting `fromFile` at call sites.
|
|
111
|
+
if (!fromFile)
|
|
112
|
+
return resolvedRoot;
|
|
113
|
+
const startDir = path.dirname(path.resolve(fromFile));
|
|
114
|
+
const startKey = fileIdentityKey(startDir);
|
|
115
|
+
const rootKey = fileIdentityKey(resolvedRoot);
|
|
116
|
+
if (startKey !== rootKey && !isFilePathWithinRoot(resolvedRoot, startDir)) {
|
|
117
|
+
return resolvedRoot;
|
|
118
|
+
}
|
|
119
|
+
const manifest = await findNearestManifest(startDir, resolvedRoot, names);
|
|
120
|
+
if (!manifest)
|
|
121
|
+
return resolvedRoot;
|
|
122
|
+
return path.dirname(path.resolve(manifest));
|
|
123
|
+
}
|
|
20
124
|
export async function isDirectory(p) {
|
|
21
125
|
try {
|
|
22
126
|
const st = await fsp.stat(p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/util/resolution/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/util/resolution/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/go.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/go.ts"],"names":[],"mappings":"AAmFA,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBhF;AA6BD,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwCrH"}
|
|
@@ -2,6 +2,7 @@ import fs from "node:fs";
|
|
|
2
2
|
import fsp from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { unquote } from "../ast.js";
|
|
5
|
+
import { stripBom } from "../paths.js";
|
|
5
6
|
import { fileExists } from "../workspace.js";
|
|
6
7
|
import { findNearestFile } from "./files.js";
|
|
7
8
|
function stripInlineComment(line) {
|
|
@@ -12,7 +13,7 @@ async function parseGoMod(moduleRoot) {
|
|
|
12
13
|
const modPath = path.join(moduleRoot, "go.mod");
|
|
13
14
|
if (!(await fileExists(modPath)))
|
|
14
15
|
return null;
|
|
15
|
-
const raw = await fsp.readFile(modPath, "utf8");
|
|
16
|
+
const raw = stripBom(await fsp.readFile(modPath, "utf8"));
|
|
16
17
|
const lines = raw.split(/\r?\n/);
|
|
17
18
|
let modulePath = null;
|
|
18
19
|
const replacements = new Map();
|
|
@@ -48,7 +49,7 @@ async function parseGoMod(moduleRoot) {
|
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
51
|
async function parseGoWork(goWorkPath) {
|
|
51
|
-
const content = await fsp.readFile(goWorkPath, "utf8");
|
|
52
|
+
const content = stripBom(await fsp.readFile(goWorkPath, "utf8"));
|
|
52
53
|
const lines = content.split(/\r?\n/);
|
|
53
54
|
const modules = [];
|
|
54
55
|
let inUseBlock = false;
|
|
@@ -75,7 +76,7 @@ async function parseGoWork(goWorkPath) {
|
|
|
75
76
|
}
|
|
76
77
|
return modules.filter(Boolean);
|
|
77
78
|
}
|
|
78
|
-
async function findGoPackageEntry(dirPath) {
|
|
79
|
+
export async function findGoPackageEntry(dirPath) {
|
|
79
80
|
try {
|
|
80
81
|
const stat = await fsp.stat(dirPath);
|
|
81
82
|
if (!stat.isDirectory())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/util/resolution/go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/util/resolution/go.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function resolveJvmPackageImportPaths(projectRoot: string, spec: string, languageId: "java" | "kotlin"): Promise<string[]>;
|
|
2
|
-
export declare function resolveKotlinImportPath(projectRoot: string, spec: string): Promise<string | null>;
|
|
3
|
-
export declare function resolveJavaImportPath(projectRoot: string, spec: string): Promise<string | null>;
|
|
1
|
+
export declare function resolveJvmPackageImportPaths(projectRoot: string, spec: string, languageId: "java" | "kotlin", fromFile: string): Promise<string[]>;
|
|
2
|
+
export declare function resolveKotlinImportPath(projectRoot: string, spec: string, fromFile: string): Promise<string | null>;
|
|
3
|
+
export declare function resolveJavaImportPath(projectRoot: string, spec: string, fromFile: string): Promise<string | null>;
|
|
4
4
|
export declare function clearJvmResolutionCaches(): void;
|
|
5
5
|
//# sourceMappingURL=jvm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jvm.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/jvm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jvm.d.ts","sourceRoot":"","sources":["../../../src/util/resolution/jvm.ts"],"names":[],"mappings":"AAsJA,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GAAG,QAAQ,EAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AA8DD,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
|