@alloy-js/csharp 0.20.0-dev.6 → 0.20.0-dev.8

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.
Files changed (61) hide show
  1. package/dist/src/components/access-expression/access-expression.d.ts +54 -0
  2. package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
  3. package/dist/src/components/access-expression/access-expression.js +277 -0
  4. package/dist/src/components/access-expression/access-expression.js.map +1 -0
  5. package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
  6. package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
  7. package/dist/src/components/access-expression/access-expression.test.js +336 -0
  8. package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
  9. package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
  10. package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
  11. package/dist/src/components/access-expression/part-descriptors.js +99 -0
  12. package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
  13. package/dist/src/components/index.d.ts +1 -0
  14. package/dist/src/components/index.d.ts.map +1 -1
  15. package/dist/src/components/index.js +1 -0
  16. package/dist/src/components/index.js.map +1 -1
  17. package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
  18. package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
  19. package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
  20. package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
  21. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
  22. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
  23. package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
  24. package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  25. package/dist/src/components/parameters/parameters.d.ts +1 -2
  26. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  27. package/dist/src/components/parameters/parameters.js +2 -1
  28. package/dist/src/components/parameters/parameters.js.map +1 -1
  29. package/dist/src/components/parameters/parameters.test.js +66 -0
  30. package/dist/src/components/parameters/parameters.test.js.map +1 -1
  31. package/dist/src/components/property/property.d.ts +2 -2
  32. package/dist/src/components/property/property.d.ts.map +1 -1
  33. package/dist/src/components/property/property.js +10 -3
  34. package/dist/src/components/property/property.js.map +1 -1
  35. package/dist/src/scopes/csharp.d.ts +2 -0
  36. package/dist/src/scopes/csharp.d.ts.map +1 -1
  37. package/dist/src/scopes/csharp.js +3 -0
  38. package/dist/src/scopes/csharp.js.map +1 -1
  39. package/dist/src/symbols/csharp.d.ts +11 -0
  40. package/dist/src/symbols/csharp.d.ts.map +1 -1
  41. package/dist/src/symbols/csharp.js +23 -0
  42. package/dist/src/symbols/csharp.js.map +1 -1
  43. package/dist/src/symbols/reference.d.ts +2 -2
  44. package/dist/src/symbols/reference.d.ts.map +1 -1
  45. package/dist/src/symbols/reference.js +17 -5
  46. package/dist/src/symbols/reference.js.map +1 -1
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +2 -2
  49. package/src/components/access-expression/access-expression.test.tsx +284 -0
  50. package/src/components/access-expression/access-expression.tsx +375 -0
  51. package/src/components/access-expression/part-descriptors.ts +175 -0
  52. package/src/components/index.ts +1 -0
  53. package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
  54. package/src/components/invocation-expression/invocation-expression.tsx +60 -0
  55. package/src/components/parameters/parameters.test.tsx +46 -0
  56. package/src/components/parameters/parameters.tsx +2 -2
  57. package/src/components/property/property.tsx +8 -2
  58. package/src/scopes/csharp.ts +5 -0
  59. package/src/symbols/csharp.ts +32 -0
  60. package/src/symbols/{reference.ts → reference.tsx} +11 -9
  61. package/temp/api.json +268 -33
