@alloy-js/csharp 0.20.0-dev.0 → 0.20.0-dev.10

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 (399) hide show
  1. package/dist/src/components/Declaration.d.ts +2 -2
  2. package/dist/src/components/Declaration.d.ts.map +1 -1
  3. package/dist/src/components/Declaration.js +5 -14
  4. package/dist/src/components/Declaration.js.map +1 -0
  5. package/dist/src/components/Name.js +2 -1
  6. package/dist/src/components/Name.js.map +1 -0
  7. package/dist/src/components/ProjectDirectory.js +2 -1
  8. package/dist/src/components/ProjectDirectory.js.map +1 -0
  9. package/dist/src/components/Reference.d.ts.map +1 -1
  10. package/dist/src/components/Reference.js +7 -2
  11. package/dist/src/components/Reference.js.map +1 -0
  12. package/dist/src/components/UsingDirective.d.ts +5 -1
  13. package/dist/src/components/UsingDirective.d.ts.map +1 -1
  14. package/dist/src/components/UsingDirective.js +5 -2
  15. package/dist/src/components/UsingDirective.js.map +1 -0
  16. package/dist/src/components/access-expression/access-expression.d.ts +54 -0
  17. package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
  18. package/dist/src/components/access-expression/access-expression.js +277 -0
  19. package/dist/src/components/access-expression/access-expression.js.map +1 -0
  20. package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
  21. package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
  22. package/dist/src/components/access-expression/access-expression.test.js +336 -0
  23. package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
  24. package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
  25. package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
  26. package/dist/src/components/access-expression/part-descriptors.js +99 -0
  27. package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
  28. package/dist/src/components/attributes/attributes.js +2 -1
  29. package/dist/src/components/attributes/attributes.js.map +1 -0
  30. package/dist/src/components/attributes/attributes.test.js +2 -1
  31. package/dist/src/components/attributes/attributes.test.js.map +1 -0
  32. package/dist/src/components/{ClassDeclaration.d.ts → class/declaration.d.ts} +30 -12
  33. package/dist/src/components/class/declaration.d.ts.map +1 -0
  34. package/dist/src/components/class/declaration.js +87 -0
  35. package/dist/src/components/class/declaration.js.map +1 -0
  36. package/dist/src/components/class/declaration.test.d.ts +2 -0
  37. package/dist/src/components/class/declaration.test.d.ts.map +1 -0
  38. package/dist/src/components/class/declaration.test.js +573 -0
  39. package/dist/src/components/class/declaration.test.js.map +1 -0
  40. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  41. package/dist/src/components/constructor/constructor.js +13 -20
  42. package/dist/src/components/constructor/constructor.js.map +1 -0
  43. package/dist/src/components/constructor/constructor.test.js +13 -21
  44. package/dist/src/components/constructor/constructor.test.js.map +1 -0
  45. package/dist/src/components/doc/comment.js +2 -1
  46. package/dist/src/components/doc/comment.js.map +1 -0
  47. package/dist/src/components/doc/comment.test.js +2 -1
  48. package/dist/src/components/doc/comment.test.js.map +1 -0
  49. package/dist/src/components/doc/from-markdown.js +2 -1
  50. package/dist/src/components/doc/from-markdown.js.map +1 -0
  51. package/dist/src/components/doc/from-markdown.test.js +2 -1
  52. package/dist/src/components/doc/from-markdown.test.js.map +1 -0
  53. package/dist/src/components/{EnumDeclaration.d.ts → enum/declaration.d.ts} +6 -11
  54. package/dist/src/components/enum/declaration.d.ts.map +1 -0
  55. package/dist/src/components/enum/declaration.js +55 -0
  56. package/dist/src/components/enum/declaration.js.map +1 -0
  57. package/dist/src/components/enum/declaration.ref.test.d.ts +2 -0
  58. package/dist/src/components/enum/declaration.ref.test.d.ts.map +1 -0
  59. package/dist/src/components/enum/declaration.ref.test.js +121 -0
  60. package/dist/src/components/enum/declaration.ref.test.js.map +1 -0
  61. package/dist/src/components/enum/declaration.test.d.ts +2 -0
  62. package/dist/src/components/enum/declaration.test.d.ts.map +1 -0
  63. package/dist/src/components/enum/declaration.test.js +40 -0
  64. package/dist/src/components/enum/declaration.test.js.map +1 -0
  65. package/dist/src/components/enum/member.d.ts +7 -0
  66. package/dist/src/components/enum/member.d.ts.map +1 -0
  67. package/dist/src/components/enum/member.js +30 -0
  68. package/dist/src/components/enum/member.js.map +1 -0
  69. package/dist/src/components/enum/member.test.d.ts +2 -0
  70. package/dist/src/components/enum/member.test.d.ts.map +1 -0
  71. package/dist/src/components/enum/member.test.js +29 -0
  72. package/dist/src/components/enum/member.test.js.map +1 -0
  73. package/dist/src/components/field/field.d.ts.map +1 -1
  74. package/dist/src/components/field/field.js +11 -18
  75. package/dist/src/components/field/field.js.map +1 -0
  76. package/dist/src/components/field/field.test.js +10 -9
  77. package/dist/src/components/field/field.test.js.map +1 -0
  78. package/dist/src/components/index.d.ts +8 -4
  79. package/dist/src/components/index.d.ts.map +1 -1
  80. package/dist/src/components/index.js +10 -5
  81. package/dist/src/components/index.js.map +1 -0
  82. package/dist/src/components/interface/declaration.d.ts.map +1 -1
  83. package/dist/src/components/interface/declaration.js +21 -22
  84. package/dist/src/components/interface/declaration.js.map +1 -0
  85. package/dist/src/components/interface/declaration.test.js +28 -36
  86. package/dist/src/components/interface/declaration.test.js.map +1 -0
  87. package/dist/src/components/interface/method.d.ts.map +1 -1
  88. package/dist/src/components/interface/method.js +9 -19
  89. package/dist/src/components/interface/method.js.map +1 -0
  90. package/dist/src/components/interface/method.test.js +40 -48
  91. package/dist/src/components/interface/method.test.js.map +1 -0
  92. package/dist/src/components/interface/property.d.ts.map +1 -1
  93. package/dist/src/components/interface/property.js +23 -40
  94. package/dist/src/components/interface/property.js.map +1 -0
  95. package/dist/src/components/interface/property.test.js +13 -12
  96. package/dist/src/components/interface/property.test.js.map +1 -0
  97. package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
  98. package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
  99. package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
  100. package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
  101. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
  102. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
  103. package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
  104. package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  105. package/dist/src/components/lexical-scope.d.ts +8 -0
  106. package/dist/src/components/lexical-scope.d.ts.map +1 -0
  107. package/dist/src/components/lexical-scope.js +25 -0
  108. package/dist/src/components/lexical-scope.js.map +1 -0
  109. package/dist/src/components/method/method.d.ts +5 -2
  110. package/dist/src/components/method/method.d.ts.map +1 -1
  111. package/dist/src/components/method/method.js +9 -17
  112. package/dist/src/components/method/method.js.map +1 -0
  113. package/dist/src/components/method/method.test.js +13 -12
  114. package/dist/src/components/method/method.test.js.map +1 -0
  115. package/dist/src/components/method-scope.d.ts +8 -0
  116. package/dist/src/components/method-scope.d.ts.map +1 -0
  117. package/dist/src/components/method-scope.js +25 -0
  118. package/dist/src/components/method-scope.js.map +1 -0
  119. package/dist/src/components/namespace-scopes.d.ts +13 -0
  120. package/dist/src/components/namespace-scopes.d.ts.map +1 -0
  121. package/dist/src/components/namespace-scopes.js +45 -0
  122. package/dist/src/components/namespace-scopes.js.map +1 -0
  123. package/dist/src/components/namespace.d.ts +7 -0
  124. package/dist/src/components/namespace.d.ts.map +1 -0
  125. package/dist/src/components/namespace.js +47 -0
  126. package/dist/src/components/namespace.js.map +1 -0
  127. package/dist/src/components/namespace.ref.test.d.ts +2 -0
  128. package/dist/src/components/namespace.ref.test.d.ts.map +1 -0
  129. package/dist/src/components/namespace.ref.test.js +182 -0
  130. package/dist/src/components/namespace.ref.test.js.map +1 -0
  131. package/dist/src/components/namespace.test.d.ts.map +1 -0
  132. package/dist/src/components/namespace.test.js +79 -0
  133. package/dist/src/components/namespace.test.js.map +1 -0
  134. package/dist/src/components/parameters/parameters.d.ts +2 -3
  135. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  136. package/dist/src/components/parameters/parameters.js +15 -15
  137. package/dist/src/components/parameters/parameters.js.map +1 -0
  138. package/dist/src/components/parameters/parameters.test.d.ts +2 -0
  139. package/dist/src/components/parameters/parameters.test.d.ts.map +1 -0
  140. package/dist/src/components/parameters/parameters.test.js +154 -0
  141. package/dist/src/components/parameters/parameters.test.js.map +1 -0
  142. package/dist/src/components/property/property.d.ts +2 -2
  143. package/dist/src/components/property/property.d.ts.map +1 -1
  144. package/dist/src/components/property/property.js +30 -40
  145. package/dist/src/components/property/property.js.map +1 -0
  146. package/dist/src/components/property/property.test.js +17 -16
  147. package/dist/src/components/property/property.test.js.map +1 -0
  148. package/dist/src/components/record/declaration.d.ts +18 -0
  149. package/dist/src/components/record/declaration.d.ts.map +1 -1
  150. package/dist/src/components/record/declaration.js +21 -14
  151. package/dist/src/components/record/declaration.js.map +1 -0
  152. package/dist/src/components/record/declaration.test.js +52 -4
  153. package/dist/src/components/record/declaration.test.js.map +1 -0
  154. package/dist/src/components/source-file/source-file.d.ts +19 -0
  155. package/dist/src/components/source-file/source-file.d.ts.map +1 -0
  156. package/dist/src/components/source-file/source-file.js +59 -0
  157. package/dist/src/components/source-file/source-file.js.map +1 -0
  158. package/dist/src/components/source-file/source-file.test.d.ts +2 -0
  159. package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
  160. package/dist/src/components/source-file/source-file.test.js +136 -0
  161. package/dist/src/components/source-file/source-file.test.js.map +1 -0
  162. package/dist/src/components/stc/index.js +2 -1
  163. package/dist/src/components/stc/index.js.map +1 -0
  164. package/dist/src/components/struct/declaration.d.ts.map +1 -1
  165. package/dist/src/components/struct/declaration.js +6 -7
  166. package/dist/src/components/struct/declaration.js.map +1 -0
  167. package/dist/src/components/struct/declaration.test.js +32 -40
  168. package/dist/src/components/struct/declaration.test.js.map +1 -0
  169. package/dist/src/components/type-parameters/type-parameter-constraints.js +2 -1
  170. package/dist/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
  171. package/dist/src/components/type-parameters/type-parameter-constraints.test.js +2 -1
  172. package/dist/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
  173. package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -1
  174. package/dist/src/components/type-parameters/type-parameter.js +9 -11
  175. package/dist/src/components/type-parameters/type-parameter.js.map +1 -0
  176. package/dist/src/components/type-parameters/type-parameters.js +2 -1
  177. package/dist/src/components/type-parameters/type-parameters.js.map +1 -0
  178. package/dist/src/components/type-parameters/type-parameters.test.js +5 -4
  179. package/dist/src/components/type-parameters/type-parameters.test.js.map +1 -0
  180. package/dist/src/components/var/declaration.d.ts.map +1 -1
  181. package/dist/src/components/var/declaration.js +8 -9
  182. package/dist/src/components/var/declaration.js.map +1 -0
  183. package/dist/src/components/var/declaration.test.js +13 -21
  184. package/dist/src/components/var/declaration.test.js.map +1 -0
  185. package/dist/src/contexts/format-options.d.ts +5 -0
  186. package/dist/src/contexts/format-options.d.ts.map +1 -0
  187. package/dist/src/contexts/format-options.js +9 -0
  188. package/dist/src/contexts/format-options.js.map +1 -0
  189. package/dist/src/contexts/global-namespace.d.ts +5 -0
  190. package/dist/src/contexts/global-namespace.d.ts.map +1 -0
  191. package/dist/src/contexts/global-namespace.js +25 -0
  192. package/dist/src/contexts/global-namespace.js.map +1 -0
  193. package/dist/src/contexts/namespace.d.ts +8 -0
  194. package/dist/src/contexts/namespace.d.ts.map +1 -0
  195. package/dist/src/contexts/namespace.js +6 -0
  196. package/dist/src/contexts/namespace.js.map +1 -0
  197. package/dist/src/index.d.ts +2 -0
  198. package/dist/src/index.d.ts.map +1 -1
  199. package/dist/src/index.js +4 -1
  200. package/dist/src/index.js.map +1 -0
  201. package/dist/src/modifiers.d.ts +11 -0
  202. package/dist/src/modifiers.d.ts.map +1 -1
  203. package/dist/src/modifiers.js +2 -1
  204. package/dist/src/modifiers.js.map +1 -0
  205. package/dist/src/name-policy.js +2 -1
  206. package/dist/src/name-policy.js.map +1 -0
  207. package/dist/src/scopes/class.d.ts +10 -0
  208. package/dist/src/scopes/class.d.ts.map +1 -0
  209. package/dist/src/scopes/class.js +11 -0
  210. package/dist/src/scopes/class.js.map +1 -0
  211. package/dist/src/scopes/contexts.d.ts +9 -0
  212. package/dist/src/scopes/contexts.d.ts.map +1 -0
  213. package/dist/src/scopes/contexts.js +34 -0
  214. package/dist/src/scopes/contexts.js.map +1 -0
  215. package/dist/src/scopes/csharp.d.ts +10 -0
  216. package/dist/src/scopes/csharp.d.ts.map +1 -0
  217. package/dist/src/scopes/csharp.js +15 -0
  218. package/dist/src/scopes/csharp.js.map +1 -0
  219. package/dist/src/scopes/factories.d.ts +9 -0
  220. package/dist/src/scopes/factories.d.ts.map +1 -0
  221. package/dist/src/scopes/factories.js +24 -0
  222. package/dist/src/scopes/factories.js.map +1 -0
  223. package/dist/src/scopes/index.d.ts +10 -0
  224. package/dist/src/scopes/index.d.ts.map +1 -0
  225. package/dist/src/scopes/index.js +10 -0
  226. package/dist/src/scopes/index.js.map +1 -0
  227. package/dist/src/scopes/lexical.d.ts +7 -0
  228. package/dist/src/scopes/lexical.d.ts.map +1 -0
  229. package/dist/src/scopes/lexical.js +8 -0
  230. package/dist/src/scopes/lexical.js.map +1 -0
  231. package/dist/src/scopes/method.d.ts +9 -0
  232. package/dist/src/scopes/method.d.ts.map +1 -0
  233. package/dist/src/scopes/method.js +14 -0
  234. package/dist/src/scopes/method.js.map +1 -0
  235. package/dist/src/scopes/named-type.d.ts +22 -0
  236. package/dist/src/scopes/named-type.d.ts.map +1 -0
  237. package/dist/src/scopes/named-type.js +33 -0
  238. package/dist/src/scopes/named-type.js.map +1 -0
  239. package/dist/src/scopes/namespace.d.ts +11 -0
  240. package/dist/src/scopes/namespace.d.ts.map +1 -0
  241. package/dist/src/scopes/namespace.js +39 -0
  242. package/dist/src/scopes/namespace.js.map +1 -0
  243. package/dist/src/scopes/source-file.d.ts +16 -0
  244. package/dist/src/scopes/source-file.d.ts.map +1 -0
  245. package/dist/src/scopes/source-file.js +44 -0
  246. package/dist/src/scopes/source-file.js.map +1 -0
  247. package/dist/src/symbols/csharp.d.ts +87 -0
  248. package/dist/src/symbols/csharp.d.ts.map +1 -0
  249. package/dist/src/symbols/csharp.js +246 -0
  250. package/dist/src/symbols/csharp.js.map +1 -0
  251. package/dist/src/symbols/factories.d.ts +25 -0
  252. package/dist/src/symbols/factories.d.ts.map +1 -0
  253. package/dist/src/symbols/factories.js +93 -0
  254. package/dist/src/symbols/factories.js.map +1 -0
  255. package/dist/src/symbols/index.d.ts +5 -2
  256. package/dist/src/symbols/index.d.ts.map +1 -1
  257. package/dist/src/symbols/index.js +6 -2
  258. package/dist/src/symbols/index.js.map +1 -0
  259. package/dist/src/symbols/method.d.ts +13 -0
  260. package/dist/src/symbols/method.d.ts.map +1 -0
  261. package/dist/src/symbols/method.js +16 -0
  262. package/dist/src/symbols/method.js.map +1 -0
  263. package/dist/src/symbols/named-type.d.ts +19 -0
  264. package/dist/src/symbols/named-type.d.ts.map +1 -0
  265. package/dist/src/symbols/named-type.js +31 -0
  266. package/dist/src/symbols/named-type.js.map +1 -0
  267. package/dist/src/symbols/namespace.d.ts +22 -0
  268. package/dist/src/symbols/namespace.d.ts.map +1 -0
  269. package/dist/src/symbols/namespace.js +45 -0
  270. package/dist/src/symbols/namespace.js.map +1 -0
  271. package/dist/src/symbols/reference.d.ts +2 -2
  272. package/dist/src/symbols/reference.d.ts.map +1 -1
  273. package/dist/src/symbols/reference.js +50 -44
  274. package/dist/src/symbols/reference.js.map +1 -0
  275. package/dist/test/project-directory.test.js +20 -19
  276. package/dist/test/project-directory.test.js.map +1 -0
  277. package/dist/test/using.test.js +23 -21
  278. package/dist/test/using.test.js.map +1 -0
  279. package/dist/test/utils.d.ts.map +1 -1
  280. package/dist/test/utils.js +7 -4
  281. package/dist/test/utils.js.map +1 -0
  282. package/dist/test/vitest.setup.js +2 -1
  283. package/dist/test/vitest.setup.js.map +1 -0
  284. package/dist/tsconfig.tsbuildinfo +1 -1
  285. package/package.json +12 -6
  286. package/src/components/Declaration.tsx +3 -6
  287. package/src/components/Reference.tsx +3 -1
  288. package/src/components/UsingDirective.tsx +12 -2
  289. package/src/components/access-expression/access-expression.test.tsx +284 -0
  290. package/src/components/access-expression/access-expression.tsx +375 -0
  291. package/src/components/access-expression/part-descriptors.ts +175 -0
  292. package/src/components/class/declaration.test.tsx +484 -0
  293. package/src/components/{ClassDeclaration.tsx → class/declaration.tsx} +63 -44
  294. package/src/components/constructor/constructor.test.tsx +11 -17
  295. package/src/components/constructor/constructor.tsx +13 -32
  296. package/src/components/enum/declaration.ref.test.tsx +93 -0
  297. package/src/components/enum/declaration.test.tsx +34 -0
  298. package/src/components/enum/declaration.tsx +65 -0
  299. package/src/components/enum/member.test.tsx +24 -0
  300. package/src/components/enum/member.tsx +36 -0
  301. package/src/components/field/field.test.tsx +8 -8
  302. package/src/components/field/field.tsx +12 -22
  303. package/src/components/index.ts +8 -4
  304. package/src/components/interface/declaration.test.tsx +26 -32
  305. package/src/components/interface/declaration.tsx +16 -18
  306. package/src/components/interface/method.test.tsx +38 -44
  307. package/src/components/interface/method.tsx +7 -20
  308. package/src/components/interface/property.test.tsx +11 -11
  309. package/src/components/interface/property.tsx +15 -34
  310. package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
  311. package/src/components/invocation-expression/invocation-expression.tsx +60 -0
  312. package/src/components/lexical-scope.tsx +29 -0
  313. package/src/components/method/method.test.tsx +11 -11
  314. package/src/components/method/method.tsx +12 -23
  315. package/src/components/method-scope.tsx +27 -0
  316. package/src/components/namespace-scopes.tsx +44 -0
  317. package/src/components/namespace.ref.test.tsx +139 -0
  318. package/src/components/namespace.test.tsx +52 -0
  319. package/src/components/namespace.tsx +45 -0
  320. package/src/components/parameters/parameters.test.tsx +117 -0
  321. package/src/components/parameters/parameters.tsx +11 -21
  322. package/src/components/property/property.test.tsx +15 -15
  323. package/src/components/property/property.tsx +23 -41
  324. package/src/components/record/declaration.test.tsx +47 -3
  325. package/src/components/record/declaration.tsx +34 -11
  326. package/src/components/source-file/source-file.test.tsx +96 -0
  327. package/src/components/source-file/source-file.tsx +98 -0
  328. package/src/components/struct/declaration.test.tsx +16 -22
  329. package/src/components/struct/declaration.tsx +4 -6
  330. package/src/components/type-parameters/type-parameter.tsx +14 -11
  331. package/src/components/type-parameters/type-parameters.test.tsx +4 -4
  332. package/src/components/var/declaration.test.tsx +8 -14
  333. package/src/components/var/declaration.tsx +12 -6
  334. package/src/contexts/format-options.ts +14 -0
  335. package/src/contexts/global-namespace.ts +29 -0
  336. package/src/contexts/namespace.ts +13 -0
  337. package/src/index.ts +2 -0
  338. package/src/modifiers.ts +14 -0
  339. package/src/scopes/class.ts +12 -0
  340. package/src/scopes/contexts.ts +45 -0
  341. package/src/scopes/csharp.ts +23 -0
  342. package/src/scopes/factories.ts +45 -0
  343. package/src/scopes/index.ts +9 -0
  344. package/src/scopes/lexical.ts +10 -0
  345. package/src/scopes/method.ts +22 -0
  346. package/src/scopes/named-type.ts +44 -0
  347. package/src/scopes/namespace.ts +59 -0
  348. package/src/scopes/source-file.ts +67 -0
  349. package/src/symbols/csharp.ts +339 -0
  350. package/src/symbols/factories.ts +215 -0
  351. package/src/symbols/index.ts +5 -2
  352. package/src/symbols/method.ts +26 -0
  353. package/src/symbols/named-type.ts +54 -0
  354. package/src/symbols/namespace.ts +62 -0
  355. package/src/symbols/reference.tsx +64 -0
  356. package/temp/api.json +6910 -2491
  357. package/test/project-directory.test.tsx +14 -16
  358. package/test/using.test.tsx +21 -21
  359. package/test/utils.tsx +2 -1
  360. package/tsconfig.json +4 -1
  361. package/tsdoc-metadata.json +1 -1
  362. package/dist/src/components/ClassDeclaration.d.ts.map +0 -1
  363. package/dist/src/components/ClassDeclaration.js +0 -92
  364. package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
  365. package/dist/src/components/EnumDeclaration.js +0 -85
  366. package/dist/src/components/Namespace.d.ts +0 -11
  367. package/dist/src/components/Namespace.d.ts.map +0 -1
  368. package/dist/src/components/Namespace.js +0 -33
  369. package/dist/src/components/SourceFile.d.ts +0 -14
  370. package/dist/src/components/SourceFile.d.ts.map +0 -1
  371. package/dist/src/components/SourceFile.js +0 -69
  372. package/dist/src/symbols/csharp-output-symbol.d.ts +0 -8
  373. package/dist/src/symbols/csharp-output-symbol.d.ts.map +0 -1
  374. package/dist/src/symbols/csharp-output-symbol.js +0 -19
  375. package/dist/src/symbols/scopes.d.ts +0 -14
  376. package/dist/src/symbols/scopes.d.ts.map +0 -1
  377. package/dist/src/symbols/scopes.js +0 -31
  378. package/dist/test/class-declaration.test.d.ts +0 -2
  379. package/dist/test/class-declaration.test.d.ts.map +0 -1
  380. package/dist/test/class-declaration.test.js +0 -484
  381. package/dist/test/enum.test.d.ts +0 -2
  382. package/dist/test/enum.test.d.ts.map +0 -1
  383. package/dist/test/enum.test.js +0 -178
  384. package/dist/test/namespace.test.d.ts.map +0 -1
  385. package/dist/test/namespace.test.js +0 -81
  386. package/dist/test/sourcefile.test.d.ts +0 -2
  387. package/dist/test/sourcefile.test.d.ts.map +0 -1
  388. package/dist/test/sourcefile.test.js +0 -58
  389. package/src/components/EnumDeclaration.tsx +0 -99
  390. package/src/components/Namespace.tsx +0 -35
  391. package/src/components/SourceFile.tsx +0 -78
  392. package/src/symbols/csharp-output-symbol.ts +0 -22
  393. package/src/symbols/reference.ts +0 -65
  394. package/src/symbols/scopes.ts +0 -41
  395. package/test/class-declaration.test.tsx +0 -413
  396. package/test/enum.test.tsx +0 -149
  397. package/test/namespace.test.tsx +0 -55
  398. package/test/sourcefile.test.tsx +0 -47
  399. /package/dist/{test → src/components}/namespace.test.d.ts +0 -0
