@descryy/adapter-csharp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter.d.ts +31 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +263 -0
- package/dist/adapter.js.map +1 -0
- package/dist/aspnetcore.d.ts +207 -0
- package/dist/aspnetcore.d.ts.map +1 -0
- package/dist/aspnetcore.js +410 -0
- package/dist/aspnetcore.js.map +1 -0
- package/dist/client-base.d.ts +123 -0
- package/dist/client-base.d.ts.map +1 -0
- package/dist/client-base.js +123 -0
- package/dist/client-base.js.map +1 -0
- package/dist/client.d.ts +168 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +387 -0
- package/dist/client.js.map +1 -0
- package/dist/efcore.d.ts +198 -0
- package/dist/efcore.d.ts.map +1 -0
- package/dist/efcore.js +611 -0
- package/dist/efcore.js.map +1 -0
- package/dist/extract.d.ts +83 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +1120 -0
- package/dist/extract.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/nullability.d.ts +117 -0
- package/dist/nullability.d.ts.map +1 -0
- package/dist/nullability.js +152 -0
- package/dist/nullability.js.map +1 -0
- package/dist/parse.d.ts +240 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +861 -0
- package/dist/parse.js.map +1 -0
- package/dist/projects.d.ts +87 -0
- package/dist/projects.d.ts.map +1 -0
- package/dist/projects.js +226 -0
- package/dist/projects.js.map +1 -0
- package/dist/tree-sitter-c_sharp.wasm +0 -0
- package/package.json +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createCsharpAdapter, hashOf, ADAPTER_ID, ADAPTER_VERSION, DEFAULT_CSHARP_GLOBS, LANGUAGE, type CsharpAdapter, type CsharpAdapterOptions, } from "./adapter.ts";
|
|
2
|
+
export { type ExtractInput, type Extraction } from "./extract.ts";
|
|
3
|
+
export { readFile, typeName, type CsFile, type CsFunc, type CsRef, type CsScope, type CsType, type CsUsing, } from "./parse.ts";
|
|
4
|
+
export { assemblyCollisions, csharpProjects, isBuildOutput, projectOf, type CsharpProject, } from "./projects.ts";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,OAAO,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,EACT,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createCsharpAdapter, hashOf, ADAPTER_ID, ADAPTER_VERSION, DEFAULT_CSHARP_GLOBS, LANGUAGE, } from "./adapter.js";
|
|
2
|
+
export {} from "./extract.js";
|
|
3
|
+
export { readFile, typeName, } from "./parse.js";
|
|
4
|
+
export { assemblyCollisions, csharpProjects, isBuildOutput, projectOf, } from "./projects.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,QAAQ,GAGT,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAsC,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,QAAQ,EACR,QAAQ,GAOT,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,GAEV,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The nullable-reference-types context — four answers, decided by asking what the
|
|
3
|
+
* answers are rather than by letting the code make it two.
|
|
4
|
+
*
|
|
5
|
+
* ## Why this is not a boolean
|
|
6
|
+
*
|
|
7
|
+
* DEC-128 §3 rule 5 is C#'s counterpart to Java's boxing hazard, and DEC-180
|
|
8
|
+
* amended it after counting. The question "is this bare `string` nullable" has
|
|
9
|
+
* **three different sources** that can answer it and **four different answers**,
|
|
10
|
+
* and collapsing any of them loses a distinction that costs real columns:
|
|
11
|
+
*
|
|
12
|
+
* - `on` — annotations are tracked here. `string` is not nullable, `string?` is.
|
|
13
|
+
* - `off` — the source **explicitly said** the compiler is not tracking. A bare
|
|
14
|
+
* `string` then carries **no nullability information at all**. It is not
|
|
15
|
+
* "not nullable"; unknown is not false.
|
|
16
|
+
* - `absent` — nothing anywhere answered. Same consequence for the column as
|
|
17
|
+
* `off`, a **different fact** and a different remedy: `off` means the
|
|
18
|
+
* repository has answered and its answer is *do not ask*, while `absent` means
|
|
19
|
+
* no declaration was found and reading more could still close it. One is a
|
|
20
|
+
* property of the code, the other is a property of this analysis.
|
|
21
|
+
* - `unreadable` — a declaration is present in a form this cannot evaluate.
|
|
22
|
+
*
|
|
23
|
+
* ## The 385-against-1 finding, which is why the file beats the project
|
|
24
|
+
*
|
|
25
|
+
* `jellyfin`'s `Directory.Build.props` says `enable`. Its source files carry
|
|
26
|
+
* **385 `#nullable disable` directives against 1 `enable`.** Project and file
|
|
27
|
+
* disagree across most of the repository and **the file wins**, so an extractor
|
|
28
|
+
* reading only the project publishes every bare `string` in those 385 files as
|
|
29
|
+
* `nullable: false` — a definite claim — where the source has said the compiler
|
|
30
|
+
* is not tracking it.
|
|
31
|
+
*
|
|
32
|
+
* That is a **wrong answer, not a silence**, which is the class no refusal
|
|
33
|
+
* census, disclosure count or admission-side precision draw can see. The Java
|
|
34
|
+
* lane shipped 126 columns backwards to the same collapse and a fixture caught it
|
|
35
|
+
* afterwards. This was caught by counting, before any extractor existed.
|
|
36
|
+
*
|
|
37
|
+
* ## `unreadable` has zero witnesses, and that is the reason it exists
|
|
38
|
+
*
|
|
39
|
+
* Counted across all four C# corpora, the only forms that occur are `#nullable
|
|
40
|
+
* enable`, `#nullable disable`, `<Nullable>enable</Nullable>` and
|
|
41
|
+
* `<Nullable>disable</Nullable>`. `#nullable restore`, `#nullable enable
|
|
42
|
+
* annotations` and a conditional `<Nullable>$(Prop)</Nullable>` occur **zero
|
|
43
|
+
* times**.
|
|
44
|
+
*
|
|
45
|
+
* DEC-180 refuses a *rule* with zero witnesses — its green is the green of a
|
|
46
|
+
* branch never taken. A **refusal state** with zero witnesses is the opposite
|
|
47
|
+
* thing and is exactly what unseen forms need: it is where a form the corpus
|
|
48
|
+
* never showed goes, instead of being collapsed into a confident answer. The two
|
|
49
|
+
* are not in tension. One claims something works; the other declines to claim.
|
|
50
|
+
*
|
|
51
|
+
* `#nullable enable warnings` is the concrete case. It enables *warnings* and not
|
|
52
|
+
* *annotations*, so a reader matching on the word `enable` calls it `on` and gets
|
|
53
|
+
* every bare reference type in the file wrong. It routes to `unreadable`.
|
|
54
|
+
*/
|
|
55
|
+
/** See the file comment. Four answers, because there are four facts. */
|
|
56
|
+
export type NullableContext = "on" | "off" | "absent" | "unreadable";
|
|
57
|
+
/** Where an answer came from, so a default can be told from a declaration. */
|
|
58
|
+
export interface NullableResolution {
|
|
59
|
+
readonly context: NullableContext;
|
|
60
|
+
readonly from: "directive" | "project" | "directory-props" | "none";
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A `#nullable` directive and the line it takes effect from.
|
|
64
|
+
*
|
|
65
|
+
* Positional, because the directive is: `#nullable disable` on line 40 governs
|
|
66
|
+
* line 41 onward and says nothing about line 39. A file may toggle more than
|
|
67
|
+
* once, and treating the first directive as the file's answer would be right for
|
|
68
|
+
* `jellyfin`'s 385 one-directive files and wrong for anything that toggles.
|
|
69
|
+
*/
|
|
70
|
+
export interface NullableDirective {
|
|
71
|
+
readonly line: number;
|
|
72
|
+
readonly context: NullableContext;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Read every `#nullable` directive in a source file.
|
|
76
|
+
*
|
|
77
|
+
* Line-oriented by the language's own rules — a preprocessor directive must be
|
|
78
|
+
* the first non-whitespace on its line — so this reads lines rather than the
|
|
79
|
+
* tree. The one false positive available is a verbatim string literal whose
|
|
80
|
+
* continuation line begins with `#nullable`, which no corpus here contains and
|
|
81
|
+
* which would produce a *refusal*, not a wrong answer, if it ever did.
|
|
82
|
+
*/
|
|
83
|
+
export declare function nullableDirectives(source: string): NullableDirective[];
|
|
84
|
+
/** The `<Nullable>` value from a project or props file, read as text. */
|
|
85
|
+
export declare function projectContext(value: string | undefined): NullableContext;
|
|
86
|
+
export interface NullableSources {
|
|
87
|
+
/** Directives in the file, in source order. See {@link nullableDirectives}. */
|
|
88
|
+
readonly directives: readonly NullableDirective[];
|
|
89
|
+
/** `<Nullable>` from the file's own `.csproj`. */
|
|
90
|
+
readonly project: NullableContext;
|
|
91
|
+
/** `<Nullable>` from the nearest `Directory.Build.props` at or above it. */
|
|
92
|
+
readonly directoryProps: NullableContext;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Resolve the context governing one line, nearest source wins.
|
|
96
|
+
*
|
|
97
|
+
* The precedence is the compiler's: the last directive at or before this line,
|
|
98
|
+
* then the project, then the imported props. DEC-180 added the third — on
|
|
99
|
+
* `jellyfin` the 42 `.csproj` files declare **nothing** and `Directory.Build.props`
|
|
100
|
+
* is the only project-level source, so a resolver reading two of the three
|
|
101
|
+
* answers `absent` for the entire repository.
|
|
102
|
+
*/
|
|
103
|
+
export declare function resolveNullable(sources: NullableSources, line: number): NullableResolution;
|
|
104
|
+
/**
|
|
105
|
+
* Is a reference-typed member nullable, given the context governing it?
|
|
106
|
+
*
|
|
107
|
+
* `undefined` means **the type does not say** — which is the whole point of the
|
|
108
|
+
* four states. Under `off`, `absent` or `unreadable` a bare `string` carries no
|
|
109
|
+
* information, and the caller must emit the column with nullability unresolved
|
|
110
|
+
* and count it rather than pick a side.
|
|
111
|
+
*
|
|
112
|
+
* A trailing `?` is only meaningful under `on`. Written under `off` it is a
|
|
113
|
+
* syntax the compiler ignores, so it is **not** read as a nullable declaration —
|
|
114
|
+
* reading it would answer confidently in a file that has said not to.
|
|
115
|
+
*/
|
|
116
|
+
export declare function referenceTypeNullable(context: NullableContext, writtenType: string): boolean | undefined;
|
|
117
|
+
//# sourceMappingURL=nullability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullability.d.ts","sourceRoot":"","sources":["../src/nullability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErE,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC;CACrE;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAUtE;AAkBD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAQzE;AAED,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAc1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,SAAS,CAGrB"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The nullable-reference-types context — four answers, decided by asking what the
|
|
3
|
+
* answers are rather than by letting the code make it two.
|
|
4
|
+
*
|
|
5
|
+
* ## Why this is not a boolean
|
|
6
|
+
*
|
|
7
|
+
* DEC-128 §3 rule 5 is C#'s counterpart to Java's boxing hazard, and DEC-180
|
|
8
|
+
* amended it after counting. The question "is this bare `string` nullable" has
|
|
9
|
+
* **three different sources** that can answer it and **four different answers**,
|
|
10
|
+
* and collapsing any of them loses a distinction that costs real columns:
|
|
11
|
+
*
|
|
12
|
+
* - `on` — annotations are tracked here. `string` is not nullable, `string?` is.
|
|
13
|
+
* - `off` — the source **explicitly said** the compiler is not tracking. A bare
|
|
14
|
+
* `string` then carries **no nullability information at all**. It is not
|
|
15
|
+
* "not nullable"; unknown is not false.
|
|
16
|
+
* - `absent` — nothing anywhere answered. Same consequence for the column as
|
|
17
|
+
* `off`, a **different fact** and a different remedy: `off` means the
|
|
18
|
+
* repository has answered and its answer is *do not ask*, while `absent` means
|
|
19
|
+
* no declaration was found and reading more could still close it. One is a
|
|
20
|
+
* property of the code, the other is a property of this analysis.
|
|
21
|
+
* - `unreadable` — a declaration is present in a form this cannot evaluate.
|
|
22
|
+
*
|
|
23
|
+
* ## The 385-against-1 finding, which is why the file beats the project
|
|
24
|
+
*
|
|
25
|
+
* `jellyfin`'s `Directory.Build.props` says `enable`. Its source files carry
|
|
26
|
+
* **385 `#nullable disable` directives against 1 `enable`.** Project and file
|
|
27
|
+
* disagree across most of the repository and **the file wins**, so an extractor
|
|
28
|
+
* reading only the project publishes every bare `string` in those 385 files as
|
|
29
|
+
* `nullable: false` — a definite claim — where the source has said the compiler
|
|
30
|
+
* is not tracking it.
|
|
31
|
+
*
|
|
32
|
+
* That is a **wrong answer, not a silence**, which is the class no refusal
|
|
33
|
+
* census, disclosure count or admission-side precision draw can see. The Java
|
|
34
|
+
* lane shipped 126 columns backwards to the same collapse and a fixture caught it
|
|
35
|
+
* afterwards. This was caught by counting, before any extractor existed.
|
|
36
|
+
*
|
|
37
|
+
* ## `unreadable` has zero witnesses, and that is the reason it exists
|
|
38
|
+
*
|
|
39
|
+
* Counted across all four C# corpora, the only forms that occur are `#nullable
|
|
40
|
+
* enable`, `#nullable disable`, `<Nullable>enable</Nullable>` and
|
|
41
|
+
* `<Nullable>disable</Nullable>`. `#nullable restore`, `#nullable enable
|
|
42
|
+
* annotations` and a conditional `<Nullable>$(Prop)</Nullable>` occur **zero
|
|
43
|
+
* times**.
|
|
44
|
+
*
|
|
45
|
+
* DEC-180 refuses a *rule* with zero witnesses — its green is the green of a
|
|
46
|
+
* branch never taken. A **refusal state** with zero witnesses is the opposite
|
|
47
|
+
* thing and is exactly what unseen forms need: it is where a form the corpus
|
|
48
|
+
* never showed goes, instead of being collapsed into a confident answer. The two
|
|
49
|
+
* are not in tension. One claims something works; the other declines to claim.
|
|
50
|
+
*
|
|
51
|
+
* `#nullable enable warnings` is the concrete case. It enables *warnings* and not
|
|
52
|
+
* *annotations*, so a reader matching on the word `enable` calls it `on` and gets
|
|
53
|
+
* every bare reference type in the file wrong. It routes to `unreadable`.
|
|
54
|
+
*/
|
|
55
|
+
const ABSENT = { context: "absent", from: "none" };
|
|
56
|
+
/**
|
|
57
|
+
* Read every `#nullable` directive in a source file.
|
|
58
|
+
*
|
|
59
|
+
* Line-oriented by the language's own rules — a preprocessor directive must be
|
|
60
|
+
* the first non-whitespace on its line — so this reads lines rather than the
|
|
61
|
+
* tree. The one false positive available is a verbatim string literal whose
|
|
62
|
+
* continuation line begins with `#nullable`, which no corpus here contains and
|
|
63
|
+
* which would produce a *refusal*, not a wrong answer, if it ever did.
|
|
64
|
+
*/
|
|
65
|
+
export function nullableDirectives(source) {
|
|
66
|
+
const found = [];
|
|
67
|
+
const lines = source.split("\n");
|
|
68
|
+
for (let i = 0; i < lines.length; i += 1) {
|
|
69
|
+
const match = /^\s*#nullable(?<rest>[^\r\n]*)/.exec(lines[i]);
|
|
70
|
+
if (match === null)
|
|
71
|
+
continue;
|
|
72
|
+
const rest = (match.groups?.["rest"] ?? "").trim();
|
|
73
|
+
found.push({ line: i + 1, context: directiveContext(rest) });
|
|
74
|
+
}
|
|
75
|
+
return found;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The context a directive's argument selects.
|
|
79
|
+
*
|
|
80
|
+
* Only the bare `enable` and `disable` forms are read. `restore` returns to
|
|
81
|
+
* whatever the project said, which is a real answer this does not compute; the
|
|
82
|
+
* `annotations` and `warnings` qualifiers split the two halves apart and **only
|
|
83
|
+
* the annotations half decides whether `string?` is meaningful**. Every one of
|
|
84
|
+
* those is `unreadable` rather than a guess — see the file comment on why a
|
|
85
|
+
* refusal state with no witnesses is the right shape.
|
|
86
|
+
*/
|
|
87
|
+
function directiveContext(rest) {
|
|
88
|
+
if (rest === "enable")
|
|
89
|
+
return "on";
|
|
90
|
+
if (rest === "disable")
|
|
91
|
+
return "off";
|
|
92
|
+
return "unreadable";
|
|
93
|
+
}
|
|
94
|
+
/** The `<Nullable>` value from a project or props file, read as text. */
|
|
95
|
+
export function projectContext(value) {
|
|
96
|
+
if (value === undefined)
|
|
97
|
+
return "absent";
|
|
98
|
+
const trimmed = value.trim().toLowerCase();
|
|
99
|
+
if (trimmed === "enable")
|
|
100
|
+
return "on";
|
|
101
|
+
if (trimmed === "disable")
|
|
102
|
+
return "off";
|
|
103
|
+
// `warnings`, `annotations`, and anything holding an unexpanded `$(Property)`
|
|
104
|
+
// reference. Stated, and not evaluable here.
|
|
105
|
+
return "unreadable";
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve the context governing one line, nearest source wins.
|
|
109
|
+
*
|
|
110
|
+
* The precedence is the compiler's: the last directive at or before this line,
|
|
111
|
+
* then the project, then the imported props. DEC-180 added the third — on
|
|
112
|
+
* `jellyfin` the 42 `.csproj` files declare **nothing** and `Directory.Build.props`
|
|
113
|
+
* is the only project-level source, so a resolver reading two of the three
|
|
114
|
+
* answers `absent` for the entire repository.
|
|
115
|
+
*/
|
|
116
|
+
export function resolveNullable(sources, line) {
|
|
117
|
+
let governing;
|
|
118
|
+
for (const directive of sources.directives) {
|
|
119
|
+
// A directive governs from its own line onward. Equal counts: a property
|
|
120
|
+
// cannot share a line with the directive that precedes it.
|
|
121
|
+
if (directive.line <= line)
|
|
122
|
+
governing = directive;
|
|
123
|
+
else
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
if (governing !== undefined)
|
|
127
|
+
return { context: governing.context, from: "directive" };
|
|
128
|
+
if (sources.project !== "absent")
|
|
129
|
+
return { context: sources.project, from: "project" };
|
|
130
|
+
if (sources.directoryProps !== "absent") {
|
|
131
|
+
return { context: sources.directoryProps, from: "directory-props" };
|
|
132
|
+
}
|
|
133
|
+
return ABSENT;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Is a reference-typed member nullable, given the context governing it?
|
|
137
|
+
*
|
|
138
|
+
* `undefined` means **the type does not say** — which is the whole point of the
|
|
139
|
+
* four states. Under `off`, `absent` or `unreadable` a bare `string` carries no
|
|
140
|
+
* information, and the caller must emit the column with nullability unresolved
|
|
141
|
+
* and count it rather than pick a side.
|
|
142
|
+
*
|
|
143
|
+
* A trailing `?` is only meaningful under `on`. Written under `off` it is a
|
|
144
|
+
* syntax the compiler ignores, so it is **not** read as a nullable declaration —
|
|
145
|
+
* reading it would answer confidently in a file that has said not to.
|
|
146
|
+
*/
|
|
147
|
+
export function referenceTypeNullable(context, writtenType) {
|
|
148
|
+
if (context !== "on")
|
|
149
|
+
return undefined;
|
|
150
|
+
return writtenType.trimEnd().endsWith("?");
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=nullability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullability.js","sourceRoot":"","sources":["../src/nullability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAWH,MAAM,MAAM,GAAuB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAevE;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,8EAA8E;IAC9E,6CAA6C;IAC7C,OAAO,YAAY,CAAC;AACtB,CAAC;AAWD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB,EAAE,IAAY;IACpE,IAAI,SAAwC,CAAC;IAC7C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,yEAAyE;QACzE,2DAA2D;QAC3D,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC;;YAC7C,MAAM;IACb,CAAC;IACD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACtF,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACvF,IAAI,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB,EACxB,WAAmB;IAEnB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/parse.d.ts
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One C# file, read into the shape the resolver wants.
|
|
3
|
+
*
|
|
4
|
+
* Hand-written walk, as in Java, Go, Rust and PHP, and for the same reason:
|
|
5
|
+
* containment is what a resolver needs and a query's match set is exactly what
|
|
6
|
+
* discards it.
|
|
7
|
+
*
|
|
8
|
+
* ## What C# changes
|
|
9
|
+
*
|
|
10
|
+
* Three things here are genuinely new work rather than a translation of an
|
|
11
|
+
* earlier language's rules.
|
|
12
|
+
*
|
|
13
|
+
* - **A type may be declared in several files.** `partial class` is the first
|
|
14
|
+
* construct in this project whose declaration is legitimately multi-file and
|
|
15
|
+
* says so in the source. DEC-083 settles the identity question; this reader
|
|
16
|
+
* only has to collect the parts.
|
|
17
|
+
* - **`using` imports a namespace, not a type.** PHP's `use` names one class
|
|
18
|
+
* and resolves in one step. C#'s brings in every type in a namespace, so a
|
|
19
|
+
* bare name is resolved by searching the enclosing namespaces outward and
|
|
20
|
+
* then each import — which means a name may be found in two places, and
|
|
21
|
+
* that is an ambiguity to disclose rather than a tie to break.
|
|
22
|
+
* - **The base list does not say which entry is the class.** DEC-084 decides
|
|
23
|
+
* it: at most one base class, and the language requires it first, so entries
|
|
24
|
+
* after the first are interfaces unconditionally and only one entry per
|
|
25
|
+
* class declaration ever needs resolving. The `IFoo` convention is not read.
|
|
26
|
+
*
|
|
27
|
+
* Nested types are ordinary here in a way they are not in PHP, so a type carries
|
|
28
|
+
* its nesting path rather than a single name.
|
|
29
|
+
*/
|
|
30
|
+
import type { Node } from "@descryy/adapter-treesitter";
|
|
31
|
+
export interface CsRef {
|
|
32
|
+
/**
|
|
33
|
+
* `call` — an invocation. `type` — a name in type position or a static member
|
|
34
|
+
* access. `new` — an object creation. `dynamic` — an invocation whose target
|
|
35
|
+
* is a value rather than a name, which is golden pattern 12's shape.
|
|
36
|
+
*/
|
|
37
|
+
readonly kind: "call" | "type" | "new" | "dynamic";
|
|
38
|
+
readonly name: string;
|
|
39
|
+
/** The receiver exactly as written: `this`, `_repository`, `Money`. */
|
|
40
|
+
readonly receiver: string | undefined;
|
|
41
|
+
/** The receiver's type when the site itself writes it: `new Order().Total()`. */
|
|
42
|
+
readonly receiverType?: string;
|
|
43
|
+
/** A field or property used as a receiver; its type is on the declaration. */
|
|
44
|
+
readonly receiverProperty?: {
|
|
45
|
+
readonly of: string;
|
|
46
|
+
readonly name: string;
|
|
47
|
+
};
|
|
48
|
+
/** The call whose result is the receiver: `Build().Send()`. */
|
|
49
|
+
readonly receiverCall?: {
|
|
50
|
+
readonly receiver: string | undefined;
|
|
51
|
+
readonly name: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* The name *might* be a type, and might equally be a variable.
|
|
55
|
+
*
|
|
56
|
+
* `Status.Pending` and `order.Total` are the same node shape, and only the
|
|
57
|
+
* resolver knows whether `Status` names a type or `order` names a local. A
|
|
58
|
+
* speculative reference that turns out to be a value is not an unresolved
|
|
59
|
+
* reference — it is not a type reference at all — so it is dropped silently
|
|
60
|
+
* instead of filling the ledger with entries no reader could act on.
|
|
61
|
+
*/
|
|
62
|
+
readonly speculative?: boolean;
|
|
63
|
+
readonly line: number;
|
|
64
|
+
readonly raw: string;
|
|
65
|
+
/**
|
|
66
|
+
* The call's first argument, only when it is a bare string literal —
|
|
67
|
+
* mirrors Java's `JavaRef.firstStringArgument` exactly, for the identical
|
|
68
|
+
* reason: a `binary_expression` or interpolated first argument returns
|
|
69
|
+
* `undefined` rather than a fragment, because the written prefix is not the
|
|
70
|
+
* value at run time. See {@link firstStringArgumentOf}.
|
|
71
|
+
*/
|
|
72
|
+
readonly firstStringArgument?: string;
|
|
73
|
+
/**
|
|
74
|
+
* The first argument's raw source text, captured whether or not it is a
|
|
75
|
+
* literal — mirrors Java's `JavaRef.firstArgumentText` exactly: DEC-242's
|
|
76
|
+
* `blockedBy`/`refusalClass` classification needs to see *what* blocked
|
|
77
|
+
* resolution when {@link firstStringArgument} is absent, not just that it
|
|
78
|
+
* was absent.
|
|
79
|
+
*/
|
|
80
|
+
readonly firstArgumentText?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface PendingType {
|
|
83
|
+
readonly receiver: string | undefined;
|
|
84
|
+
readonly name: string;
|
|
85
|
+
}
|
|
86
|
+
export interface CsScope {
|
|
87
|
+
readonly refs: CsRef[];
|
|
88
|
+
readonly locals: Map<string, string | null>;
|
|
89
|
+
readonly pending: Map<string, PendingType>;
|
|
90
|
+
/**
|
|
91
|
+
* Names declared in the enclosing method's own parameter list — a subset of
|
|
92
|
+
* {@link locals}'s keys, kept separately because DEC-242's `varies-per-call`
|
|
93
|
+
* classification needs *parameter*, not *local*: a call argument that is a
|
|
94
|
+
* bare parameter name is a caller-supplied value with no fixed answer to
|
|
95
|
+
* state; a local variable might still be assigned from a constant.
|
|
96
|
+
*/
|
|
97
|
+
readonly parameterNames: Set<string>;
|
|
98
|
+
/**
|
|
99
|
+
* `X = expr;` and `this.X = expr;` where `expr` is a traceable invocation —
|
|
100
|
+
* `PendingType`'s own `{receiver, name}` shape, reused rather than duplicated.
|
|
101
|
+
* Only consulted for a `.ctor`'s own scope, by D-FIX-3's client-base
|
|
102
|
+
* extractor (DEC-164): `public HttpClient Client { get; }` assigned in the
|
|
103
|
+
* constructor from `factory.CreateClient()` is the shape eShopOnWeb's whole
|
|
104
|
+
* `USES_API` population goes through, and a property has no initialiser of
|
|
105
|
+
* its own to read the way a field does — the constructor body is the only
|
|
106
|
+
* place the assignment is written. Harmless elsewhere; nothing outside a
|
|
107
|
+
* `.ctor` walk reads this map.
|
|
108
|
+
*/
|
|
109
|
+
readonly propertyAssignments: Map<string, PendingType>;
|
|
110
|
+
}
|
|
111
|
+
export interface CsFunc {
|
|
112
|
+
readonly name: string;
|
|
113
|
+
/** The declaring type's nesting path, outermost first. Empty for none. */
|
|
114
|
+
readonly ownerPath: readonly string[];
|
|
115
|
+
readonly isStatic: boolean;
|
|
116
|
+
readonly isAbstract: boolean;
|
|
117
|
+
/** Attribute names as written, `[Fact]` -> `Fact`, `[Xunit.Fact]` -> `Fact`. */
|
|
118
|
+
readonly attributes: string[];
|
|
119
|
+
/** Attribute name -> its first string literal argument. See {@link attributeArgumentsOf}. */
|
|
120
|
+
readonly attributeArguments: Record<string, string>;
|
|
121
|
+
readonly returns: string | null | undefined;
|
|
122
|
+
readonly startLine: number;
|
|
123
|
+
readonly endLine: number;
|
|
124
|
+
readonly scope: CsScope;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A property declaration, kept alongside the `members` name→type map.
|
|
128
|
+
*
|
|
129
|
+
* The map answers "what type is this name" for receiver typing. EF Core needs
|
|
130
|
+
* four things it cannot carry: the **attributes** (`[Key]`, `[Required]`,
|
|
131
|
+
* `[NotMapped]`), the **line**, whether the property is **public with a getter**
|
|
132
|
+
* — DEC-128 §3's definition of a persistent member — and the type **as written**.
|
|
133
|
+
*
|
|
134
|
+
* `written` is the raw source text, not the base name, and that is load-bearing.
|
|
135
|
+
* `string` and `string?` have the same base name and opposite nullability, and
|
|
136
|
+
* `int?` is nullable regardless of the NRT context while `string?` is meaningful
|
|
137
|
+
* only under it. A reader that keeps only the base name cannot tell any of those
|
|
138
|
+
* apart. Counted across the corpora before choosing this shape: `string` 786 /
|
|
139
|
+
* `string?` 508 / `int?` 332 / `int` 218 in `jellyfin` alone.
|
|
140
|
+
*/
|
|
141
|
+
export interface CsProperty {
|
|
142
|
+
readonly name: string;
|
|
143
|
+
/** The declared type exactly as written: `string?`, `int?`, `List<Order>`. */
|
|
144
|
+
readonly written: string;
|
|
145
|
+
/** Base name with generics and `?` stripped, for looking the type up. */
|
|
146
|
+
readonly declared: string | null | undefined;
|
|
147
|
+
readonly isPublic: boolean;
|
|
148
|
+
readonly hasGetter: boolean;
|
|
149
|
+
readonly attributes: string[];
|
|
150
|
+
readonly line: number;
|
|
151
|
+
}
|
|
152
|
+
export interface CsType {
|
|
153
|
+
readonly name: string;
|
|
154
|
+
/** Nesting path including this type's own name, outermost first. */
|
|
155
|
+
readonly path: readonly string[];
|
|
156
|
+
readonly form: "class" | "interface" | "struct" | "record" | "enum";
|
|
157
|
+
readonly isPartial: boolean;
|
|
158
|
+
readonly isAbstract: boolean;
|
|
159
|
+
/** The base list **in written order**. DEC-084 reads position as evidence. */
|
|
160
|
+
readonly baseList: string[];
|
|
161
|
+
/**
|
|
162
|
+
* The same entries **as written**, generic arguments intact.
|
|
163
|
+
*
|
|
164
|
+
* `baseList` goes through `typeName`, which drops generic arguments on purpose
|
|
165
|
+
* — `List<Order>` names `List`, and identity is what the resolver wants. A
|
|
166
|
+
* framework extractor wants the opposite: `IEntityTypeConfiguration<Order>`
|
|
167
|
+
* *is* the mapping declaration and `Order` is the whole fact, so the collapsed
|
|
168
|
+
* form is empty of the thing EF Core is stating.
|
|
169
|
+
*
|
|
170
|
+
* Both are right and both are kept. This is the second construct where a
|
|
171
|
+
* language-level normalisation and a framework-level reading want different
|
|
172
|
+
* halves of the same node — the first was a property's written type, where
|
|
173
|
+
* `string` and `string?` share a base name and have opposite nullability.
|
|
174
|
+
*/
|
|
175
|
+
readonly baseListWritten: string[];
|
|
176
|
+
/** Property and field names -> declared type, `null` when ambiguous. */
|
|
177
|
+
readonly members: Map<string, string | null>;
|
|
178
|
+
/** Property declarations with their attributes. See {@link CsProperty}. */
|
|
179
|
+
readonly properties: CsProperty[];
|
|
180
|
+
readonly attributes: string[];
|
|
181
|
+
/** Attribute name -> its first string literal argument. See {@link attributeArgumentsOf}. */
|
|
182
|
+
readonly attributeArguments: Record<string, string>;
|
|
183
|
+
readonly startLine: number;
|
|
184
|
+
readonly endLine: number;
|
|
185
|
+
readonly typeRefs: CsRef[];
|
|
186
|
+
/**
|
|
187
|
+
* A field's own inline initialiser, when it is a traceable invocation —
|
|
188
|
+
* `private readonly HttpClient _client = factory.CreateClient();`. Same
|
|
189
|
+
* `PendingType` shape and same one reader (D-FIX-3's client-base extractor,
|
|
190
|
+
* DEC-164) as `CsScope.propertyAssignments`; kept separate because a field
|
|
191
|
+
* initialiser is read here, at the declaration, and a property's is read
|
|
192
|
+
* from its `.ctor`'s body — two different places in the source for the
|
|
193
|
+
* same fact.
|
|
194
|
+
*/
|
|
195
|
+
readonly memberProvenance: Map<string, PendingType>;
|
|
196
|
+
}
|
|
197
|
+
export interface CsUsing {
|
|
198
|
+
/** The namespace, or the type for `using static` and for an alias. */
|
|
199
|
+
readonly target: string;
|
|
200
|
+
/** `using Svc = Shop.Orders.OrderService;` binds one name. */
|
|
201
|
+
readonly alias: string | undefined;
|
|
202
|
+
readonly isStatic: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* `global using …` — in force for **every file in the project**, not just
|
|
205
|
+
* this one.
|
|
206
|
+
*
|
|
207
|
+
* Modern C# leans on this heavily: .NET 6 onwards emits a generated file of
|
|
208
|
+
* implicit global usings for every project, and an alias declared this way is
|
|
209
|
+
* the language's one construct that binds a name here to a type declared
|
|
210
|
+
* elsewhere without creating a second symbol. Treating it as file-local would
|
|
211
|
+
* make every name it introduces unresolvable everywhere else.
|
|
212
|
+
*/
|
|
213
|
+
readonly isGlobal: boolean;
|
|
214
|
+
readonly line: number;
|
|
215
|
+
}
|
|
216
|
+
export interface CsFile {
|
|
217
|
+
readonly file: string;
|
|
218
|
+
/** The declared namespace, `""` when the file declares none. */
|
|
219
|
+
readonly namespace: string;
|
|
220
|
+
readonly usings: CsUsing[];
|
|
221
|
+
readonly types: CsType[];
|
|
222
|
+
readonly funcs: CsFunc[];
|
|
223
|
+
readonly hasError: boolean;
|
|
224
|
+
/** Set by the adapter once the project is known. `""` when none covers it. */
|
|
225
|
+
readonly assembly: string;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* The type a type expression names.
|
|
229
|
+
*
|
|
230
|
+
* `undefined` — none (predefined, `var`, or absent).
|
|
231
|
+
* `null` — a type is named but which one is ambiguous.
|
|
232
|
+
* `string` — the single type named, as written, generic arguments dropped.
|
|
233
|
+
*
|
|
234
|
+
* Generic arguments are dropped deliberately: `List<Order>` names `List`, and
|
|
235
|
+
* `Order` inside it is a separate reference the walker records on its own. A
|
|
236
|
+
* single collapsed name would attribute the collection's methods to its element.
|
|
237
|
+
*/
|
|
238
|
+
export declare function typeName(node: Node | null | undefined): string | null | undefined;
|
|
239
|
+
export declare function readFile(root: Node, file: string, hasError: boolean): CsFile;
|
|
240
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|