@alloy-js/csharp 0.23.0-dev.0 → 0.23.0-dev.3
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/CHANGELOG.md +1 -14
- package/dist/src/components/access-expression/access-expression.d.ts +1 -1
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -1
- package/dist/src/components/enum/member.d.ts.map +1 -1
- package/dist/src/components/enum/member.js +2 -2
- package/dist/src/components/enum/member.js.map +1 -1
- package/dist/src/components/lexical-scope.d.ts.map +1 -1
- package/dist/src/components/lexical-scope.js +4 -3
- package/dist/src/components/lexical-scope.js.map +1 -1
- package/dist/src/components/method-scope.d.ts.map +1 -1
- package/dist/src/components/method-scope.js +4 -3
- package/dist/src/components/method-scope.js.map +1 -1
- package/dist/src/components/source-file/source-file.d.ts +2 -0
- package/dist/src/components/source-file/source-file.d.ts.map +1 -1
- package/dist/src/components/source-file/source-file.js +41 -3
- package/dist/src/components/source-file/source-file.js.map +1 -1
- package/dist/src/components/source-file/source-file.test.js +40 -1
- package/dist/src/components/source-file/source-file.test.js.map +1 -1
- package/dist/src/contexts/global-namespace.d.ts.map +1 -1
- package/dist/src/contexts/global-namespace.js +4 -4
- package/dist/src/contexts/global-namespace.js.map +1 -1
- package/dist/src/create-library.d.ts.map +1 -1
- package/dist/src/create-library.js +7 -7
- package/dist/src/create-library.js.map +1 -1
- package/dist/src/scopes/csharp.d.ts +1 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -1
- package/dist/src/scopes/csharp.js +10 -0
- package/dist/src/scopes/csharp.js.map +1 -1
- package/dist/src/scopes/factories.d.ts.map +1 -1
- package/dist/src/scopes/factories.js +4 -3
- package/dist/src/scopes/factories.js.map +1 -1
- package/dist/src/scopes/namespace.js +2 -2
- package/dist/src/scopes/namespace.js.map +1 -1
- package/dist/src/symbols/csharp.d.ts +1 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -1
- package/dist/src/symbols/csharp.js +19 -2
- package/dist/src/symbols/csharp.js.map +1 -1
- package/dist/src/symbols/factories.d.ts.map +1 -1
- package/dist/src/symbols/factories.js +42 -10
- package/dist/src/symbols/factories.js.map +1 -1
- package/dist/src/symbols/named-type.d.ts +1 -0
- package/dist/src/symbols/named-type.d.ts.map +1 -1
- package/dist/src/symbols/named-type.js +12 -1
- package/dist/src/symbols/named-type.js.map +1 -1
- package/dist/src/symbols/namespace.d.ts +1 -0
- package/dist/src/symbols/namespace.d.ts.map +1 -1
- package/dist/src/symbols/namespace.js +11 -1
- package/dist/src/symbols/namespace.js.map +1 -1
- package/dist/testing/create-wrapper.d.ts.map +1 -1
- package/dist/testing/create-wrapper.js +2 -1
- package/dist/testing/create-wrapper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -7
- package/src/components/enum/member.tsx +16 -5
- package/src/components/lexical-scope.tsx +15 -4
- package/src/components/method-scope.tsx +15 -4
- package/src/components/source-file/source-file.test.tsx +35 -1
- package/src/components/source-file/source-file.tsx +44 -2
- package/src/contexts/global-namespace.ts +11 -6
- package/src/create-library.ts +18 -9
- package/src/scopes/csharp.ts +11 -0
- package/src/scopes/factories.ts +4 -4
- package/src/scopes/namespace.ts +2 -2
- package/src/symbols/csharp.ts +20 -1
- package/src/symbols/factories.ts +46 -34
- package/src/symbols/named-type.ts +15 -3
- package/src/symbols/namespace.ts +12 -2
- package/temp/api.json +196 -234
- package/testing/create-wrapper.tsx +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
- [#328](https://github.com/alloy-framework/alloy/pull/328) Empty namespaces now don't render an empty block.
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
## 0.21.0
|
|
11
10
|
|
|
12
11
|
### Bug Fixes
|
|
@@ -39,7 +38,6 @@
|
|
|
39
38
|
|
|
40
39
|
- [#283](https://github.com/alloy-framework/alloy/pull/283) Rename `UsingDirective` -> `Usings`
|
|
41
40
|
|
|
42
|
-
|
|
43
41
|
## 0.20.0
|
|
44
42
|
|
|
45
43
|
### Bug Fixes
|
|
@@ -58,13 +56,12 @@
|
|
|
58
56
|
|
|
59
57
|
- [#206](https://github.com/alloy-framework/alloy/pull/206) Update core's representation of symbols and scopes. These changes should not impact usage of language components in code generators, but there are some significant changes for language library implementations. See https://github.com/alloy-framework/alloy/pull/206 for more details.
|
|
60
58
|
|
|
61
|
-
|
|
62
59
|
## 0.19.0
|
|
63
60
|
|
|
64
61
|
### Features
|
|
65
62
|
|
|
66
63
|
- [#246](https://github.com/alloy-framework/alloy/pull/246) Add support for `struct` declaration
|
|
67
|
-
- [#250](https://github.com/alloy-framework/alloy/pull/250) Fields support `new`, `readonly`, `static`
|
|
64
|
+
- [#250](https://github.com/alloy-framework/alloy/pull/250) Fields support `new`, `readonly`, `static` and `volatile` modifier
|
|
68
65
|
- [#250](https://github.com/alloy-framework/alloy/pull/250) Private field respect c# naming convention of `_camelCase`
|
|
69
66
|
- [#251](https://github.com/alloy-framework/alloy/pull/251) Support `readonly`, `override` and `extern` modifier for `Method`
|
|
70
67
|
- [#247](https://github.com/alloy-framework/alloy/pull/247) Add support for expression body syntax in methods
|
|
@@ -75,7 +72,6 @@
|
|
|
75
72
|
- [#248](https://github.com/alloy-framework/alloy/pull/248) Rename `ClassConstructor` to `Constructor` to allow using it with `StructDeclaration`
|
|
76
73
|
- [#248](https://github.com/alloy-framework/alloy/pull/248) Rename `ClassMethod` to `Method` to allow using it with `StructDeclaration`
|
|
77
74
|
|
|
78
|
-
|
|
79
75
|
## 0.18.0
|
|
80
76
|
|
|
81
77
|
### Bug Fixes
|
|
@@ -106,7 +102,6 @@
|
|
|
106
102
|
|
|
107
103
|
- [#192](https://github.com/alloy-framework/alloy/pull/192) Rename `Class` -> `ClassDeclaration` and `Enum` -> `EnumDeclaration`
|
|
108
104
|
|
|
109
|
-
|
|
110
105
|
## 0.17.0
|
|
111
106
|
|
|
112
107
|
No changes, version bump only.
|
|
@@ -137,7 +132,6 @@ No changes, version bump only.
|
|
|
137
132
|
|
|
138
133
|
- [#105](https://github.com/alloy-framework/alloy/pull/105) Updated dependencies
|
|
139
134
|
|
|
140
|
-
|
|
141
135
|
## 0.10.0
|
|
142
136
|
|
|
143
137
|
No changes, version bump only.
|
|
@@ -152,7 +146,6 @@ No changes, version bump only.
|
|
|
152
146
|
|
|
153
147
|
- [#67](https://github.com/alloy-framework/alloy/pull/67) Removed all default refkeys based on declaration name.
|
|
154
148
|
|
|
155
|
-
|
|
156
149
|
## 0.7.0
|
|
157
150
|
|
|
158
151
|
No changes, version bump only.
|
|
@@ -163,7 +156,6 @@ No changes, version bump only.
|
|
|
163
156
|
|
|
164
157
|
- [#56](https://github.com/alloy-framework/alloy/pull/56) Emitted code is now formatted properly.
|
|
165
158
|
|
|
166
|
-
|
|
167
159
|
## 0.5.0
|
|
168
160
|
|
|
169
161
|
No changes, version bump only.
|
|
@@ -174,19 +166,14 @@ No changes, version bump only.
|
|
|
174
166
|
|
|
175
167
|
- [80f1ba8](https://github.com/alloy-framework/alloy/commit/80f1ba88470960ce57487b644ae3c3f37f9c4690) Indent source files with 4 spaces as Anders intended.
|
|
176
168
|
|
|
177
|
-
|
|
178
169
|
## 0.3.0
|
|
179
170
|
|
|
180
171
|
### Features
|
|
181
172
|
|
|
182
173
|
- [#38](https://github.com/alloy-framework/alloy/pull/38) Indent source files with 4 spaces as Anders intended.
|
|
183
174
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
175
|
## 0.2.0
|
|
188
176
|
|
|
189
177
|
### Bug Fixes
|
|
190
178
|
|
|
191
179
|
- [#31](https://github.com/alloy-framework/alloy/pull/31) Update license to MIT
|
|
192
|
-
|
|
@@ -3,7 +3,7 @@ import { CSharpSymbol } from "../../symbols/csharp.js";
|
|
|
3
3
|
export interface AccessExpressionProps {
|
|
4
4
|
children: Children;
|
|
5
5
|
}
|
|
6
|
-
export declare function AccessExpression(props: AccessExpressionProps):
|
|
6
|
+
export declare function AccessExpression(props: AccessExpressionProps): Children;
|
|
7
7
|
export declare namespace AccessExpression {
|
|
8
8
|
var Part: (props: AccessExpressionPartProps) => void;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-expression.d.ts","sourceRoot":"","sources":["../../../../src/components/access-expression/access-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,UAAU,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"access-expression.d.ts","sourceRoot":"","sources":["../../../../src/components/access-expression/access-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,UAAU,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,YA6B5D;yBA7Be,gBAAgB;sBA0GS,yBAAyB;;AA1DlE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../src/components/enum/member.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../src/components/enum/member.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qCA4BhD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { MemberDeclaration, MemberName } from "@alloy-js/core";
|
|
2
|
+
import { createSymbol, MemberDeclaration, MemberName } from "@alloy-js/core";
|
|
3
3
|
import { useCSharpNamePolicy } from "../../name-policy.js";
|
|
4
4
|
import { useNamedTypeScope } from "../../scopes/contexts.js";
|
|
5
5
|
import { CSharpSymbol } from "../../symbols/csharp.js";
|
|
@@ -16,7 +16,7 @@ export function EnumMember(props) {
|
|
|
16
16
|
if (symbol.typeKind !== "enum") {
|
|
17
17
|
throw new Error("EnumMember must be used within an EnumDeclaration.");
|
|
18
18
|
}
|
|
19
|
-
const thisEnumValueSymbol =
|
|
19
|
+
const thisEnumValueSymbol = createSymbol(CSharpSymbol, props.name, symbol.members, {
|
|
20
20
|
refkeys: props.refkey,
|
|
21
21
|
namePolicy: useCSharpNamePolicy().for("enum-member")
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MemberDeclaration","MemberName","useCSharpNamePolicy","useNamedTypeScope","CSharpSymbol","EnumMember","props","scope","Error","symbol","ownerSymbol","typeKind","thisEnumValueSymbol","name","members","refkeys","refkey","namePolicy","for","_$createComponent","children"],"sources":["../../../../src/components/enum/member.tsx"],"sourcesContent":[null],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"names":["createSymbol","MemberDeclaration","MemberName","useCSharpNamePolicy","useNamedTypeScope","CSharpSymbol","EnumMember","props","scope","Error","symbol","ownerSymbol","typeKind","thisEnumValueSymbol","name","members","refkeys","refkey","namePolicy","for","_$createComponent","children"],"sources":["../../../../src/components/enum/member.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,YAAY,EACZC,iBAAiB,EACjBC,UAAU,QAGL,gBAAgB;AACvB,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,YAAY,QAAQ,yBAAyB;;AAEtD;;AAMA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,KAAK,GAAGJ,iBAAiB,CAAC,CAAC;EAEjC,IAAI,CAACI,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,WAAW;EAEhC,IAAID,MAAM,CAACE,QAAQ,KAAK,MAAM,EAAE;IAC9B,MAAM,IAAIH,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMI,mBAAmB,GAAGb,YAAY,CACtCK,YAAY,EACZE,KAAK,CAACO,IAAI,EACVJ,MAAM,CAACK,OAAO,EACd;IACEC,OAAO,EAAET,KAAK,CAACU,MAAM;IACrBC,UAAU,EAAEf,mBAAmB,CAAC,CAAC,CAACgB,GAAG,CAAC,aAAa;EACrD,CACF,CAAC;EAED,OAAAC,iBAAA,CACGnB,iBAAiB;IAACS,MAAM,EAAEG,mBAAmB;IAAA,IAAAQ,SAAA;MAAA,OAAAD,iBAAA,CAC3ClB,UAAU;IAAA;EAAA;AAGjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexical-scope.d.ts","sourceRoot":"","sources":["../../../src/components/lexical-scope.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"lexical-scope.d.ts","sourceRoot":"","sources":["../../../src/components/lexical-scope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;CAAG;AAC/E,MAAM,WAAW,8BAA+B,SAAQ,kBAAkB;CAAG;AAE7E,MAAM,MAAM,iBAAiB,GACzB,+BAA+B,GAC/B,8BAA8B,CAAC;AAEnC,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qCAuBpD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { Scope } from "@alloy-js/core";
|
|
2
|
+
import { Scope, createScope } from "@alloy-js/core";
|
|
3
3
|
import { useCSharpScope } from "../scopes/contexts.js";
|
|
4
4
|
import { CSharpLexicalScope } from "../scopes/lexical.js";
|
|
5
5
|
export function LexicalScope(props) {
|
|
@@ -11,8 +11,9 @@ export function LexicalScope(props) {
|
|
|
11
11
|
scope = props.value;
|
|
12
12
|
} else {
|
|
13
13
|
const parentScope = useCSharpScope();
|
|
14
|
-
scope =
|
|
15
|
-
...props
|
|
14
|
+
scope = createScope(CSharpLexicalScope, props.name ?? "lexical scope", parentScope, {
|
|
15
|
+
...props,
|
|
16
|
+
binder: parentScope?.binder
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
return _$createComponent(Scope, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Scope","useCSharpScope","CSharpLexicalScope","LexicalScope","props","scope","value","Error","parentScope","name","_$createComponent","children"],"sources":["../../../src/components/lexical-scope.tsx"],"sourcesContent":[null],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"names":["Scope","createScope","useCSharpScope","CSharpLexicalScope","LexicalScope","props","scope","value","Error","parentScope","name","binder","_$createComponent","children"],"sources":["../../../src/components/lexical-scope.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAGLC,WAAW,QACN,gBAAgB;AACvB,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,kBAAkB,QAAQ,sBAAsB;AASzD,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAE;EACrD,IAAIC,KAAK;EACT,IAAI,OAAO,IAAID,KAAK,EAAE;IACpB,IAAI,EAAEA,KAAK,CAACE,KAAK,YAAYJ,kBAAkB,CAAC,EAAE;MAChD,MAAM,IAAIK,KAAK,CACb,0DACF,CAAC;IACH;IACAF,KAAK,GAAGD,KAAK,CAACE,KAAK;EACrB,CAAC,MAAM;IACL,MAAME,WAAW,GAAGP,cAAc,CAAC,CAAC;IACpCI,KAAK,GAAGL,WAAW,CACjBE,kBAAkB,EAClBE,KAAK,CAACK,IAAI,IAAI,eAAe,EAC7BD,WAAW,EACX;MACE,GAAGJ,KAAK;MACRM,MAAM,EAAEF,WAAW,EAAEE;IACvB,CACF,CAAC;EACH;EAEA,OAAAC,iBAAA,CAAQZ,KAAK;IAACO,KAAK,EAAED,KAAK;IAAA,IAAAO,SAAA;MAAA,OAAGR,KAAK,CAACQ,QAAQ;IAAA;EAAA;AAC7C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-scope.d.ts","sourceRoot":"","sources":["../../../src/components/method-scope.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"method-scope.d.ts","sourceRoot":"","sources":["../../../src/components/method-scope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;CAAG;AAC9E,MAAM,WAAW,6BAA8B,SAAQ,kBAAkB;CAAG;AAE5E,MAAM,MAAM,gBAAgB,GACxB,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qCAqBlD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { Scope } from "@alloy-js/core";
|
|
2
|
+
import { Scope, createScope } from "@alloy-js/core";
|
|
3
3
|
import { useCSharpScope } from "../scopes/contexts.js";
|
|
4
4
|
import { CSharpMethodScope } from "../scopes/method.js";
|
|
5
5
|
export function MethodScope(props) {
|
|
@@ -11,8 +11,9 @@ export function MethodScope(props) {
|
|
|
11
11
|
scope = props.value;
|
|
12
12
|
} else {
|
|
13
13
|
const parentScope = useCSharpScope();
|
|
14
|
-
scope =
|
|
15
|
-
...props
|
|
14
|
+
scope = createScope(CSharpMethodScope, props.name ?? "method scope", parentScope, {
|
|
15
|
+
...props,
|
|
16
|
+
binder: parentScope?.binder
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
return _$createComponent(Scope, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Scope","useCSharpScope","CSharpMethodScope","MethodScope","props","scope","value","Error","parentScope","name","_$createComponent","children"],"sources":["../../../src/components/method-scope.tsx"],"sourcesContent":[null],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"names":["Scope","createScope","useCSharpScope","CSharpMethodScope","MethodScope","props","scope","value","Error","parentScope","name","binder","_$createComponent","children"],"sources":["../../../src/components/method-scope.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAGLC,WAAW,QACN,gBAAgB;AACvB,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,iBAAiB,QAAQ,qBAAqB;AASvD,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,IAAIC,KAAK;EACT,IAAI,OAAO,IAAID,KAAK,EAAE;IACpB,IAAI,EAAEA,KAAK,CAACE,KAAK,YAAYJ,iBAAiB,CAAC,EAAE;MAC/C,MAAM,IAAIK,KAAK,CAAC,wDAAwD,CAAC;IAC3E;IACAF,KAAK,GAAGD,KAAK,CAACE,KAAK;EACrB,CAAC,MAAM;IACL,MAAME,WAAW,GAAGP,cAAc,CAAC,CAAC;IACpCI,KAAK,GAAGL,WAAW,CACjBE,iBAAiB,EACjBE,KAAK,CAACK,IAAI,IAAI,cAAc,EAC5BD,WAAW,EACX;MACE,GAAGJ,KAAK;MACRM,MAAM,EAAEF,WAAW,EAAEE;IACvB,CACF,CAAC;EACH;EAEA,OAAAC,iBAAA,CAAQZ,KAAK;IAACO,KAAK,EAAED,KAAK;IAAA,IAAAO,SAAA;MAAA,OAAGR,KAAK,CAACQ,QAAQ;IAAA;EAAA;AAC7C","ignoreList":[]}
|
|
@@ -13,6 +13,8 @@ export interface SourceFileProps extends CSharpFormatOptions {
|
|
|
13
13
|
* explicit usings is not necessary when referencing symbols via refkeys.
|
|
14
14
|
*/
|
|
15
15
|
using?: string[];
|
|
16
|
+
header?: Children;
|
|
17
|
+
headerComment?: string;
|
|
16
18
|
}
|
|
17
19
|
/** A C# source file exists within the context of a namespace contains using statements and declarations */
|
|
18
20
|
export declare function SourceFile(props: SourceFileProps): Children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-file.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source-file.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,QAAQ,EAQT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,kCAAkC,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA2EhD"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createComponent as _$createComponent, memo as _$memo, mergeProps as _$mergeProps, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { DocComment } from "#components/doc/comment.js";
|
|
2
3
|
import { NamespaceScopes } from "#components/namespace-scopes.js";
|
|
3
4
|
import { NamespaceName } from "#components/namespace/namespace-name.js";
|
|
4
5
|
import { Reference } from "#components/Reference.js";
|
|
5
6
|
import { Usings } from "#components/using/using.js";
|
|
6
|
-
import { Block, computed, SourceFile as CoreSourceFile, Scope, useBinder } from "@alloy-js/core";
|
|
7
|
+
import { Block, computed, SourceFile as CoreSourceFile, createScope, List, Scope, Show, useBinder } from "@alloy-js/core";
|
|
7
8
|
import { useCsharpFormatOptions } from "../../contexts/format-options.js";
|
|
8
9
|
import { getGlobalNamespace } from "../../contexts/global-namespace.js";
|
|
9
10
|
import { useNamespaceContext } from "../../contexts/namespace.js";
|
|
@@ -15,9 +16,12 @@ import { CSharpSourceFileScope } from "../../scopes/source-file.js";
|
|
|
15
16
|
|
|
16
17
|
/** A C# source file exists within the context of a namespace contains using statements and declarations */
|
|
17
18
|
export function SourceFile(props) {
|
|
18
|
-
const
|
|
19
|
+
const binder = useBinder();
|
|
20
|
+
const sourceFileScope = createScope(CSharpSourceFileScope, props.path, undefined, {
|
|
21
|
+
binder
|
|
22
|
+
});
|
|
19
23
|
const nsContext = useNamespaceContext();
|
|
20
|
-
const globalNs = getGlobalNamespace(
|
|
24
|
+
const globalNs = getGlobalNamespace(binder);
|
|
21
25
|
const nsSymbol = nsContext ? nsContext.symbol : globalNs;
|
|
22
26
|
const usings = computed(() => {
|
|
23
27
|
return Array.from(sourceFileScope.usings).concat(props.using ?? []);
|
|
@@ -33,6 +37,14 @@ export function SourceFile(props) {
|
|
|
33
37
|
tabWidth: props.tabWidth,
|
|
34
38
|
useTabs: props.useTabs
|
|
35
39
|
});
|
|
40
|
+
const header = props.header || props.headerComment ? _$createComponent(SourceFileHeader, {
|
|
41
|
+
get header() {
|
|
42
|
+
return props.header;
|
|
43
|
+
},
|
|
44
|
+
get headerComment() {
|
|
45
|
+
return props.headerComment;
|
|
46
|
+
}
|
|
47
|
+
}) : undefined;
|
|
36
48
|
return _$createComponent(CoreSourceFile, _$mergeProps({
|
|
37
49
|
get path() {
|
|
38
50
|
return props.path;
|
|
@@ -40,6 +52,7 @@ export function SourceFile(props) {
|
|
|
40
52
|
filetype: "cs",
|
|
41
53
|
reference: Reference
|
|
42
54
|
}, opts, {
|
|
55
|
+
header: header,
|
|
43
56
|
get children() {
|
|
44
57
|
return _$createComponent(Scope, {
|
|
45
58
|
value: sourceFileScope,
|
|
@@ -58,4 +71,29 @@ export function SourceFile(props) {
|
|
|
58
71
|
}
|
|
59
72
|
}));
|
|
60
73
|
}
|
|
74
|
+
function SourceFileHeader(props) {
|
|
75
|
+
return _$createComponent(List, {
|
|
76
|
+
get children() {
|
|
77
|
+
return [_$createComponent(Show, {
|
|
78
|
+
get when() {
|
|
79
|
+
return props.headerComment !== undefined;
|
|
80
|
+
},
|
|
81
|
+
get children() {
|
|
82
|
+
return _$createComponent(DocComment, {
|
|
83
|
+
get children() {
|
|
84
|
+
return props.headerComment;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}), _$createComponent(Show, {
|
|
89
|
+
get when() {
|
|
90
|
+
return props.header !== undefined;
|
|
91
|
+
},
|
|
92
|
+
get children() {
|
|
93
|
+
return props.header;
|
|
94
|
+
}
|
|
95
|
+
}), _$createIntrinsic("hbr", {})];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
61
99
|
//# sourceMappingURL=source-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NamespaceScopes","NamespaceName","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","Scope","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","usings","Array","from","concat","using","content","_$createComponent","children","opts","printWidth","tabWidth","useTabs","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace"],"sources":["../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,eAAe;AACxB,SAASC,aAAa;AACtB,SAASC,SAAS;AAClB,SAASC,MAAM;AACf,SACEC,KAAK,EAELC,QAAQ,EACRC,UAAU,IAAIC,cAAc,EAC5BC,KAAK,EACLC,SAAS,QACJ,gBAAgB;AACvB,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,kBAAkB,QAAQ,oCAAoC;AACvE,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,qBAAqB,QAAQ,6BAA6B;;AAGnE;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["DocComment","NamespaceScopes","NamespaceName","Reference","Usings","Block","computed","SourceFile","CoreSourceFile","createScope","List","Scope","Show","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","binder","sourceFileScope","path","undefined","nsContext","globalNs","nsSymbol","symbol","usings","Array","from","concat","using","content","_$createComponent","children","opts","printWidth","tabWidth","useTabs","header","headerComment","SourceFileHeader","_$mergeProps","filetype","reference","value","_$memo","size","length","namespaces","_$createIntrinsic","hasBlockNamespace","when"],"sources":["../../../../src/components/source-file/source-file.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { Attribute } from "#components/attributes/attributes.js";
|
|
2
3
|
import { ClassDeclaration } from "#components/class/declaration.js";
|
|
3
4
|
import { Namespace } from "#components/namespace/namespace.js";
|
|
4
|
-
import { FormatOptions, Indent, Output, Prose } from "@alloy-js/core";
|
|
5
|
+
import { FormatOptions, Indent, List, Output, Prose } from "@alloy-js/core";
|
|
6
|
+
import { Serialization } from "@alloy-js/csharp/global/System/Text/Json";
|
|
5
7
|
import { describe, expect, it } from "vitest";
|
|
6
8
|
import { CSharpFormatOptions } from "../../contexts/format-options.js";
|
|
7
9
|
import { SourceFile } from "./source-file.js";
|
|
@@ -132,5 +134,42 @@ describe("format options", () => {
|
|
|
132
134
|
indented 3 spaces
|
|
133
135
|
`);
|
|
134
136
|
});
|
|
137
|
+
it("respect docComment and using (and docComment before using)", () => {
|
|
138
|
+
expect(_$createComponent(Output, {
|
|
139
|
+
get children() {
|
|
140
|
+
return _$createComponent(SourceFile, {
|
|
141
|
+
path: "Test1.cs",
|
|
142
|
+
headerComment: "This is a file comment",
|
|
143
|
+
get header() {
|
|
144
|
+
return _$createComponent(Prose, {
|
|
145
|
+
children: "// ---------Some Fake Heder-----------"
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
get children() {
|
|
149
|
+
return _$createComponent(List, {
|
|
150
|
+
get children() {
|
|
151
|
+
return [_$createComponent(Attribute, {
|
|
152
|
+
get name() {
|
|
153
|
+
return Serialization.JsonConverterAttribute;
|
|
154
|
+
}
|
|
155
|
+
}), _$createComponent(ClassDeclaration, {
|
|
156
|
+
"public": true,
|
|
157
|
+
name: "TestClass1"
|
|
158
|
+
})];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
})).toRenderTo(`
|
|
165
|
+
/// This is a file comment
|
|
166
|
+
// ---------Some Fake Heder-----------
|
|
167
|
+
|
|
168
|
+
using System.Text.Json.Serialization;
|
|
169
|
+
|
|
170
|
+
[JsonConverter]
|
|
171
|
+
public class TestClass1;
|
|
172
|
+
`);
|
|
173
|
+
});
|
|
135
174
|
});
|
|
136
175
|
//# sourceMappingURL=source-file.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClassDeclaration","Namespace","FormatOptions","Indent","Output","Prose","describe","expect","it","CSharpFormatOptions","SourceFile","_$createComponent","children","name","path","toRenderTo","FileWithFormatOptions","props","value","options","tabWidth","useTabs","printWidth"],"sources":["../../../../src/components/source-file/source-file.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,gBAAgB;AACzB,SAASC,SAAS;AAClB,
|
|
1
|
+
{"version":3,"names":["Attribute","ClassDeclaration","Namespace","FormatOptions","Indent","List","Output","Prose","Serialization","describe","expect","it","CSharpFormatOptions","SourceFile","_$createComponent","children","name","path","toRenderTo","FileWithFormatOptions","props","value","options","tabWidth","useTabs","printWidth","headerComment","header","JsonConverterAttribute"],"sources":["../../../../src/components/source-file/source-file.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-namespace.d.ts","sourceRoot":"","sources":["../../../src/contexts/global-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"global-namespace.d.ts","sourceRoot":"","sources":["../../../src/contexts/global-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,wBAAgB,kBAAkB,oBAGjC;AAYD,wBAAgB,oBAAoB,SAInC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,mBAgB5D"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { useBinder } from "@alloy-js/core";
|
|
1
|
+
import { createSymbol, useBinder } from "@alloy-js/core";
|
|
2
2
|
import { NamespaceSymbol } from "../symbols/namespace.js";
|
|
3
3
|
export function useGlobalNamespace() {
|
|
4
4
|
const binder = useBinder();
|
|
5
5
|
return getGlobalNamespace(binder);
|
|
6
6
|
}
|
|
7
7
|
const globalNamespaces = new WeakMap();
|
|
8
|
-
let defaultGlobalNamespace =
|
|
8
|
+
let defaultGlobalNamespace = createSymbol(NamespaceSymbol, "global", undefined, {
|
|
9
9
|
isGlobal: true
|
|
10
10
|
});
|
|
11
11
|
export function resetGlobalNamespace() {
|
|
12
|
-
defaultGlobalNamespace =
|
|
12
|
+
defaultGlobalNamespace = createSymbol(NamespaceSymbol, "global", undefined, {
|
|
13
13
|
isGlobal: true
|
|
14
14
|
});
|
|
15
15
|
}
|
|
@@ -19,7 +19,7 @@ export function getGlobalNamespace(binder) {
|
|
|
19
19
|
}
|
|
20
20
|
let namespace = globalNamespaces.get(binder);
|
|
21
21
|
if (!namespace) {
|
|
22
|
-
namespace =
|
|
22
|
+
namespace = createSymbol(NamespaceSymbol, "global", undefined, {
|
|
23
23
|
binder,
|
|
24
24
|
isGlobal: true
|
|
25
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useBinder","NamespaceSymbol","useGlobalNamespace","binder","getGlobalNamespace","globalNamespaces","WeakMap","defaultGlobalNamespace","undefined","isGlobal","resetGlobalNamespace","namespace","get","set"],"sources":["../../../src/contexts/global-namespace.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAiBA,SAAS,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":["createSymbol","useBinder","NamespaceSymbol","useGlobalNamespace","binder","getGlobalNamespace","globalNamespaces","WeakMap","defaultGlobalNamespace","undefined","isGlobal","resetGlobalNamespace","namespace","get","set"],"sources":["../../../src/contexts/global-namespace.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAiBA,YAAY,EAAEC,SAAS,QAAQ,gBAAgB;AAChE,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,MAAMC,MAAM,GAAGH,SAAS,CAAC,CAAC;EAC1B,OAAOI,kBAAkB,CAACD,MAAM,CAAC;AACnC;AAEA,MAAME,gBAAgB,GAAG,IAAIC,OAAO,CAA0B,CAAC;AAC/D,IAAIC,sBAAsB,GAAGR,YAAY,CACvCE,eAAe,EACf,QAAQ,EACRO,SAAS,EACT;EACEC,QAAQ,EAAE;AACZ,CACF,CAAC;AAED,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrCH,sBAAsB,GAAGR,YAAY,CAACE,eAAe,EAAE,QAAQ,EAAEO,SAAS,EAAE;IAC1EC,QAAQ,EAAE;EACZ,CAAC,CAAC;AACJ;AAEA,OAAO,SAASL,kBAAkBA,CAACD,MAA0B,EAAE;EAC7D,IAAI,CAACA,MAAM,EAAE;IACX,OAAOI,sBAAsB;EAC/B;EAEA,IAAII,SAAS,GAAGN,gBAAgB,CAACO,GAAG,CAACT,MAAM,CAAC;EAE5C,IAAI,CAACQ,SAAS,EAAE;IACdA,SAAS,GAAGZ,YAAY,CAACE,eAAe,EAAE,QAAQ,EAAEO,SAAS,EAAE;MAC7DL,MAAM;MACNM,QAAQ,EAAE;IACZ,CAAC,CAAC;IACFJ,gBAAgB,CAACQ,GAAG,CAACV,MAAM,EAAEQ,SAAS,CAAC;EACzC;EAEA,OAAOA,SAAS;AAClB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-library.d.ts","sourceRoot":"","sources":["../../src/create-library.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-library.d.ts","sourceRoot":"","sources":["../../src/create-library.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { namekey, refkey, REFKEYABLE, TO_SYMBOL, useBinder } from "@alloy-js/core";
|
|
1
|
+
import { createSymbol, namekey, refkey, REFKEYABLE, TO_SYMBOL, useBinder } from "@alloy-js/core";
|
|
2
2
|
import { getGlobalNamespace } from "./contexts/global-namespace.js";
|
|
3
3
|
import { MethodSymbol } from "./index.js";
|
|
4
4
|
import { CSharpSymbol } from "./symbols/csharp.js";
|
|
@@ -18,7 +18,7 @@ export function createLibrary(rootNs, props) {
|
|
|
18
18
|
if (ownerSymbol.members.symbolNames.has(name)) {
|
|
19
19
|
ownerSymbol = ownerSymbol.members.symbolNames.get(name);
|
|
20
20
|
} else {
|
|
21
|
-
ownerSymbol =
|
|
21
|
+
ownerSymbol = createSymbol(NamespaceSymbol, namekey(name), ownerSymbol, {
|
|
22
22
|
binder,
|
|
23
23
|
refkeys: refkey()
|
|
24
24
|
});
|
|
@@ -77,7 +77,7 @@ function createSymbolFromDescriptor(name, binder, descriptor, context, lazyMembe
|
|
|
77
77
|
if (ownerSymbol.members.symbolNames.has(name)) {
|
|
78
78
|
return ownerSymbol.members.symbolNames.get(name);
|
|
79
79
|
}
|
|
80
|
-
return
|
|
80
|
+
return createSymbol(NamespaceSymbol, namekey(name), ownerSymbol, {
|
|
81
81
|
binder,
|
|
82
82
|
refkeys: refkey(),
|
|
83
83
|
lazyMemberInitializer
|
|
@@ -87,19 +87,19 @@ function createSymbolFromDescriptor(name, binder, descriptor, context, lazyMembe
|
|
|
87
87
|
case "interface":
|
|
88
88
|
case "struct":
|
|
89
89
|
case "record":
|
|
90
|
-
return
|
|
90
|
+
return createSymbol(NamedTypeSymbol, namekey(name), ownerSymbol.members, descriptor.kind, {
|
|
91
91
|
binder,
|
|
92
92
|
refkeys: refkey(),
|
|
93
93
|
lazyMemberInitializer
|
|
94
94
|
});
|
|
95
95
|
case "method":
|
|
96
|
-
return
|
|
96
|
+
return createSymbol(MethodSymbol, namekey(name), ownerSymbol.members, descriptor.methodKind, {
|
|
97
97
|
binder,
|
|
98
98
|
refkeys: refkey()
|
|
99
99
|
});
|
|
100
100
|
case "field":
|
|
101
101
|
case "property":
|
|
102
|
-
return
|
|
102
|
+
return createSymbol(CSharpSymbol, namekey(name), ownerSymbol.members, {
|
|
103
103
|
binder,
|
|
104
104
|
refkeys: refkey(),
|
|
105
105
|
type: descriptor.type === undefined ? undefined : typeof descriptor.type === "function" ? descriptor.type()[TO_SYMBOL]() : descriptor.type[TO_SYMBOL](),
|
|
@@ -107,7 +107,7 @@ function createSymbolFromDescriptor(name, binder, descriptor, context, lazyMembe
|
|
|
107
107
|
lazyMemberInitializer
|
|
108
108
|
});
|
|
109
109
|
case "generic":
|
|
110
|
-
return
|
|
110
|
+
return createSymbol(CSharpSymbol, namekey(name), ownerSymbol.members, {
|
|
111
111
|
binder,
|
|
112
112
|
refkeys: refkey()
|
|
113
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["namekey","refkey","REFKEYABLE","TO_SYMBOL","useBinder","getGlobalNamespace","MethodSymbol","CSharpSymbol","NamedTypeSymbol","NamespaceSymbol","createLibrary","rootNs","props","ownerSymbolPerBinder","WeakMap","namespaceNames","split","createSymbolEntry","at","kind","members","ownerSymbol","binder","mapGet","name","slice","symbolNames","has","get","refkeys","descriptor","context","symbols","getSymbol","createSymbolFromDescriptor","initializeMembers","newContext","key","Object","keys","obj","memberName","memberDesc","entries","lazyMemberInitializer","methodKind","type","undefined","isNullable","defaultsPerMap","map","init","value","set"],"sources":["../../src/create-library.ts"],"sourcesContent":[null],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["createSymbol","namekey","refkey","REFKEYABLE","TO_SYMBOL","useBinder","getGlobalNamespace","MethodSymbol","CSharpSymbol","NamedTypeSymbol","NamespaceSymbol","createLibrary","rootNs","props","ownerSymbolPerBinder","WeakMap","namespaceNames","split","createSymbolEntry","at","kind","members","ownerSymbol","binder","mapGet","name","slice","symbolNames","has","get","refkeys","descriptor","context","symbols","getSymbol","createSymbolFromDescriptor","initializeMembers","newContext","key","Object","keys","obj","memberName","memberDesc","entries","lazyMemberInitializer","methodKind","type","undefined","isNullable","defaultsPerMap","map","init","value","set"],"sources":["../../src/create-library.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,5 +6,6 @@ export declare class CSharpScope extends OutputScope {
|
|
|
6
6
|
constructor(name: string, parent: CSharpScope | undefined, options?: OutputScopeOptions);
|
|
7
7
|
get enclosingNamespace(): NamespaceSymbol | undefined;
|
|
8
8
|
get ownerSymbol(): CSharpSymbol | undefined;
|
|
9
|
+
get debugInfo(): Record<string, unknown>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=csharp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/scopes/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAAa,WAAY,SAAQ,WAAW;;gBAExC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,kBAAkB;IAO9B,IAAI,kBAAkB,gCAErB;IAED,IAAI,WAAW,IAAI,YAAY,GAAG,SAAS,CAE1C;CACF"}
|
|
1
|
+
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/scopes/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAAa,WAAY,SAAQ,WAAW;;gBAExC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,CAAC,EAAE,kBAAkB;IAO9B,IAAI,kBAAkB,gCAErB;IAED,IAAI,WAAW,IAAI,YAAY,GAAG,SAAS,CAE1C;IAED,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAShD;CACF"}
|
|
@@ -11,5 +11,15 @@ export class CSharpScope extends OutputScope {
|
|
|
11
11
|
get ownerSymbol() {
|
|
12
12
|
return super.ownerSymbol;
|
|
13
13
|
}
|
|
14
|
+
get debugInfo() {
|
|
15
|
+
const info = super.debugInfo;
|
|
16
|
+
if (this.enclosingNamespace) {
|
|
17
|
+
return {
|
|
18
|
+
...info,
|
|
19
|
+
enclosingNamespace: this.enclosingNamespace.name
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return info;
|
|
23
|
+
}
|
|
14
24
|
}
|
|
15
25
|
//# sourceMappingURL=csharp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OutputScope","CSharpScope","constructor","name","parent","options","namespaceSymbol","enclosingNamespace","ownerSymbol"],"sources":["../../../src/scopes/csharp.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAA4B,gBAAgB;AAIhE,OAAO,MAAMC,WAAW,SAASD,WAAW,CAAC;EAC3CE,WAAWA,CACTC,IAAY,EACZC,MAA+B,EAC/BC,OAA4B,EAC5B;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,eAAe,GAAGF,MAAM,EAAEG,kBAAkB;EACpD;EAEA,CAACD,eAAe;EAChB,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC,CAACD,eAAe;EAC9B;EAEA,IAAIE,WAAWA,CAAA,EAA6B;IAC1C,OAAO,KAAK,CAACA,WAAW;EAC1B;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["OutputScope","CSharpScope","constructor","name","parent","options","namespaceSymbol","enclosingNamespace","ownerSymbol","debugInfo","info"],"sources":["../../../src/scopes/csharp.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAA4B,gBAAgB;AAIhE,OAAO,MAAMC,WAAW,SAASD,WAAW,CAAC;EAC3CE,WAAWA,CACTC,IAAY,EACZC,MAA+B,EAC/BC,OAA4B,EAC5B;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,eAAe,GAAGF,MAAM,EAAEG,kBAAkB;EACpD;EAEA,CAACD,eAAe;EAChB,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC,CAACD,eAAe;EAC9B;EAEA,IAAIE,WAAWA,CAAA,EAA6B;IAC1C,OAAO,KAAK,CAACA,WAAW;EAC1B;EAEA,IAAaC,SAASA,CAAA,EAA4B;IAChD,MAAMC,IAAI,GAAG,KAAK,CAACD,SAAS;IAC5B,IAAI,IAAI,CAACF,kBAAkB,EAAE;MAC3B,OAAO;QACL,GAAGG,IAAI;QACPH,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAACJ;MAC9C,CAAC;IACH;IACA,OAAOO,IAAI;EACb;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/scopes/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/scopes/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,kBAAuB,wBAcjC;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,kBAAuB,oBAYjC;AACD,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,qBAGjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createScope } from "@alloy-js/core";
|
|
1
2
|
import { CSharpClassScope } from "./class.js";
|
|
2
3
|
import { useCSharpScope, useNamedTypeScope } from "./contexts.js";
|
|
3
4
|
import { CSharpMethodScope } from "./method.js";
|
|
@@ -8,17 +9,17 @@ export function createNamedTypeScope(ownerSymbol, options = {}) {
|
|
|
8
9
|
if (!(currentScope instanceof CSharpNamedTypeScope) && !(currentScope instanceof CSharpSourceFileScope)) {
|
|
9
10
|
throw new Error("Can't create C# type declaration scope inside of " + currentScope.constructor.name);
|
|
10
11
|
}
|
|
11
|
-
return
|
|
12
|
+
return createScope(CSharpNamedTypeScope, ownerSymbol, currentScope, options);
|
|
12
13
|
}
|
|
13
14
|
export function createClassScope(ownerSymbol, options = {}) {
|
|
14
15
|
const currentScope = useCSharpScope();
|
|
15
16
|
if (!(currentScope instanceof CSharpNamedTypeScope) && !(currentScope instanceof CSharpSourceFileScope)) {
|
|
16
17
|
throw new Error("Can't create C# class scope inside of " + currentScope.constructor.name);
|
|
17
18
|
}
|
|
18
|
-
return
|
|
19
|
+
return createScope(CSharpClassScope, ownerSymbol, currentScope, options);
|
|
19
20
|
}
|
|
20
21
|
export function createMethodScope(options = {}) {
|
|
21
22
|
const parentScope = useNamedTypeScope();
|
|
22
|
-
return
|
|
23
|
+
return createScope(CSharpMethodScope, "method scope", parentScope, options);
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=factories.js.map
|