@@ -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","type","nullable","newline","inline","joiner","get","initializer"],"sources":["../../../../src/components/property/property.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAELC,IAAI,EACJC,IAAI,EACJC,iBAAiB,EACjBC,UAAU,QAEL,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,cAAc,GAAGN,oBAAoB,CAACK,KAAK,CAACE,IAAI,EAAE;IACtDC,OAAO,EAAEH,KAAK,CAACI;EACjB,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGb,sBAAsB,CAAC,CACvCC,iBAAiB,CAACO,KAAK,CAAC,EACxBF,YAAY,CAACE,KAAK,CAAC,CACpB,CAAC;EAEF,IAAIA,KAAK,CAACM,IAAI,IAAIN,KAAK,CAACO,GAAG,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,qDAAqDN,IAAI,GAC3D,CAAC;EACH;EACA;EACA,OAAAO,iBAAA,CACGnB,iBAAiB;IAACoB,MAAM,EAAET,cAAc;IAAA,IAAAU,SAAA;MAAA,QAAAF,iBAAA,CACtCZ,OAAO;QAAA,IAACe,GAAGA,CAAA;UAAA,OAAEZ,KAAK,CAACY,GAAG;QAAA;MAAA,IAAAH,iBAAA,CACtBb,aAAa;QAAA,IAACiB,UAAUA,CAAA;UAAA,OAAEb,KAAK,CAACa,UAAU;QAAA;QAAEC,OAAO;MAAA,IACnDT,SAAS,EAAAU,MAAA,OACTf,KAAK,CAACgB,IAAI,GAAAD,MAAA,OACVf,KAAK,CAACiB,QAAQ,IAAI,GAAG,QAAAR,iBAAA,CAAGlB,UAAU,OAAI,GAAG,EAAAkB,iBAAA,CACzCtB,KAAK;QAAC+B,OAAO;QAACC,MAAM;QAAA,IAAAR,SAAA;UAAA,OAAAF,iBAAA,CAClBpB,IAAI;YAAC+B,MAAM;YAAA,IAAAT,SAAA;cAAA,QAAAI,MAAA,OACTf,KAAK,CAACqB,GAAG,IAAI,MAAM,GAAAN,MAAA,OACnBf,KAAK,CAACO,GAAG,IAAI,MAAM,GAAAQ,MAAA,OACnBf,KAAK,CAACM,IAAI,IAAI,OAAO;YAAA;UAAA;QAAA;MAAA,IAAAS,MAAA,OAGzBf,KAAK,CAACsB,WAAW,IAAIlC,IAAI,MAAMY,KAAK,CAACsB,WAAW,GAAG;IAAA;EAAA;AAG1D","ignoreList":[]}
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,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"}
@@ -8,5 +8,8 @@ export class CSharpScope extends OutputScope {
8
8
  get enclosingNamespace() {
9
9
  return this.#namespaceSymbol;
10
10
  }
11
+ get ownerSymbol() {
12
+ return super.ownerSymbol;
13
+ }
11
14
  }
12
15
  //# sourceMappingURL=csharp.js.map
