@alloy-js/csharp 0.20.0-dev.6 → 0.20.0-dev.9
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/src/components/access-expression/access-expression.d.ts +54 -0
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.js +277 -0
- package/dist/src/components/access-expression/access-expression.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
- package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
- package/dist/src/components/access-expression/access-expression.test.js +336 -0
- package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
- package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
- package/dist/src/components/access-expression/part-descriptors.js +99 -0
- package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
- package/dist/src/components/class/declaration.test.js +1 -1
- package/dist/src/components/enum/declaration.ref.test.js +1 -1
- package/dist/src/components/index.d.ts +2 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +2 -1
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
- package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
- package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
- package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
- package/dist/src/components/namespace.ref.test.js +1 -1
- package/dist/src/components/namespace.test.js +1 -1
- package/dist/src/components/parameters/parameters.d.ts +1 -2
- package/dist/src/components/parameters/parameters.d.ts.map +1 -1
- package/dist/src/components/parameters/parameters.js +2 -1
- package/dist/src/components/parameters/parameters.js.map +1 -1
- package/dist/src/components/parameters/parameters.test.js +66 -0
- package/dist/src/components/parameters/parameters.test.js.map +1 -1
- package/dist/src/components/property/property.d.ts +2 -2
- package/dist/src/components/property/property.d.ts.map +1 -1
- package/dist/src/components/property/property.js +10 -3
- package/dist/src/components/property/property.js.map +1 -1
- package/dist/src/components/{SourceFile.d.ts → source-file/source-file.d.ts} +3 -2
- package/dist/src/components/source-file/source-file.d.ts.map +1 -0
- package/dist/src/components/{SourceFile.js → source-file/source-file.js} +18 -13
- package/dist/src/components/source-file/source-file.js.map +1 -0
- package/dist/src/components/source-file/source-file.test.d.ts +2 -0
- package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
- package/dist/src/components/source-file/source-file.test.js +136 -0
- package/dist/src/components/source-file/source-file.test.js.map +1 -0
- package/dist/src/contexts/format-options.d.ts +5 -0
- package/dist/src/contexts/format-options.d.ts.map +1 -0
- package/dist/src/contexts/format-options.js +9 -0
- package/dist/src/contexts/format-options.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/scopes/csharp.d.ts +2 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -1
- package/dist/src/scopes/csharp.js +3 -0
- package/dist/src/scopes/csharp.js.map +1 -1
- package/dist/src/symbols/csharp.d.ts +11 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -1
- package/dist/src/symbols/csharp.js +23 -0
- package/dist/src/symbols/csharp.js.map +1 -1
- package/dist/src/symbols/reference.d.ts +2 -2
- package/dist/src/symbols/reference.d.ts.map +1 -1
- package/dist/src/symbols/reference.js +17 -5
- package/dist/src/symbols/reference.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/components/access-expression/access-expression.test.tsx +284 -0
- package/src/components/access-expression/access-expression.tsx +375 -0
- package/src/components/access-expression/part-descriptors.ts +175 -0
- package/src/components/class/declaration.test.tsx +1 -1
- package/src/components/enum/declaration.ref.test.tsx +1 -1
- package/src/components/index.ts +2 -1
- package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
- package/src/components/invocation-expression/invocation-expression.tsx +60 -0
- package/src/components/namespace.ref.test.tsx +1 -1
- package/src/components/namespace.test.tsx +1 -1
- package/src/components/parameters/parameters.test.tsx +46 -0
- package/src/components/parameters/parameters.tsx +2 -2
- package/src/components/property/property.tsx +8 -2
- package/src/components/source-file/source-file.test.tsx +96 -0
- package/src/components/{SourceFile.tsx → source-file/source-file.tsx} +20 -10
- package/src/contexts/format-options.ts +14 -0
- package/src/index.ts +1 -0
- package/src/scopes/csharp.ts +5 -0
- package/src/symbols/csharp.ts +32 -0
- package/src/symbols/{reference.ts → reference.tsx} +11 -9
- package/temp/api.json +423 -37
- package/dist/src/components/SourceFile.d.ts.map +0 -1
- package/dist/src/components/SourceFile.js.map +0 -1
- package/dist/test/sourcefile.test.d.ts +0 -2
- package/dist/test/sourcefile.test.d.ts.map +0 -1
- package/dist/test/sourcefile.test.js +0 -47
- package/dist/test/sourcefile.test.js.map +0 -1
- package/test/sourcefile.test.tsx +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../../src/components/property/property.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,
|
|
1
|
+
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../../src/components/property/property.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAMR,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG7E,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAcD,gDAAgD;AAChD,MAAM,WAAW,aAAc,SAAQ,eAAe,EAAE,iBAAiB;IACvE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,IAAI,EAAE,QAAQ,CAAC;IAEf,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,YAqC5C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { Block, code, List, MemberDeclaration, MemberName } from "@alloy-js/core";
|
|
2
|
+
import { Block, code, createSymbolSlot, List, MemberDeclaration, MemberName } from "@alloy-js/core";
|
|
3
3
|
import { computeModifiersPrefix, getAccessModifier, makeModifiers } from "../../modifiers.js";
|
|
4
4
|
import { createPropertySymbol } from "../../symbols/factories.js";
|
|
5
5
|
import { AttributeList } from "../attributes/attributes.js";
|
|
@@ -21,8 +21,11 @@ const getModifiers = makeModifiers(["new", "static", "virtual", "sealed", "overr
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export function Property(props) {
|
|
24
|
+
const TypeSlot = createSymbolSlot();
|
|
24
25
|
const propertySymbol = createPropertySymbol(props.name, {
|
|
25
|
-
refkeys: props.refkey
|
|
26
|
+
refkeys: props.refkey,
|
|
27
|
+
isNullable: props.nullable,
|
|
28
|
+
type: TypeSlot.firstSymbol
|
|
26
29
|
});
|
|
27
30
|
const modifiers = computeModifiersPrefix([getAccessModifier(props), getModifiers(props)]);
|
|
28
31
|
if (props.init && props.set) {
|
|
@@ -41,7 +44,11 @@ export function Property(props) {
|
|
|
41
44
|
return props.attributes;
|
|
42
45
|
},
|
|
43
46
|
endline: true
|
|
44
|
-
}), modifiers, _$
|
|
47
|
+
}), modifiers, _$createComponent(TypeSlot, {
|
|
48
|
+
get children() {
|
|
49
|
+
return props.type;
|
|
50
|
+
}
|
|
51
|
+
}), _$memo(() => props.nullable && "?"), " ", _$createComponent(MemberName, {}), " ", _$createComponent(Block, {
|
|
45
52
|
newline: true,
|
|
46
53
|
inline: true,
|
|
47
54
|
get children() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Block","code","List","MemberDeclaration","MemberName","computeModifiersPrefix","getAccessModifier","makeModifiers","createPropertySymbol","AttributeList","DocWhen","getModifiers","Property","props","propertySymbol","name","refkeys","refkey","modifiers","init","set","Error","_$createComponent","symbol","children","doc","attributes","endline","_$memo","
|
|
1
|
+
{"version":3,"names":["Block","code","createSymbolSlot","List","MemberDeclaration","MemberName","computeModifiersPrefix","getAccessModifier","makeModifiers","createPropertySymbol","AttributeList","DocWhen","getModifiers","Property","props","TypeSlot","propertySymbol","name","refkeys","refkey","isNullable","nullable","type","firstSymbol","modifiers","init","set","Error","_$createComponent","symbol","children","doc","attributes","endline","_$memo","newline","inline","joiner","get","initializer"],"sources":["../../../../src/components/property/property.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAELC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,EACJC,iBAAiB,EACjBC,UAAU,QAGL,gBAAgB;AACvB,SAEEC,sBAAsB,EACtBC,iBAAiB,EACjBC,aAAa,QACR,oBAAoB;AAC3B,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,aAAa;AACtB,SAASC,OAAO;;AAEhB;;AAiBA,MAAMC,YAAY,GAAGJ,aAAa,CAAoB,CACpD,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,CACX,CAAC;;AAEF;;AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,QAAQA,CAACC,KAAoB,EAAE;EAC7C,MAAMC,QAAQ,GAAGb,gBAAgB,CAAC,CAAC;EAEnC,MAAMc,cAAc,GAAGP,oBAAoB,CAACK,KAAK,CAACG,IAAI,EAAE;IACtDC,OAAO,EAAEJ,KAAK,CAACK,MAAM;IACrBC,UAAU,EAAEN,KAAK,CAACO,QAAQ;IAC1BC,IAAI,EAAEP,QAAQ,CAACQ;EACjB,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGlB,sBAAsB,CAAC,CACvCC,iBAAiB,CAACO,KAAK,CAAC,EACxBF,YAAY,CAACE,KAAK,CAAC,CACpB,CAAC;EAEF,IAAIA,KAAK,CAACW,IAAI,IAAIX,KAAK,CAACY,GAAG,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,qDAAqDV,IAAI,GAC3D,CAAC;EACH;EACA;EACA,OAAAW,iBAAA,CACGxB,iBAAiB;IAACyB,MAAM,EAAEb,cAAc;IAAA,IAAAc,SAAA;MAAA,QAAAF,iBAAA,CACtCjB,OAAO;QAAA,IAACoB,GAAGA,CAAA;UAAA,OAAEjB,KAAK,CAACiB,GAAG;QAAA;MAAA,IAAAH,iBAAA,CACtBlB,aAAa;QAAA,IAACsB,UAAUA,CAAA;UAAA,OAAElB,KAAK,CAACkB,UAAU;QAAA;QAAEC,OAAO;MAAA,IACnDT,SAAS,EAAAI,iBAAA,CACTb,QAAQ;QAAA,IAAAe,SAAA;UAAA,OAAEhB,KAAK,CAACQ,IAAI;QAAA;MAAA,IAAAY,MAAA,OACpBpB,KAAK,CAACO,QAAQ,IAAI,GAAG,QAAAO,iBAAA,CAAGvB,UAAU,OAAI,GAAG,EAAAuB,iBAAA,CACzC5B,KAAK;QAACmC,OAAO;QAACC,MAAM;QAAA,IAAAN,SAAA;UAAA,OAAAF,iBAAA,CAClBzB,IAAI;YAACkC,MAAM;YAAA,IAAAP,SAAA;cAAA,QAAAI,MAAA,OACTpB,KAAK,CAACwB,GAAG,IAAI,MAAM,GAAAJ,MAAA,OACnBpB,KAAK,CAACY,GAAG,IAAI,MAAM,GAAAQ,MAAA,OACnBpB,KAAK,CAACW,IAAI,IAAI,OAAO;YAAA;UAAA;QAAA;MAAA,IAAAS,MAAA,OAGzBpB,KAAK,CAACyB,WAAW,IAAItC,IAAI,MAAMa,KAAK,CAACyB,WAAW,GAAG;IAAA;EAAA;AAG1D","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Children } from "@alloy-js/core";
|
|
2
|
+
import { CSharpFormatOptions } from "../../contexts/format-options.js";
|
|
2
3
|
/**
|
|
3
4
|
* Props for {@link SourceFile} component
|
|
4
5
|
*/
|
|
5
|
-
export interface SourceFileProps {
|
|
6
|
+
export interface SourceFileProps extends CSharpFormatOptions {
|
|
6
7
|
/** Path of the source file */
|
|
7
8
|
path: string;
|
|
8
9
|
/** Source file content */
|
|
@@ -15,4 +16,4 @@ export interface SourceFileProps {
|
|
|
15
16
|
}
|
|
16
17
|
/** A C# source file exists within the context of a namespace contains using statements and declarations */
|
|
17
18
|
export declare function SourceFile(props: SourceFileProps): Children;
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=source-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-file.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EAKT,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;CAClB;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA2DhD"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { createComponent as _$createComponent, memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
|
|
1
|
+
import { createComponent as _$createComponent, memo as _$memo, mergeProps as _$mergeProps, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { NamespaceScopes } from "#components/namespace-scopes.js";
|
|
3
|
+
import { Reference } from "#components/Reference.js";
|
|
4
|
+
import { UsingDirective } from "#components/UsingDirective.js";
|
|
2
5
|
import { Block, computed, SourceFile as CoreSourceFile, Scope, useBinder } from "@alloy-js/core";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { Reference } from "./Reference.js";
|
|
8
|
-
import { UsingDirective } from "./UsingDirective.js";
|
|
6
|
+
import { useCsharpFormatOptions } from "../../contexts/format-options.js";
|
|
7
|
+
import { getGlobalNamespace } from "../../contexts/global-namespace.js";
|
|
8
|
+
import { useNamespaceContext } from "../../contexts/namespace.js";
|
|
9
|
+
import { CSharpSourceFileScope } from "../../scopes/source-file.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Props for {@link SourceFile} component
|
|
@@ -27,14 +28,18 @@ export function SourceFile(props) {
|
|
|
27
28
|
return props.children;
|
|
28
29
|
}
|
|
29
30
|
}));
|
|
30
|
-
|
|
31
|
+
const opts = useCsharpFormatOptions({
|
|
32
|
+
printWidth: props.printWidth,
|
|
33
|
+
tabWidth: props.tabWidth,
|
|
34
|
+
useTabs: props.useTabs
|
|
35
|
+
});
|
|
36
|
+
return _$createComponent(CoreSourceFile, _$mergeProps({
|
|
31
37
|
get path() {
|
|
32
38
|
return props.path;
|
|
33
39
|
},
|
|
34
40
|
filetype: "cs",
|
|
35
|
-
reference: Reference
|
|
36
|
-
|
|
37
|
-
printWidth: 120,
|
|
41
|
+
reference: Reference
|
|
42
|
+
}, opts, {
|
|
38
43
|
get children() {
|
|
39
44
|
return _$createComponent(Scope, {
|
|
40
45
|
value: sourceFileScope,
|
|
@@ -49,6 +54,6 @@ export function SourceFile(props) {
|
|
|
49
54
|
}
|
|
50
55
|
});
|
|
51
56
|
}
|
|
52
|
-
});
|
|
57
|
+
}));
|
|
53
58
|
}
|
|
54
|
-
//# sourceMappingURL=
|
|
59
|
+
//# sourceMappingURL=source-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NamespaceScopes","Reference","UsingDirective","Block","computed","SourceFile","CoreSourceFile","Scope","useBinder","useCsharpFormatOptions","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","nsRef","name","undefined","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,SAAS;AAClB,SAASC,cAAc;AACvB,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;;AAeA;AACA,OAAO,SAASP,UAAUA,CAACQ,KAAsB,EAAE;EACjD,MAAMC,eAAe,GAAG,IAAIF,qBAAqB,CAACC,KAAK,CAACE,IAAI,CAAC;EAE7D,MAAMC,SAAS,GAAGL,mBAAmB,CAAC,CAAC;EACvC,MAAMM,QAAQ,GAAGP,kBAAkB,CAACF,SAAS,CAAC,CAAC,CAAC;EAChD,MAAMU,QAAQ,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAM,GAAGF,QAAQ;EACxD,MAAMG,KAAK,GAAGJ,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACE,IAAI,GAAGC,SAAS;EAC3D,MAAMC,MAAM,GAAGnB,QAAQ,CAAC,MAAM;IAC5B,OACEoB,KAAK,CAACC,IAAI,CAACX,eAAe,CAACS,MAAM,CAAC,CAClCG,MAAM,CAACb,KAAK,CAACc,KAAK,IAAI,EAAE,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGxB,QAAQ,CAAC,MAAAyB,iBAAA,CACtB7B,eAAe;IAACmB,MAAM,EAAED,QAAQ;IAAA,IAAAY,SAAA;MAAA,OAAGjB,KAAK,CAACiB,QAAQ;IAAA;EAAA,EACnD,CAAC;EAEF,MAAMC,IAAI,GAAGtB,sBAAsB,CAAC;IAClCuB,UAAU,EAAEnB,KAAK,CAACmB,UAAU;IAC5BC,QAAQ,EAAEpB,KAAK,CAACoB,QAAQ;IACxBC,OAAO,EAAErB,KAAK,CAACqB;EACjB,CAAC,CAAC;EAEF,OAAAL,iBAAA,CACGvB,cAAc,EAAA6B,YAAA;IAAA,IACbpB,IAAIA,CAAA;MAAA,OAAEF,KAAK,CAACE,IAAI;IAAA;IAChBqB,QAAQ;IACRC,SAAS,EAAEpC;EAAS,GAChB8B,IAAI;IAAA,IAAAD,SAAA;MAAA,OAAAD,iBAAA,CAEPtB,KAAK;QAAC+B,KAAK,EAAExB,eAAe;QAAA,IAAAgB,SAAA;UAAA,QAAAS,MAAA,OAC1BA,MAAA,UAACzB,eAAe,CAACS,MAAM,CAACiB,IAAI,GAAG,CAAC,IAC9B3B,KAAK,CAACc,KAAK,IAAId,KAAK,CAACc,KAAK,CAACc,MAAM,GAAG,CAAE,SAAAZ,iBAAA,CAEpC3B,cAAc;YAAA,IAACwC,UAAUA,CAAA;cAAA,OAAEnB,MAAM,CAACe,KAAK;YAAA;UAAA,IAAAK,iBAAA,aAAAA,iBAAA,YAI3C,GAAAJ,MAAA,OACArB,QAAQ,KAAKD,QAAQ,GACpBW,OAAO,kBAEMR,KAAK,EAAAmB,MAAA,OACfA,MAAA,SAAAzB,eAAe,CAAC8B,iBAAiB,OAE7B,GAAG,EAAAf,iBAAA,CACH1B,KAAK;YAAA2B,QAAA,EAAEF;UAAO,YAAAe,iBAAA,aAAAA,iBAAA,aAKdf,OAAO,CACP,EAEJ;QAAA;MAAA;IAAA;EAAA;AAKb","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-file.test.d.ts","sourceRoot":"","sources":["../../../../src/components/source-file/source-file.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { ClassDeclaration } from "#components/class/declaration.js";
|
|
3
|
+
import { Namespace } from "#components/namespace.js";
|
|
4
|
+
import { FormatOptions, Indent, Output, Prose } from "@alloy-js/core";
|
|
5
|
+
import { describe, expect, it } from "vitest";
|
|
6
|
+
import { CSharpFormatOptions } from "../../contexts/format-options.js";
|
|
7
|
+
import { SourceFile } from "./source-file.js";
|
|
8
|
+
it("defines multiple source files with unique content", () => {
|
|
9
|
+
expect(_$createComponent(Output, {
|
|
10
|
+
get children() {
|
|
11
|
+
return _$createComponent(Namespace, {
|
|
12
|
+
name: "TestCode",
|
|
13
|
+
get children() {
|
|
14
|
+
return [_$createComponent(SourceFile, {
|
|
15
|
+
path: "Test1.cs",
|
|
16
|
+
get children() {
|
|
17
|
+
return _$createComponent(ClassDeclaration, {
|
|
18
|
+
"public": true,
|
|
19
|
+
name: "TestClass1"
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}), _$createComponent(SourceFile, {
|
|
23
|
+
path: "Test2.cs",
|
|
24
|
+
get children() {
|
|
25
|
+
return _$createComponent(ClassDeclaration, {
|
|
26
|
+
"public": true,
|
|
27
|
+
name: "TestClass2"
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
})];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
})).toRenderTo({
|
|
35
|
+
"Test1.cs": `
|
|
36
|
+
namespace TestCode;
|
|
37
|
+
|
|
38
|
+
public class TestClass1;
|
|
39
|
+
`,
|
|
40
|
+
"Test2.cs": `
|
|
41
|
+
namespace TestCode;
|
|
42
|
+
|
|
43
|
+
public class TestClass2;
|
|
44
|
+
`
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe("format options", () => {
|
|
48
|
+
function FileWithFormatOptions(props) {
|
|
49
|
+
return _$createComponent(CSharpFormatOptions, {
|
|
50
|
+
get value() {
|
|
51
|
+
return props.options;
|
|
52
|
+
},
|
|
53
|
+
get children() {
|
|
54
|
+
return _$createComponent(SourceFile, {
|
|
55
|
+
path: "hi.cs",
|
|
56
|
+
get children() {
|
|
57
|
+
return props.children;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
it("respect tabWidth", () => {
|
|
64
|
+
expect(_$createComponent(FileWithFormatOptions, {
|
|
65
|
+
options: {
|
|
66
|
+
tabWidth: 5
|
|
67
|
+
},
|
|
68
|
+
get children() {
|
|
69
|
+
return ["hello", _$createComponent(Indent, {
|
|
70
|
+
children: "indented 5 spaces"
|
|
71
|
+
})];
|
|
72
|
+
}
|
|
73
|
+
})).toRenderTo(`
|
|
74
|
+
hello
|
|
75
|
+
indented 5 spaces
|
|
76
|
+
`);
|
|
77
|
+
});
|
|
78
|
+
it("respect useTabs", () => {
|
|
79
|
+
expect(_$createComponent(FileWithFormatOptions, {
|
|
80
|
+
options: {
|
|
81
|
+
useTabs: true
|
|
82
|
+
},
|
|
83
|
+
get children() {
|
|
84
|
+
return ["hello", _$createComponent(Indent, {
|
|
85
|
+
children: "indented with tabs"
|
|
86
|
+
})];
|
|
87
|
+
}
|
|
88
|
+
})).toRenderTo(`
|
|
89
|
+
hello
|
|
90
|
+
\tindented with tabs
|
|
91
|
+
`);
|
|
92
|
+
});
|
|
93
|
+
it("respect printWidth", () => {
|
|
94
|
+
expect(_$createComponent(FileWithFormatOptions, {
|
|
95
|
+
options: {
|
|
96
|
+
printWidth: 10
|
|
97
|
+
},
|
|
98
|
+
get children() {
|
|
99
|
+
return _$createComponent(Prose, {
|
|
100
|
+
children: "this is too long"
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
})).toRenderTo(`
|
|
104
|
+
this is
|
|
105
|
+
too long
|
|
106
|
+
`);
|
|
107
|
+
});
|
|
108
|
+
it("CSharpFormatOptions takes precedence over FormatOptions", () => {
|
|
109
|
+
expect(_$createComponent(FormatOptions, {
|
|
110
|
+
value: {
|
|
111
|
+
tabWidth: 5
|
|
112
|
+
},
|
|
113
|
+
get children() {
|
|
114
|
+
return _$createComponent(CSharpFormatOptions, {
|
|
115
|
+
value: {
|
|
116
|
+
tabWidth: 3
|
|
117
|
+
},
|
|
118
|
+
get children() {
|
|
119
|
+
return _$createComponent(SourceFile, {
|
|
120
|
+
path: "hi.cs",
|
|
121
|
+
get children() {
|
|
122
|
+
return ["hello", _$createComponent(Indent, {
|
|
123
|
+
children: "indented 3 spaces"
|
|
124
|
+
})];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
})).toRenderTo(`
|
|
131
|
+
hello
|
|
132
|
+
indented 3 spaces
|
|
133
|
+
`);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=source-file.test.js.map
|
|
@@ -0,0 +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":"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","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CommonFormatOptions } from "@alloy-js/core";
|
|
2
|
+
export interface CSharpFormatOptions extends CommonFormatOptions {
|
|
3
|
+
}
|
|
4
|
+
export declare const CSharpFormatOptions: import("@alloy-js/core").ComponentDefinition<import("@alloy-js/core").ContextProviderProps<CSharpFormatOptions>>, useCsharpFormatOptions: (overrides?: Partial<CSharpFormatOptions> | undefined) => CSharpFormatOptions;
|
|
5
|
+
//# sourceMappingURL=format-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-options.d.ts","sourceRoot":"","sources":["../../../src/contexts/format-options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;CAAG;AAEnE,eAAO,MACK,mBAAmB,oHACX,sBAAsB,+EAIxC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createFormatOptionsContextFor } from "@alloy-js/core";
|
|
2
|
+
export const {
|
|
3
|
+
Provider: CSharpFormatOptions,
|
|
4
|
+
useFormatOptions: useCsharpFormatOptions
|
|
5
|
+
} = createFormatOptionsContextFor("csharp", {
|
|
6
|
+
tabWidth: 4,
|
|
7
|
+
printWidth: 120
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=format-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFormatOptionsContextFor","Provider","CSharpFormatOptions","useFormatOptions","useCsharpFormatOptions","tabWidth","printWidth"],"sources":["../../../src/contexts/format-options.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,6BAA6B,QACxB,gBAAgB;AAIvB,OAAO,MAAM;EACXC,QAAQ,EAAEC,mBAAmB;EAC7BC,gBAAgB,EAAEC;AACpB,CAAC,GAAGJ,6BAA6B,CAAsB,QAAQ,EAAE;EAC/DK,QAAQ,EAAE,CAAC;EACXC,UAAU,EAAE;AACd,CAAC,CAAC","ignoreList":[]}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { OutputScope, OutputScopeOptions } from "@alloy-js/core";
|
|
2
|
+
import type { CSharpSymbol } from "../symbols/csharp.js";
|
|
2
3
|
import { NamespaceSymbol } from "../symbols/namespace.js";
|
|
3
4
|
export declare class CSharpScope extends OutputScope {
|
|
4
5
|
#private;
|
|
5
6
|
constructor(name: string, parent: CSharpScope | undefined, options?: OutputScopeOptions);
|
|
6
7
|
get enclosingNamespace(): NamespaceSymbol | undefined;
|
|
8
|
+
get ownerSymbol(): CSharpSymbol | undefined;
|
|
7
9
|
}
|
|
8
10
|
//# 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,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;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;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OutputScope","CSharpScope","constructor","name","parent","options","namespaceSymbol","enclosingNamespace"],"sources":["../../../src/scopes/csharp.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAA4B,gBAAgB;
|
|
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":[]}
|
|
@@ -14,6 +14,10 @@ export interface CSharpSymbolOptions extends OutputSymbolOptions {
|
|
|
14
14
|
isSealed?: boolean;
|
|
15
15
|
isExtern?: boolean;
|
|
16
16
|
isReadOnly?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the value held by this symbol could be null.
|
|
19
|
+
*/
|
|
20
|
+
isNullable?: boolean;
|
|
17
21
|
}
|
|
18
22
|
export type CSharpSymbolKinds = "symbol" | "named-type" | "method" | "field" | "property" | "namespace" | "event";
|
|
19
23
|
/**
|
|
@@ -70,6 +74,13 @@ export declare class CSharpSymbol extends OutputSymbol {
|
|
|
70
74
|
*/
|
|
71
75
|
get isReadOnly(): boolean;
|
|
72
76
|
set isReadOnly(value: boolean);
|
|
77
|
+
/**
|
|
78
|
+
* Whether this symbol might contain null. True if this symbol has a
|
|
79
|
+
* `typeSymbol` and that symbol is nullable, or else when this symbol has the
|
|
80
|
+
* `nullable` option set.
|
|
81
|
+
*/
|
|
82
|
+
get isNullable(): boolean;
|
|
83
|
+
set isNullable(value: boolean);
|
|
73
84
|
}
|
|
74
85
|
export declare function accessibilityFromProps(props: AccessModifiers): "public" | "protected" | "private" | "internal";
|
|
75
86
|
export declare function nonAccessibilityFromProps(props: NonAccessModifiers): CSharpSymbolOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/symbols/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,WAAW,EACX,YAAY,EACZ,mBAAmB,EAMpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AACZ;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAC5C,SAAgB,UAAU,EAAE,iBAAiB,CAAY;gBAGvD,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,OAAO,GAAE,mBAAwB;
|
|
1
|
+
{"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../../src/symbols/csharp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,WAAW,EACX,YAAY,EACZ,mBAAmB,EAMpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AACZ;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAC5C,SAAgB,UAAU,EAAE,iBAAiB,CAAY;gBAGvD,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,OAAO,GAAE,mBAAwB;IAenC,IAAI,kBAAkB,IAAI,eAAe,GAAG,SAAS,CA4BpD;IAGD,IAAI,aAAa,IAKQ,qBAAqB,GAAG,SAAS,CAFzD;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,EASzD;IAED,IAAI;IAyBJ;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAS1B;IAGD;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAGvB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAS3B;IAID;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAS5B;IAGD;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAS5B;IAGD;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAGtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAS1B;IAGD;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAGtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAS1B;IAGD;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAS5B;IAKD;;;;OAIG;IACH,IAAI,UAAU,IASQ,OAAO,CAF5B;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAS5B;CACF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,mDAQ5D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAUrB"}
|
|
@@ -22,6 +22,7 @@ export class CSharpSymbol extends OutputSymbol {
|
|
|
22
22
|
this.#isSealed = options.isSealed ?? false;
|
|
23
23
|
this.#isExtern = options.isExtern ?? false;
|
|
24
24
|
this.#isReadOnly = options.isReadOnly ?? false;
|
|
25
|
+
this.#isNullable = options.isNullable; // undefined means unset, here.
|
|
25
26
|
}
|
|
26
27
|
get enclosingNamespace() {
|
|
27
28
|
if (this.spaces.length === 0) {
|
|
@@ -200,6 +201,28 @@ export class CSharpSymbol extends OutputSymbol {
|
|
|
200
201
|
trigger(this, TriggerOpTypes.SET, "isReadOnly", value, old);
|
|
201
202
|
}
|
|
202
203
|
#isReadOnly = false;
|
|
204
|
+
#isNullable = undefined;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Whether this symbol might contain null. True if this symbol has a
|
|
208
|
+
* `typeSymbol` and that symbol is nullable, or else when this symbol has the
|
|
209
|
+
* `nullable` option set.
|
|
210
|
+
*/
|
|
211
|
+
get isNullable() {
|
|
212
|
+
if (this.hasTypeSymbol && this.#isNullable === undefined) {
|
|
213
|
+
return this.type.isNullable;
|
|
214
|
+
}
|
|
215
|
+
track(this, TrackOpTypes.GET, "isNullable");
|
|
216
|
+
return !!this.#isNullable;
|
|
217
|
+
}
|
|
218
|
+
set isNullable(value) {
|
|
219
|
+
const old = this.#isNullable;
|
|
220
|
+
if (old === value) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
this.#isNullable = value;
|
|
224
|
+
trigger(this, TriggerOpTypes.SET, "isNullable", value, old);
|
|
225
|
+
}
|
|
203
226
|
}
|
|
204
227
|
export function accessibilityFromProps(props) {
|
|
205
228
|
for (const key of ["public", "internal", "protected", "private"]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OutputDeclarationSpace","OutputMemberSpace","OutputSymbol","track","TrackOpTypes","trigger","TriggerOpTypes","watch","CSharpSymbol","symbolKind","constructor","name","spaces","options","accessibility","isAbstract","isVirtual","isStatic","isOverride","isSealed","isExtern","isReadOnly","enclosingNamespace","length","undefined","firstSpace","symbol","scope","Error","GET","value","old","SET","copy","getCopyOptions","initializeCopy","newAccessibility","accessibilityFromProps","props","key","nonAccessibilityFromProps","override","abstract","virtual","static","sealed","extern","readOnly"],"sources":["../../../src/symbols/csharp.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,sBAAsB,EACtBC,iBAAiB,EAEjBC,YAAY,EAEZC,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,EACdC,KAAK,QACA,gBAAgB;
|
|
1
|
+
{"version":3,"names":["OutputDeclarationSpace","OutputMemberSpace","OutputSymbol","track","TrackOpTypes","trigger","TriggerOpTypes","watch","CSharpSymbol","symbolKind","constructor","name","spaces","options","accessibility","isAbstract","isVirtual","isStatic","isOverride","isSealed","isExtern","isReadOnly","isNullable","enclosingNamespace","length","undefined","firstSpace","symbol","scope","Error","GET","value","old","SET","copy","getCopyOptions","initializeCopy","newAccessibility","hasTypeSymbol","type","accessibilityFromProps","props","key","nonAccessibilityFromProps","override","abstract","virtual","static","sealed","extern","readOnly"],"sources":["../../../src/symbols/csharp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { OutputSymbol, Refkey } from "@alloy-js/core";
|
|
2
|
-
export declare function ref(refkey: Refkey): () => [
|
|
1
|
+
import { Children, OutputSymbol, Refkey } from "@alloy-js/core";
|
|
2
|
+
export declare function ref(refkey: Refkey): () => [Children, OutputSymbol | undefined];
|
|
3
3
|
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/symbols/reference.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAQ,YAAY,EAAE,MAAM,EAAW,MAAM,gBAAgB,CAAC;AAW/E,wBAAgB,GAAG,CACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC,CAiD5C"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { AccessExpression } from "#components/access-expression/access-expression.js";
|
|
1
3
|
import { memo, resolve } from "@alloy-js/core";
|
|
2
4
|
import { CSharpNamespaceScope } from "../scopes/namespace.js";
|
|
3
5
|
import { useSourceFileScope } from "../scopes/source-file.js";
|
|
@@ -21,7 +23,6 @@ export function ref(refkey) {
|
|
|
21
23
|
let {
|
|
22
24
|
lexicalDeclaration
|
|
23
25
|
} = result;
|
|
24
|
-
const parts = [];
|
|
25
26
|
if (!commonScope) {
|
|
26
27
|
// this shouldn't be possible in csharp.
|
|
27
28
|
return ["<Unresolved Symbol>", undefined];
|
|
@@ -35,14 +36,25 @@ export function ref(refkey) {
|
|
|
35
36
|
}
|
|
36
37
|
refSfScope.addUsing(nsToUse);
|
|
37
38
|
}
|
|
39
|
+
const parts = [];
|
|
38
40
|
for (const nsScope of pathDown) {
|
|
39
|
-
parts.push(
|
|
41
|
+
parts.push(_$createComponent(AccessExpression.Part, {
|
|
42
|
+
get symbol() {
|
|
43
|
+
return nsScope.ownerSymbol;
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
40
46
|
}
|
|
41
|
-
parts.push(
|
|
47
|
+
parts.push(_$createComponent(AccessExpression.Part, {
|
|
48
|
+
symbol: lexicalDeclaration
|
|
49
|
+
}));
|
|
42
50
|
for (const member of memberPath) {
|
|
43
|
-
parts.push(
|
|
51
|
+
parts.push(_$createComponent(AccessExpression.Part, {
|
|
52
|
+
symbol: member
|
|
53
|
+
}));
|
|
44
54
|
}
|
|
45
|
-
return [
|
|
55
|
+
return [_$createComponent(AccessExpression, {
|
|
56
|
+
children: parts
|
|
57
|
+
}), result.symbol];
|
|
46
58
|
});
|
|
47
59
|
}
|
|
48
60
|
//# sourceMappingURL=reference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","resolve","CSharpNamespaceScope","useSourceFileScope","ref","refkey","refSfScope","resolveResult","value","undefined","result","commonScope","pathDown","memberPath","lexicalDeclaration","
|
|
1
|
+
{"version":3,"names":["AccessExpression","memo","resolve","CSharpNamespaceScope","useSourceFileScope","ref","refkey","refSfScope","resolveResult","value","undefined","result","commonScope","pathDown","memberPath","lexicalDeclaration","ownerSymbol","isGlobal","symbolKind","length","nsToUse","shift","addUsing","parts","nsScope","push","_$createComponent","Part","symbol","member","children"],"sources":["../../../src/symbols/reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,gBAAgB;AACzB,SAAmBC,IAAI,EAAwBC,OAAO,QAAQ,gBAAgB;AAE9E,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,kBAAkB,QAAQ,0BAA0B;AAI7D;AACA;AACA;AACA;AACA,OAAO,SAASC,GAAGA,CACjBC,MAAc,EAC8B;EAC5C,MAAMC,UAAU,GAAGH,kBAAkB,CAAC,CAAE;EACxC,MAAMI,aAAa,GAAGN,OAAO,CAA4BI,MAAgB,CAAC;EAC1E,OAAOL,IAAI,CAAC,MAAM;IAChB,IAAIO,aAAa,CAACC,KAAK,KAAKC,SAAS,EAAE;MACrC,OAAO,CAAC,qBAAqB,EAAEA,SAAS,CAAC;IAC3C;IAEA,MAAMC,MAAM,GAAGH,aAAa,CAACC,KAAK;IAClC,MAAM;MAAEG,WAAW;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGH,MAAM;IACpD,IAAI;MAAEI;IAAmB,CAAC,GAAGJ,MAAM;IAEnC,IAAI,CAACC,WAAW,EAAE;MAChB;MACA,OAAO,CAAC,qBAAqB,EAAEF,SAAS,CAAC;IAC3C;IAEA,IACEE,WAAW,YAAYT,oBAAoB,IAC3CS,WAAW,CAACI,WAAW,CAACC,QAAQ,IAChCF,kBAAkB,CAACG,UAAU,KAAK,WAAW,IAC7CJ,UAAU,CAACK,MAAM,GAAG,CAAC,EACrB;MACA;MACA,IAAIC,OAAwB;MAC5B,OACEL,kBAAkB,CAACG,UAAU,KAAK,WAAW,IAC7CJ,UAAU,CAACK,MAAM,GAAG,CAAC,EACrB;QACAC,OAAO,GAAGL,kBAAqC;QAC/CA,kBAAkB,GAAGD,UAAU,CAACO,KAAK,CAAC,CAAE;MAC1C;MAEAd,UAAU,CAACe,QAAQ,CAACF,OAAQ,CAAC;IAC/B;IAEA,MAAMG,KAAK,GAAG,EAAE;IAEhB,KAAK,MAAMC,OAAO,IAAIX,QAAQ,EAAE;MAC9BU,KAAK,CAACE,IAAI,CAAAC,iBAAA,CAAE1B,gBAAgB,CAAC2B,IAAI;QAAA,IAACC,MAAMA,CAAA;UAAA,OAAEJ,OAAO,CAACR,WAAW;QAAA;MAAA,EAAK,CAAC;IACrE;IAEAO,KAAK,CAACE,IAAI,CAAAC,iBAAA,CAAE1B,gBAAgB,CAAC2B,IAAI;MAACC,MAAM,EAAEb;IAAkB,EAAI,CAAC;IACjE,KAAK,MAAMc,MAAM,IAAIf,UAAU,EAAE;MAC/BS,KAAK,CAACE,IAAI,CAAAC,iBAAA,CAAE1B,gBAAgB,CAAC2B,IAAI;QAACC,MAAM,EAAEC;MAAM,EAAI,CAAC;IACvD;IAEA,OAAO,CAAAH,iBAAA,CAAE1B,gBAAgB;MAAC8B,QAAQ,EAAEP;IAAK,IAAMZ,MAAM,CAACiB,MAAM,CAAC;EAC/D,CAAC,CAAC;AACJ","ignoreList":[]}
|