@@ -1,484 +0,0 @@
1
- import { createComponent as _$createComponent, mergeProps as _$mergeProps, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import * as core from "@alloy-js/core";
3
- import { List, refkey } from "@alloy-js/core";
4
- import * as coretest from "@alloy-js/core/testing";
5
- import { describe, expect, it } from "vitest";
6
- import { Attribute } from "../src/components/attributes/attributes.js";
7
- import { Field } from "../src/components/field/field.js";
8
- import { Constructor } from "../src/components/stc/index.js";
9
- import * as csharp from "../src/index.js";
10
- import { ClassDeclaration, Property, SourceFile } from "../src/index.js";
11
- import * as utils from "./utils.js";
12
- import { findFile } from "./utils.js";
13
- it("declares class with no members", () => {
14
- expect(_$createComponent(utils.TestNamespace, {
15
- get children() {
16
- return _$createComponent(ClassDeclaration, {
17
- name: "TestClass"
18
- });
19
- }
20
- })).toRenderTo(`
21
- class TestClass;
22
- `);
23
- });
24
- describe("modifiers", () => {
25
- it.each(["public", "private"])("%s", mod => {
26
- expect(_$createComponent(utils.TestNamespace, {
27
- get children() {
28
- return _$createComponent(ClassDeclaration, _$mergeProps({
29
- [mod]: true
30
- }, {
31
- name: "TestClass"
32
- }));
33
- }
34
- })).toRenderTo(`
35
- ${mod} class TestClass;
36
- `);
37
- });
38
- it.each(["partial", "abstract", "static", "sealed"])("%s", mod => {
39
- expect(_$createComponent(utils.TestNamespace, {
40
- get children() {
41
- return _$createComponent(ClassDeclaration, _$mergeProps({
42
- [mod]: true
43
- }, {
44
- name: "TestClass"
45
- }));
46
- }
47
- })).toRenderTo(`
48
- ${mod} class TestClass;
49
- `);
50
- });
51
- it("combines modifiers", () => {
52
- expect(_$createComponent(utils.TestNamespace, {
53
- get children() {
54
- return _$createComponent(ClassDeclaration, {
55
- "public": true,
56
- abstract: true,
57
- partial: true,
58
- name: "TestClass"
59
- });
60
- }
61
- })).toRenderTo(`
62
- public abstract partial class TestClass;
63
- `);
64
- });
65
- });
66
- describe("base", () => {
67
- it("define base class", () => {
68
- expect(_$createComponent(utils.TestNamespace, {
69
- get children() {
70
- return _$createComponent(csharp.ClassDeclaration, {
71
- name: "TestClass",
72
- baseType: "Foo"
73
- });
74
- }
75
- })).toRenderTo(`
76
- class TestClass : Foo;
77
- `);
78
- });
79
- it("define multiple interface types", () => {
80
- expect(_$createComponent(utils.TestNamespace, {
81
- get children() {
82
- return _$createComponent(csharp.ClassDeclaration, {
83
- name: "TestClass",
84
- interfaceTypes: ["Foo", "Bar"]
85
- });
86
- }
87
- })).toRenderTo(`
88
- class TestClass : Foo, Bar;
89
- `);
90
- });
91
- it("define base class and multiple interface types", () => {
92
- expect(_$createComponent(utils.TestNamespace, {
93
- get children() {
94
- return _$createComponent(csharp.ClassDeclaration, {
95
- name: "TestClass",
96
- baseType: "BaseClass",
97
- interfaceTypes: ["Foo", "Bar"]
98
- });
99
- }
100
- })).toRenderTo(`
101
- class TestClass : BaseClass, Foo, Bar;
102
- `);
103
- });
104
- });
105
- it("declares class with some members", () => {
106
- const res = utils.toSourceText(_$createComponent(csharp.ClassDeclaration, {
107
- "public": true,
108
- name: "TestClass",
109
- get children() {
110
- return _$createComponent(List, {
111
- get children() {
112
- return [_$createComponent(Field, {
113
- "public": true,
114
- name: "MemberOne",
115
- type: "string"
116
- }), _$createComponent(Field, {
117
- "public": true,
118
- name: "MemberTwo",
119
- type: "int"
120
- })];
121
- }
122
- });
123
- }
124
- }));
125
- expect(res).toBe(coretest.d`
126
- namespace TestCode
127
- {
128
- public class TestClass
129
- {
130
- public string MemberOne;
131
- public int MemberTwo;
132
- }
133
- }
134
- `);
135
- });
136
- it("declares class with some methods", () => {
137
- const res = utils.toSourceText(_$createComponent(csharp.ClassDeclaration, {
138
- "public": true,
139
- name: "TestClass",
140
- get children() {
141
- return _$createComponent(core.List, {
142
- get children() {
143
- return [_$createComponent(csharp.Method, {
144
- "public": true,
145
- name: "MethodOne"
146
- }), _$createComponent(csharp.Method, {
147
- "private": true,
148
- virtual: true,
149
- name: "MethodTwo"
150
- })];
151
- }
152
- });
153
- }
154
- }));
155
- expect(res).toBe(coretest.d`
156
- namespace TestCode
157
- {
158
- public class TestClass
159
- {
160
- public void MethodOne() {}
161
- private virtual void MethodTwo() {}
162
- }
163
- }
164
- `);
165
- });
166
- it("uses refkeys for members, params, and return type", () => {
167
- const inputTypeRefkey = core.refkey();
168
- const testResultTypeRefkey = core.refkey();
169
- const enumTypeRefkey = core.refkey();
170
- const params = [{
171
- name: "IntParam",
172
- type: "int"
173
- }, {
174
- name: "BodyParam",
175
- type: inputTypeRefkey
176
- }];
177
- const res = core.render(_$createComponent(core.Output, {
178
- get namePolicy() {
179
- return csharp.createCSharpNamePolicy();
180
- },
181
- get children() {
182
- return _$createComponent(csharp.Namespace, {
183
- name: "TestCode",
184
- get children() {
185
- return _$createComponent(csharp.SourceFile, {
186
- path: "Test.cs",
187
- get children() {
188
- return [_$createComponent(csharp.EnumDeclaration, {
189
- "public": true,
190
- name: "TestEnum",
191
- refkey: enumTypeRefkey,
192
- get children() {
193
- return _$createComponent(core.List, {
194
- comma: true,
195
- hardline: true,
196
- get children() {
197
- return [_$createComponent(csharp.EnumMember, {
198
- name: "One"
199
- }), _$createComponent(csharp.EnumMember, {
200
- name: "Two"
201
- })];
202
- }
203
- });
204
- }
205
- }), _$createIntrinsic("hbr", {}), _$createComponent(csharp.ClassDeclaration, {
206
- "public": true,
207
- name: "TestInput",
208
- refkey: inputTypeRefkey
209
- }), _$createIntrinsic("hbr", {}), _$createComponent(csharp.ClassDeclaration, {
210
- "public": true,
211
- name: "TestResult",
212
- refkey: testResultTypeRefkey
213
- }), _$createIntrinsic("hbr", {}), _$createComponent(csharp.ClassDeclaration, {
214
- "public": true,
215
- name: "TestClass",
216
- get children() {
217
- return [_$createComponent(Field, {
218
- "private": true,
219
- name: "MemberOne",
220
- type: enumTypeRefkey
221
- }), _$createIntrinsic("hbr", {}), _$createComponent(csharp.Method, {
222
- "public": true,
223
- name: "MethodOne",
224
- parameters: params,
225
- returns: testResultTypeRefkey,
226
- get children() {
227
- return ["return new ", testResultTypeRefkey, "();"];
228
- }
229
- })];
230
- }
231
- })];
232
- }
233
- });
234
- }
235
- });
236
- }
237
- }));
238
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
239
- namespace TestCode
240
- {
241
- public enum TestEnum
242
- {
243
- One,
244
- Two
245
- }
246
- public class TestInput;
247
- public class TestResult;
248
- public class TestClass
249
- {
250
- private TestEnum _memberOne;
251
- public TestResult MethodOne(int intParam, TestInput bodyParam)
252
- {
253
- return new TestResult();
254
- }
255
- }
256
- }
257
- `);
258
- });
259
- describe("with type parameters", () => {
260
- it("reference parameters", () => {
261
- const typeParameters = [{
262
- name: "T",
263
- refkey: refkey()
264
- }, {
265
- name: "U",
266
- refkey: refkey()
267
- }];
268
- expect(_$createComponent(utils.TestNamespace, {
269
- get children() {
270
- return _$createComponent(SourceFile, {
271
- path: "Test.cs",
272
- get children() {
273
- return _$createComponent(ClassDeclaration, {
274
- "public": true,
275
- name: "TestClass",
276
- typeParameters: typeParameters,
277
- get children() {
278
- return _$createComponent(List, {
279
- get children() {
280
- return [_$createComponent(Property, {
281
- name: "PropA",
282
- get type() {
283
- return typeParameters[0].refkey;
284
- },
285
- get: true,
286
- set: true
287
- }), _$createComponent(Property, {
288
- name: "PropB",
289
- get type() {
290
- return typeParameters[1].refkey;
291
- },
292
- get: true,
293
- set: true
294
- })];
295
- }
296
- });
297
- }
298
- });
299
- }
300
- });
301
- }
302
- })).toRenderTo(`
303
- namespace TestCode
304
- {
305
- public class TestClass<T, U>
306
- {
307
- T PropA { get; set; }
308
- U PropB { get; set; }
309
- }
310
- }
311
- `);
312
- });
313
- it("defines with constraints", () => {
314
- const typeParameters = [{
315
- name: "T",
316
- constraints: "IFoo"
317
- }, {
318
- name: "U",
319
- constraints: "IBar"
320
- }];
321
- expect(_$createComponent(utils.TestNamespace, {
322
- get children() {
323
- return _$createComponent(ClassDeclaration, {
324
- "public": true,
325
- name: "TestClass",
326
- typeParameters: typeParameters,
327
- children: "// Body"
328
- });
329
- }
330
- })).toRenderTo(`
331
- public class TestClass<T, U>
332
- where T : IFoo
333
- where U : IBar
334
- {
335
- // Body
336
- }
337
- `);
338
- });
339
- });
340
- it("declares class with invalid members", () => {
341
- const decl = _$createComponent(csharp.ClassDeclaration, {
342
- "public": true,
343
- name: "TestClass",
344
- get children() {
345
- return [_$createComponent(csharp.EnumMember, {
346
- name: "One"
347
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
348
- name: "Two"
349
- })];
350
- }
351
- });
352
- expect(() => utils.toSourceText(decl)).toThrow("can't define an enum member outside of an enum-decl scope");
353
- });
354
- it("declares class with constructor", () => {
355
- const res = utils.toSourceText(_$createComponent(csharp.ClassDeclaration, {
356
- "public": true,
357
- name: "TestClass",
358
- get children() {
359
- return _$createComponent(Constructor, {
360
- "public": true
361
- });
362
- }
363
- }));
364
- expect(res).toBe(coretest.d`
365
- namespace TestCode
366
- {
367
- public class TestClass
368
- {
369
- public TestClass() {}
370
- }
371
- }
372
- `);
373
- });
374
- it("declares class with constructor params and assigns values to fields", () => {
375
- const thisNameRefkey = core.refkey();
376
- const thisSizeRefkey = core.refkey();
377
- const paramNameRefkey = core.refkey();
378
- const paramSizeRefkey = core.refkey();
379
- const ctorParams = [{
380
- name: "name",
381
- type: "string",
382
- refkey: paramNameRefkey
383
- }, {
384
- name: "size",
385
- type: "int",
386
- refkey: paramSizeRefkey
387
- }];
388
- const res = utils.toSourceText(_$createComponent(csharp.ClassDeclaration, {
389
- "public": true,
390
- name: "TestClass",
391
- get children() {
392
- return [_$createComponent(Field, {
393
- "private": true,
394
- name: "name",
395
- type: "string",
396
- refkey: thisNameRefkey
397
- }), _$createIntrinsic("hbr", {}), _$createComponent(Field, {
398
- "private": true,
399
- name: "size",
400
- type: "int",
401
- refkey: thisSizeRefkey
402
- }), _$createIntrinsic("hbr", {}), _$createComponent(Constructor, {
403
- "public": true,
404
- parameters: ctorParams,
405
- get children() {
406
- return [thisNameRefkey, " = ", paramNameRefkey, ";", _$createIntrinsic("hbr", {}), thisSizeRefkey, " = ", paramSizeRefkey, ";"];
407
- }
408
- })];
409
- }
410
- }));
411
-
412
- // TODO: assignments to members should have this. prefix
413
- // e.g. this.name = name;
414
- expect(res).toBe(coretest.d`
415
- namespace TestCode
416
- {
417
- public class TestClass
418
- {
419
- private string _name;
420
- private int _size;
421
- public TestClass(string name, int size)
422
- {
423
- _name = name;
424
- _size = size;
425
- }
426
- }
427
- }
428
- `);
429
- });
430
- it("specify doc comment", () => {
431
- expect(_$createComponent(utils.TestNamespace, {
432
- get children() {
433
- return _$createComponent(ClassDeclaration, {
434
- name: "Test",
435
- doc: "This is a test"
436
- });
437
- }
438
- })).toRenderTo(`
439
- /// This is a test
440
- class Test;
441
- `);
442
- });
443
- it("supports class member doc comments", () => {
444
- expect(_$createComponent(utils.TestNamespace, {
445
- get children() {
446
- return _$createComponent(ClassDeclaration, {
447
- name: "Test",
448
- doc: "This is a test",
449
- get children() {
450
- return _$createComponent(Field, {
451
- name: "Member",
452
- "public": true,
453
- type: "int",
454
- doc: "This is a member"
455
- });
456
- }
457
- });
458
- }
459
- })).toRenderTo(`
460
- /// This is a test
461
- class Test
462
- {
463
- /// This is a member
464
- public int Member;
465
- }
466
- `);
467
- });
468
- it("specify attributes", () => {
469
- expect(_$createComponent(utils.TestNamespace, {
470
- get children() {
471
- return _$createComponent(ClassDeclaration, {
472
- name: "Test",
473
- get attributes() {
474
- return [_$createComponent(Attribute, {
475
- name: "Test"
476
- })];
477
- }
478
- });
479
- }
480
- })).toRenderTo(`
481
- [Test]
482
- class Test;
483
- `);
484
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=enum.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enum.test.d.ts","sourceRoot":"","sources":["../../test/enum.test.tsx"],"names":[],"mappings":""}
@@ -1,178 +0,0 @@
1
- import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import * as core from "@alloy-js/core";
3
- import * as coretest from "@alloy-js/core/testing";
4
- import { expect, it } from "vitest";
5
- import * as csharp from "../src/index.js";
6
- import * as utils from "./utils.js";
7
- import { findFile } from "./utils.js";
8
- it("declares enum with no members", () => {
9
- const res = utils.toSourceText(_$createComponent(csharp.EnumDeclaration, {
10
- "public": true,
11
- name: "TestEnum"
12
- }));
13
- expect(res).toBe(coretest.d`
14
- namespace TestCode
15
- {
16
- public enum TestEnum;
17
- }
18
- `);
19
- });
20
- it("declares enum with members", () => {
21
- const res = utils.toSourceText(_$createComponent(csharp.EnumDeclaration, {
22
- "public": true,
23
- name: "TestEnum",
24
- get children() {
25
- return [_$createComponent(csharp.EnumMember, {
26
- name: "One"
27
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
28
- name: "Two"
29
- })];
30
- }
31
- }));
32
- expect(res).toBe(coretest.d`
33
- namespace TestCode
34
- {
35
- public enum TestEnum
36
- {
37
- One,
38
- Two
39
- }
40
- }
41
- `);
42
- });
43
- it("applies naming policy to enum and members", () => {
44
- const res = utils.toSourceText(_$createComponent(csharp.EnumDeclaration, {
45
- "public": true,
46
- name: "testEnum",
47
- get children() {
48
- return [_$createComponent(csharp.EnumMember, {
49
- name: "one"
50
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
51
- name: "two"
52
- })];
53
- }
54
- }));
55
- expect(res).toBe(coretest.d`
56
- namespace TestCode
57
- {
58
- public enum TestEnum
59
- {
60
- One,
61
- Two
62
- }
63
- }
64
- `);
65
- });
66
- it("can reference things by refkey", () => {
67
- const enumRK = core.refkey();
68
- const twoRK = core.refkey();
69
- const res = core.render(_$createComponent(core.Output, {
70
- get children() {
71
- return _$createComponent(csharp.Namespace, {
72
- name: "TestCode",
73
- get children() {
74
- return _$createComponent(csharp.SourceFile, {
75
- path: "Test.cs",
76
- get children() {
77
- return [_$createComponent(csharp.EnumDeclaration, {
78
- "public": true,
79
- name: "TestEnum",
80
- refkey: enumRK,
81
- get children() {
82
- return [_$createComponent(csharp.EnumMember, {
83
- name: "One"
84
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
85
- name: "Two",
86
- refkey: twoRK
87
- })];
88
- }
89
- }), _$createIntrinsic("hbr", {}), enumRK, ";", _$createIntrinsic("hbr", {}), twoRK, ";"];
90
- }
91
- });
92
- }
93
- });
94
- }
95
- }));
96
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
97
- namespace TestCode
98
- {
99
- public enum TestEnum
100
- {
101
- One,
102
- Two
103
- }
104
- TestEnum;
105
- TestEnum.Two;
106
- }
107
- `);
108
- });
109
- it("can reference things by refkey across files", () => {
110
- const enumRK = core.refkey();
111
- const barRK = core.refkey();
112
- const res = core.render(_$createComponent(core.Output, {
113
- get children() {
114
- return _$createComponent(csharp.Namespace, {
115
- name: "TestCode",
116
- get children() {
117
- return [_$createComponent(csharp.SourceFile, {
118
- path: "Test.cs",
119
- get children() {
120
- return [_$createComponent(csharp.EnumDeclaration, {
121
- "public": true,
122
- name: "TestEnum",
123
- get children() {
124
- return [_$createComponent(csharp.EnumMember, {
125
- name: "One"
126
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
127
- name: "Two"
128
- })];
129
- }
130
- }), _$createIntrinsic("hbr", {}), enumRK, ";", _$createIntrinsic("hbr", {}), barRK, ";"];
131
- }
132
- }), _$createComponent(csharp.SourceFile, {
133
- path: "Other.cs",
134
- get children() {
135
- return [_$createComponent(csharp.EnumDeclaration, {
136
- "public": true,
137
- name: "OtherEnum",
138
- refkey: enumRK,
139
- get children() {
140
- return [_$createComponent(csharp.EnumMember, {
141
- name: "Foo"
142
- }), ",", _$createIntrinsic("hbr", {}), _$createComponent(csharp.EnumMember, {
143
- name: "Bar",
144
- refkey: barRK
145
- })];
146
- }
147
- }), _$createIntrinsic("hbr", {}), enumRK, ";", _$createIntrinsic("hbr", {}), barRK, ";"];
148
- }
149
- })];
150
- }
151
- });
152
- }
153
- }));
154
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
155
- namespace TestCode
156
- {
157
- public enum TestEnum
158
- {
159
- One,
160
- Two
161
- }
162
- OtherEnum;
163
- OtherEnum.Bar;
164
- }
165
- `);
166
- expect(findFile(res, "Other.cs").contents).toBe(coretest.d`
167
- namespace TestCode
168
- {
169
- public enum OtherEnum
170
- {
171
- Foo,
172
- Bar
173
- }
174
- OtherEnum;
175
- OtherEnum.Bar;
176
- }
177
- `);
178
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"namespace.test.d.ts","sourceRoot":"","sources":["../../test/namespace.test.tsx"],"names":[],"mappings":""}