@@ -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;AAGhE,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;AACF","ignoreList":[]}
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;IAcnC,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;CAEF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,mDAQ5D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAUrB"}
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":"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","ignoreList":[]}
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":"AAAA,SAEEA,sBAAsB,EACtBC,iBAAiB,EAEjBC,YAAY,EAEZC,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,EACdC,KAAK,QACA,gBAAgB;AAqCvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASN,YAAY,CAAC;EAC7BO,UAAU,GAAsB,QAAQ;EAExDC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,OAA4B,GAAG,CAAC,CAAC,EACjC;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAE5B,IAAI,CAAC,CAACC,aAAa,GAAGD,OAAO,CAACC,aAAa;IAC3C,IAAI,CAAC,CAACC,UAAU,GAAGF,OAAO,CAACE,UAAU,IAAI,KAAK;IAC9C,IAAI,CAAC,CAACC,SAAS,GAAGH,OAAO,CAACG,SAAS,IAAI,KAAK;IAC5C,IAAI,CAAC,CAACC,QAAQ,GAAGJ,OAAO,CAACI,QAAQ,IAAI,KAAK;IAC1C,IAAI,CAAC,CAACC,UAAU,GAAGL,OAAO,CAACK,UAAU,IAAI,KAAK;IAC9C,IAAI,CAAC,CAACC,QAAQ,GAAGN,OAAO,CAACM,QAAQ,IAAI,KAAK;IAC1C,IAAI,CAAC,CAACC,QAAQ,GAAGP,OAAO,CAACO,QAAQ,IAAI,KAAK;IAC1C,IAAI,CAAC,CAACC,UAAU,GAAGR,OAAO,CAACQ,UAAU,IAAI,KAAK;IAC9C,IAAI,CAAC,CAACC,UAAU,GAAGT,OAAO,CAACS,UAAU,CAAC,CAAC;EACzC;EAEA,IAAIC,kBAAkBA,CAAA,EAAgC;IACpD,IAAI,IAAI,CAACX,MAAM,CAACY,MAAM,KAAK,CAAC,EAAE;MAC5B,OAAOC,SAAS;IAClB;;IAEA;IACA;IACA,MAAMC,UAAU,GAAG,IAAI,CAACd,MAAM,CAAC,CAAC,CAAC;IAEjC,IAAIc,UAAU,YAAYzB,iBAAiB,EAAE;MAC3C;MACA;;MAEA,IAAIyB,UAAU,CAACC,MAAM,CAACjB,WAAW,CAACC,IAAI,KAAK,iBAAiB,EAAE;QAC5D;QACA;QACA,OAAOe,UAAU,CAACC,MAAM;MAC1B;MAEA,OAAQD,UAAU,CAACC,MAAM,CAAkBJ,kBAAkB;IAC/D,CAAC,MAAM,IAAIG,UAAU,YAAY1B,sBAAsB,EAAE;MACvD;MACA;MACA,OAAQ0B,UAAU,CAACE,KAAK,CAAiBL,kBAAkB;IAC7D;IACA,MAAM,IAAIM,KAAK,CAAC,uCAAuC,CAAC;IAExD,OAAOJ,SAAS;EAClB;EAEA,CAACX,aAAa;EACd,IAAIA,aAAaA,CAAA,EAAG;IAClBX,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,eAAe,CAAC;IAC9C,OAAO,IAAI,CAAC,CAAChB,aAAa;EAC5B;EAEA,IAAIA,aAAaA,CAACiB,KAAwC,EAAE;IAC1D,MAAMC,GAAG,GAAG,IAAI,CAAC,CAAClB,aAAa;IAC/B,IAAIkB,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACjB,aAAa,GAAGiB,KAAK;IAE3B1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,eAAe,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAChE;EAEAE,IAAIA,CAAA,EAAG;IACL,MAAMrB,OAAO,GAAG,IAAI,CAACsB,cAAc,CAAC,CAAC;IACrC,MAAMD,IAAI,GAAG,IAAI1B,YAAY,CAAC,IAAI,CAACG,IAAI,EAAEc,SAAS,EAAE;MAClD,GAAGZ,OAAO;MACVC,aAAa,EAAE,IAAI,CAAC,CAACA,aAAa;MAClCG,QAAQ,EAAE,IAAI,CAAC,CAACA,QAAQ;MACxBD,SAAS,EAAE,IAAI,CAAC,CAACA,SAAS;MAC1BD,UAAU,EAAE,IAAI,CAAC,CAACA,UAAU;MAC5BG,UAAU,EAAE,IAAI,CAAC,CAACA,UAAU;MAC5BC,QAAQ,EAAE,IAAI,CAAC,CAACA,QAAQ;MACxBC,QAAQ,EAAE,IAAI,CAAC,CAACA,QAAQ;MACxBC,UAAU,EAAE,IAAI,CAAC,CAACA;IACpB,CAAC,CAAC;IACF,IAAI,CAACe,cAAc,CAACF,IAAI,CAAC;IAEzB3B,KAAK,CACH,MAAM,IAAI,CAACO,aAAa,EACvBuB,gBAAgB,IAAK;MACpBH,IAAI,CAACpB,aAAa,GAAGuB,gBAAgB;IACvC,CACF,CAAC;IAED,OAAOH,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIjB,QAAQA,CAAA,EAAY;IACtBd,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACb,QAAQ;EACvB;EAEA,IAAIA,QAAQA,CAACc,KAAc,EAAE;IAC3B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACf,QAAQ;IAC1B,IAAIe,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACd,QAAQ,GAAGc,KAAK;IAEtB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,UAAU,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC3D;EACA,CAACf,QAAQ,GAAY,KAAK;;EAE1B;AACF;AACA;EACE,IAAID,SAASA,CAAA,EAAY;IACvBb,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,WAAW,CAAC;IAC1C,OAAO,IAAI,CAAC,CAACd,SAAS;EACxB;EACA,IAAIA,SAASA,CAACe,KAAc,EAAE;IAC5B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAAChB,SAAS;IAC3B,IAAIgB,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACf,SAAS,GAAGe,KAAK;IAEvB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,WAAW,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC5D;EAEA,CAAChB,SAAS,GAAY,KAAK;;EAE3B;AACF;AACA;EACE,IAAID,UAAUA,CAAA,EAAY;IACxBZ,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,YAAY,CAAC;IAC3C,OAAO,IAAI,CAAC,CAACf,UAAU;EACzB;EACA,IAAIA,UAAUA,CAACgB,KAAc,EAAE;IAC7B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACjB,UAAU;IAC5B,IAAIiB,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAAChB,UAAU,GAAGgB,KAAK;IAExB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,YAAY,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC7D;EACA,CAACjB,UAAU,GAAY,KAAK;;EAE5B;AACF;AACA;EACE,IAAIG,UAAUA,CAAA,EAAY;IACxBf,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,YAAY,CAAC;IAC3C,OAAO,IAAI,CAAC,CAACZ,UAAU;EACzB;EACA,IAAIA,UAAUA,CAACa,KAAc,EAAE;IAC7B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACd,UAAU;IAC5B,IAAIc,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACb,UAAU,GAAGa,KAAK;IAExB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,YAAY,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC7D;EACA,CAACd,UAAU,GAAY,KAAK;;EAE5B;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAY;IACtBhB,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACX,QAAQ;EACvB;EACA,IAAIA,QAAQA,CAACY,KAAc,EAAE;IAC3B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACb,QAAQ;IAC1B,IAAIa,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACZ,QAAQ,GAAGY,KAAK;IAEtB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,UAAU,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC3D;EACA,CAACb,QAAQ,GAAY,KAAK;;EAE1B;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAY;IACtBjB,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACV,QAAQ;EACvB;EACA,IAAIA,QAAQA,CAACW,KAAc,EAAE;IAC3B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACZ,QAAQ;IAC1B,IAAIY,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACX,QAAQ,GAAGW,KAAK;IAEtB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,UAAU,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC3D;EACA,CAACZ,QAAQ,GAAY,KAAK;;EAE1B;AACF;AACA;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxBlB,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,YAAY,CAAC;IAC3C,OAAO,IAAI,CAAC,CAACT,UAAU;EACzB;EACA,IAAIA,UAAUA,CAACU,KAAc,EAAE;IAC7B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACX,UAAU;IAC5B,IAAIW,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACV,UAAU,GAAGU,KAAK;IAExB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,YAAY,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC7D;EACA,CAACX,UAAU,GAAY,KAAK;EAE5B,CAACC,UAAU,GAAwBG,SAAS;;EAE5C;AACF;AACA;AACA;AACA;EACE,IAAIH,UAAUA,CAAA,EAAG;IACf,IAAI,IAAI,CAACgB,aAAa,IAAI,IAAI,CAAC,CAAChB,UAAU,KAAKG,SAAS,EAAE;MACxD,OAAQ,IAAI,CAACc,IAAI,CAAmBjB,UAAU;IAChD;IAEAnB,KAAK,CAAC,IAAI,EAAEC,YAAY,CAAC0B,GAAG,EAAE,YAAY,CAAC;IAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,CAACR,UAAU;EAC3B;EAEA,IAAIA,UAAUA,CAACS,KAAc,EAAE;IAC7B,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACV,UAAU;IAC5B,IAAIU,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IAEA,IAAI,CAAC,CAACT,UAAU,GAAGS,KAAK;IAExB1B,OAAO,CAAC,IAAI,EAAEC,cAAc,CAAC2B,GAAG,EAAE,YAAY,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC7D;AACF;AAEA,OAAO,SAASQ,sBAAsBA,CAACC,KAAsB,EAAE;EAC7D,KAAK,MAAMC,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,EAAW;IACzE,IAAID,KAAK,CAACC,GAAG,CAAC,EAAE;MACd,OAAOA,GAAG;IACZ;EACF;EAEA,OAAO,SAAS;AAClB;AAEA,OAAO,SAASC,yBAAyBA,CACvCF,KAAyB,EACJ;EACrB,OAAO;IACLvB,UAAU,EAAEuB,KAAK,CAACG,QAAQ,IAAI,KAAK;IACnC7B,UAAU,EAAE0B,KAAK,CAACI,QAAQ,IAAI,KAAK;IACnC7B,SAAS,EAAEyB,KAAK,CAACK,OAAO,IAAI,KAAK;IACjC7B,QAAQ,EAAEwB,KAAK,CAACM,MAAM,IAAI,KAAK;IAC/B5B,QAAQ,EAAEsB,KAAK,CAACO,MAAM,IAAI,KAAK;IAC/B5B,QAAQ,EAAEqB,KAAK,CAACQ,MAAM,IAAI,KAAK;IAC/B5B,UAAU,EAAEoB,KAAK,CAACS,QAAQ,IAAI;EAChC,CAAC;AACH","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import { OutputSymbol, Refkey } from "@alloy-js/core";
2
- export declare function ref(refkey: Refkey): () => [string, OutputSymbol | undefined];
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.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,YAAY,EAAE,MAAM,EAAW,MAAM,gBAAgB,CAAC;AAWrE,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAkD5E"}
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(nsScope.ownerSymbol.name);
41
+ parts.push(_$createComponent(AccessExpression.Part, {
42
+ get symbol() {
43
+ return nsScope.ownerSymbol;
44
+ }
45
+ }));
40
46
  }
41
- parts.push(lexicalDeclaration.name);
47
+ parts.push(_$createComponent(AccessExpression.Part, {
48
+ symbol: lexicalDeclaration
49
+ }));
42
50
  for (const member of memberPath) {
43
- parts.push(member.name);
51
+ parts.push(_$createComponent(AccessExpression.Part, {
52
+ symbol: member
53
+ }));
44
54
  }
45
- return [parts.join("."), result.symbol];
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","parts","ownerSymbol","isGlobal","symbolKind","length","nsToUse","shift","addUsing","nsScope","push","name","member","join","symbol"],"sources":["../../../src/symbols/reference.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,EAAwBC,OAAO,QAAQ,gBAAgB;AAEpE,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,kBAAkB,QAAQ,0BAA0B;AAI7D;AACA;AACA;AACA;AACA,OAAO,SAASC,GAAGA,CAACC,MAAc,EAA4C;EAC5E,MAAMC,UAAU,GAAGH,kBAAkB,CAAC,CAAE;EACxC,MAAMI,aAAa,GAAGN,OAAO,CAA4BI,MAAgB,CAAC;EAE1E,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,MAAMK,KAAK,GAAG,EAAE;IAChB,IAAI,CAACJ,WAAW,EAAE;MAChB;MACA,OAAO,CAAC,qBAAqB,EAAEF,SAAS,CAAC;IAC3C;IAEA,IACEE,WAAW,YAAYT,oBAAoB,IAC3CS,WAAW,CAACK,WAAW,CAACC,QAAQ,IAChCH,kBAAkB,CAACI,UAAU,KAAK,WAAW,IAC7CL,UAAU,CAACM,MAAM,GAAG,CAAC,EACrB;MACA;MACA,IAAIC,OAAwB;MAC5B,OACEN,kBAAkB,CAACI,UAAU,KAAK,WAAW,IAC7CL,UAAU,CAACM,MAAM,GAAG,CAAC,EACrB;QACAC,OAAO,GAAGN,kBAAqC;QAC/CA,kBAAkB,GAAGD,UAAU,CAACQ,KAAK,CAAC,CAAE;MAC1C;MAEAf,UAAU,CAACgB,QAAQ,CAACF,OAAQ,CAAC;IAC/B;IAEA,KAAK,MAAMG,OAAO,IAAIX,QAAQ,EAAE;MAC9BG,KAAK,CAACS,IAAI,CAACD,OAAO,CAACP,WAAW,CAAES,IAAI,CAAC;IACvC;IAEAV,KAAK,CAACS,IAAI,CAACV,kBAAkB,CAACW,IAAI,CAAC;IAEnC,KAAK,MAAMC,MAAM,IAAIb,UAAU,EAAE;MAC/BE,KAAK,CAACS,IAAI,CAACE,MAAM,CAACD,IAAI,CAAC;IACzB;IAEA,OAAO,CAACV,KAAK,CAACY,IAAI,CAAC,GAAG,CAAC,EAAEjB,MAAM,CAACkB,MAAM,CAAC;EACzC,CAAC,CAAC;AACJ","ignoreList":[]}
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":[]}