@alloy-js/csharp 0.23.0-dev.4 → 0.23.0-dev.6

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 (492) hide show
  1. package/dist/dev/scripts/components/library-interface.js +67 -0
  2. package/dist/dev/scripts/components/library-interface.js.map +1 -0
  3. package/dist/dev/scripts/components/namespace-directory.js +160 -0
  4. package/dist/dev/scripts/components/namespace-directory.js.map +1 -0
  5. package/dist/dev/scripts/generate-builtins.js +45 -0
  6. package/dist/dev/scripts/generate-builtins.js.map +1 -0
  7. package/dist/dev/scripts/process-docfx.js +316 -0
  8. package/dist/dev/scripts/process-docfx.js.map +1 -0
  9. package/dist/dev/src/access.js +73 -0
  10. package/dist/dev/src/access.js.map +1 -0
  11. package/dist/dev/src/access.test.js +43 -0
  12. package/dist/dev/src/access.test.js.map +1 -0
  13. package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js +23 -0
  14. package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js.map +1 -0
  15. package/dist/dev/src/builtins/Microsoft/CSharp/index.js +5 -0
  16. package/dist/dev/src/builtins/Microsoft/CSharp/index.js.map +1 -0
  17. package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js +473 -0
  18. package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js.map +1 -0
  19. package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js +2534 -0
  20. package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js.map +1 -0
  21. package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js +320 -0
  22. package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js.map +1 -0
  23. package/dist/dev/src/builtins/Microsoft/Win32/index.js +362 -0
  24. package/dist/dev/src/builtins/Microsoft/Win32/index.js.map +1 -0
  25. package/dist/dev/src/builtins/Microsoft/index.js +7 -0
  26. package/dist/dev/src/builtins/Microsoft/index.js.map +1 -0
  27. package/dist/dev/src/builtins/System/Buffers/Binary/index.js +536 -0
  28. package/dist/dev/src/builtins/System/Buffers/Binary/index.js.map +1 -0
  29. package/dist/dev/src/builtins/System/Buffers/Text/index.js +144 -0
  30. package/dist/dev/src/builtins/System/Buffers/Text/index.js.map +1 -0
  31. package/dist/dev/src/builtins/System/Buffers/index.js +605 -0
  32. package/dist/dev/src/builtins/System/Buffers/index.js.map +1 -0
  33. package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js +131 -0
  34. package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js.map +1 -0
  35. package/dist/dev/src/builtins/System/CodeDom/index.js +5 -0
  36. package/dist/dev/src/builtins/System/CodeDom/index.js.map +1 -0
  37. package/dist/dev/src/builtins/System/Collections/Concurrent/index.js +399 -0
  38. package/dist/dev/src/builtins/System/Collections/Concurrent/index.js.map +1 -0
  39. package/dist/dev/src/builtins/System/Collections/Frozen/index.js +88 -0
  40. package/dist/dev/src/builtins/System/Collections/Frozen/index.js.map +1 -0
  41. package/dist/dev/src/builtins/System/Collections/Generic/index.js +978 -0
  42. package/dist/dev/src/builtins/System/Collections/Generic/index.js.map +1 -0
  43. package/dist/dev/src/builtins/System/Collections/Immutable/index.js +1049 -0
  44. package/dist/dev/src/builtins/System/Collections/Immutable/index.js.map +1 -0
  45. package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js +394 -0
  46. package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js.map +1 -0
  47. package/dist/dev/src/builtins/System/Collections/Specialized/index.js +716 -0
  48. package/dist/dev/src/builtins/System/Collections/Specialized/index.js.map +1 -0
  49. package/dist/dev/src/builtins/System/Collections/index.js +1355 -0
  50. package/dist/dev/src/builtins/System/Collections/index.js.map +1 -0
  51. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js +143 -0
  52. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js.map +1 -0
  53. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js +1237 -0
  54. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js.map +1 -0
  55. package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js +535 -0
  56. package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js.map +1 -0
  57. package/dist/dev/src/builtins/System/ComponentModel/Design/index.js +2008 -0
  58. package/dist/dev/src/builtins/System/ComponentModel/Design/index.js.map +1 -0
  59. package/dist/dev/src/builtins/System/ComponentModel/index.js +6649 -0
  60. package/dist/dev/src/builtins/System/ComponentModel/index.js.map +1 -0
  61. package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js +69 -0
  62. package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js.map +1 -0
  63. package/dist/dev/src/builtins/System/Configuration/index.js +5 -0
  64. package/dist/dev/src/builtins/System/Configuration/index.js.map +1 -0
  65. package/dist/dev/src/builtins/System/Data/Common/index.js +3279 -0
  66. package/dist/dev/src/builtins/System/Data/Common/index.js.map +1 -0
  67. package/dist/dev/src/builtins/System/Data/SqlTypes/index.js +2655 -0
  68. package/dist/dev/src/builtins/System/Data/SqlTypes/index.js.map +1 -0
  69. package/dist/dev/src/builtins/System/Data/index.js +4504 -0
  70. package/dist/dev/src/builtins/System/Data/index.js.map +1 -0
  71. package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js +705 -0
  72. package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js.map +1 -0
  73. package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js +309 -0
  74. package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js.map +1 -0
  75. package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js +323 -0
  76. package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js.map +1 -0
  77. package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js +610 -0
  78. package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js.map +1 -0
  79. package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js +954 -0
  80. package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js.map +1 -0
  81. package/dist/dev/src/builtins/System/Diagnostics/index.js +3826 -0
  82. package/dist/dev/src/builtins/System/Diagnostics/index.js.map +1 -0
  83. package/dist/dev/src/builtins/System/Drawing/index.js +3305 -0
  84. package/dist/dev/src/builtins/System/Drawing/index.js.map +1 -0
  85. package/dist/dev/src/builtins/System/Dynamic/index.js +795 -0
  86. package/dist/dev/src/builtins/System/Dynamic/index.js.map +1 -0
  87. package/dist/dev/src/builtins/System/Formats/Asn1/index.js +843 -0
  88. package/dist/dev/src/builtins/System/Formats/Asn1/index.js.map +1 -0
  89. package/dist/dev/src/builtins/System/Formats/Tar/index.js +436 -0
  90. package/dist/dev/src/builtins/System/Formats/Tar/index.js.map +1 -0
  91. package/dist/dev/src/builtins/System/Formats/index.js +6 -0
  92. package/dist/dev/src/builtins/System/Formats/index.js.map +1 -0
  93. package/dist/dev/src/builtins/System/Globalization/index.js +3848 -0
  94. package/dist/dev/src/builtins/System/Globalization/index.js.map +1 -0
  95. package/dist/dev/src/builtins/System/IO/Compression/index.js +894 -0
  96. package/dist/dev/src/builtins/System/IO/Compression/index.js.map +1 -0
  97. package/dist/dev/src/builtins/System/IO/Enumeration/index.js +218 -0
  98. package/dist/dev/src/builtins/System/IO/Enumeration/index.js.map +1 -0
  99. package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js +495 -0
  100. package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js.map +1 -0
  101. package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js +251 -0
  102. package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js.map +1 -0
  103. package/dist/dev/src/builtins/System/IO/Pipelines/index.js +415 -0
  104. package/dist/dev/src/builtins/System/IO/Pipelines/index.js.map +1 -0
  105. package/dist/dev/src/builtins/System/IO/Pipes/index.js +723 -0
  106. package/dist/dev/src/builtins/System/IO/Pipes/index.js.map +1 -0
  107. package/dist/dev/src/builtins/System/IO/index.js +3713 -0
  108. package/dist/dev/src/builtins/System/IO/index.js.map +1 -0
  109. package/dist/dev/src/builtins/System/Linq/Expressions/index.js +2253 -0
  110. package/dist/dev/src/builtins/System/Linq/Expressions/index.js.map +1 -0
  111. package/dist/dev/src/builtins/System/Linq/index.js +275 -0
  112. package/dist/dev/src/builtins/System/Linq/index.js.map +1 -0
  113. package/dist/dev/src/builtins/System/Net/Cache/index.js +217 -0
  114. package/dist/dev/src/builtins/System/Net/Cache/index.js.map +1 -0
  115. package/dist/dev/src/builtins/System/Net/Http/Headers/index.js +1668 -0
  116. package/dist/dev/src/builtins/System/Net/Http/Headers/index.js.map +1 -0
  117. package/dist/dev/src/builtins/System/Net/Http/Json/index.js +72 -0
  118. package/dist/dev/src/builtins/System/Net/Http/Json/index.js.map +1 -0
  119. package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js +40 -0
  120. package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js.map +1 -0
  121. package/dist/dev/src/builtins/System/Net/Http/index.js +1458 -0
  122. package/dist/dev/src/builtins/System/Net/Http/index.js.map +1 -0
  123. package/dist/dev/src/builtins/System/Net/Mail/index.js +871 -0
  124. package/dist/dev/src/builtins/System/Net/Mail/index.js.map +1 -0
  125. package/dist/dev/src/builtins/System/Net/Mime/index.js +500 -0
  126. package/dist/dev/src/builtins/System/Net/Mime/index.js.map +1 -0
  127. package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js +2776 -0
  128. package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js.map +1 -0
  129. package/dist/dev/src/builtins/System/Net/Quic/index.js +635 -0
  130. package/dist/dev/src/builtins/System/Net/Quic/index.js.map +1 -0
  131. package/dist/dev/src/builtins/System/Net/Security/index.js +1432 -0
  132. package/dist/dev/src/builtins/System/Net/Security/index.js.map +1 -0
  133. package/dist/dev/src/builtins/System/Net/Sockets/index.js +3095 -0
  134. package/dist/dev/src/builtins/System/Net/Sockets/index.js.map +1 -0
  135. package/dist/dev/src/builtins/System/Net/WebSockets/index.js +876 -0
  136. package/dist/dev/src/builtins/System/Net/WebSockets/index.js.map +1 -0
  137. package/dist/dev/src/builtins/System/Net/index.js +5481 -0
  138. package/dist/dev/src/builtins/System/Net/index.js.map +1 -0
  139. package/dist/dev/src/builtins/System/Numerics/index.js +3425 -0
  140. package/dist/dev/src/builtins/System/Numerics/index.js.map +1 -0
  141. package/dist/dev/src/builtins/System/Reflection/Emit/index.js +4293 -0
  142. package/dist/dev/src/builtins/System/Reflection/Emit/index.js.map +1 -0
  143. package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js +2218 -0
  144. package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js.map +1 -0
  145. package/dist/dev/src/builtins/System/Reflection/Metadata/index.js +6045 -0
  146. package/dist/dev/src/builtins/System/Reflection/Metadata/index.js.map +1 -0
  147. package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js +2020 -0
  148. package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js.map +1 -0
  149. package/dist/dev/src/builtins/System/Reflection/index.js +5244 -0
  150. package/dist/dev/src/builtins/System/Reflection/index.js.map +1 -0
  151. package/dist/dev/src/builtins/System/Resources/index.js +289 -0
  152. package/dist/dev/src/builtins/System/Resources/index.js.map +1 -0
  153. package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js +1896 -0
  154. package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js.map +1 -0
  155. package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js +103 -0
  156. package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js.map +1 -0
  157. package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js +62 -0
  158. package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js.map +1 -0
  159. package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js +67 -0
  160. package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js.map +1 -0
  161. package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js +210 -0
  162. package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js.map +1 -0
  163. package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js +1012 -0
  164. package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js.map +1 -0
  165. package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js +79 -0
  166. package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js.map +1 -0
  167. package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js +49 -0
  168. package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js.map +1 -0
  169. package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js +3626 -0
  170. package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js.map +1 -0
  171. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js +1297 -0
  172. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js.map +1 -0
  173. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js +338 -0
  174. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js.map +1 -0
  175. package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js +1372 -0
  176. package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js.map +1 -0
  177. package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js +273 -0
  178. package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js.map +1 -0
  179. package/dist/dev/src/builtins/System/Runtime/Loader/index.js +140 -0
  180. package/dist/dev/src/builtins/System/Runtime/Loader/index.js.map +1 -0
  181. package/dist/dev/src/builtins/System/Runtime/Remoting/index.js +18 -0
  182. package/dist/dev/src/builtins/System/Runtime/Remoting/index.js.map +1 -0
  183. package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js +265 -0
  184. package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js.map +1 -0
  185. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js +61 -0
  186. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js.map +1 -0
  187. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js +83 -0
  188. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js.map +1 -0
  189. package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js +192 -0
  190. package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js.map +1 -0
  191. package/dist/dev/src/builtins/System/Runtime/Serialization/index.js +1611 -0
  192. package/dist/dev/src/builtins/System/Runtime/Serialization/index.js.map +1 -0
  193. package/dist/dev/src/builtins/System/Runtime/Versioning/index.js +336 -0
  194. package/dist/dev/src/builtins/System/Runtime/Versioning/index.js.map +1 -0
  195. package/dist/dev/src/builtins/System/Runtime/index.js +245 -0
  196. package/dist/dev/src/builtins/System/Runtime/index.js.map +1 -0
  197. package/dist/dev/src/builtins/System/Security/AccessControl/index.js +2343 -0
  198. package/dist/dev/src/builtins/System/Security/AccessControl/index.js.map +1 -0
  199. package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js +169 -0
  200. package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js.map +1 -0
  201. package/dist/dev/src/builtins/System/Security/Authentication/index.js +212 -0
  202. package/dist/dev/src/builtins/System/Security/Authentication/index.js.map +1 -0
  203. package/dist/dev/src/builtins/System/Security/Claims/index.js +844 -0
  204. package/dist/dev/src/builtins/System/Security/Claims/index.js.map +1 -0
  205. package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js +2633 -0
  206. package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js.map +1 -0
  207. package/dist/dev/src/builtins/System/Security/Cryptography/index.js +6673 -0
  208. package/dist/dev/src/builtins/System/Security/Cryptography/index.js.map +1 -0
  209. package/dist/dev/src/builtins/System/Security/Permissions/index.js +325 -0
  210. package/dist/dev/src/builtins/System/Security/Permissions/index.js.map +1 -0
  211. package/dist/dev/src/builtins/System/Security/Policy/index.js +101 -0
  212. package/dist/dev/src/builtins/System/Security/Policy/index.js.map +1 -0
  213. package/dist/dev/src/builtins/System/Security/Principal/index.js +1338 -0
  214. package/dist/dev/src/builtins/System/Security/Principal/index.js.map +1 -0
  215. package/dist/dev/src/builtins/System/Security/index.js +672 -0
  216. package/dist/dev/src/builtins/System/Security/index.js.map +1 -0
  217. package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js +162 -0
  218. package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js.map +1 -0
  219. package/dist/dev/src/builtins/System/Text/Encodings/index.js +5 -0
  220. package/dist/dev/src/builtins/System/Text/Encodings/index.js.map +1 -0
  221. package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js +250 -0
  222. package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js.map +1 -0
  223. package/dist/dev/src/builtins/System/Text/Json/Schema/index.js +78 -0
  224. package/dist/dev/src/builtins/System/Text/Json/Schema/index.js.map +1 -0
  225. package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js +328 -0
  226. package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js.map +1 -0
  227. package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js +840 -0
  228. package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js.map +1 -0
  229. package/dist/dev/src/builtins/System/Text/Json/index.js +1185 -0
  230. package/dist/dev/src/builtins/System/Text/Json/index.js.map +1 -0
  231. package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js +732 -0
  232. package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js.map +1 -0
  233. package/dist/dev/src/builtins/System/Text/Unicode/index.js +1199 -0
  234. package/dist/dev/src/builtins/System/Text/Unicode/index.js.map +1 -0
  235. package/dist/dev/src/builtins/System/Text/index.js +1748 -0
  236. package/dist/dev/src/builtins/System/Text/index.js.map +1 -0
  237. package/dist/dev/src/builtins/System/Threading/Channels/index.js +229 -0
  238. package/dist/dev/src/builtins/System/Threading/Channels/index.js.map +1 -0
  239. package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js +676 -0
  240. package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js.map +1 -0
  241. package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js +117 -0
  242. package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js.map +1 -0
  243. package/dist/dev/src/builtins/System/Threading/Tasks/index.js +721 -0
  244. package/dist/dev/src/builtins/System/Threading/Tasks/index.js.map +1 -0
  245. package/dist/dev/src/builtins/System/Threading/index.js +2292 -0
  246. package/dist/dev/src/builtins/System/Threading/index.js.map +1 -0
  247. package/dist/dev/src/builtins/System/Timers/index.js +129 -0
  248. package/dist/dev/src/builtins/System/Timers/index.js.map +1 -0
  249. package/dist/dev/src/builtins/System/Transactions/index.js +727 -0
  250. package/dist/dev/src/builtins/System/Transactions/index.js.map +1 -0
  251. package/dist/dev/src/builtins/System/Web/index.js +84 -0
  252. package/dist/dev/src/builtins/System/Web/index.js.map +1 -0
  253. package/dist/dev/src/builtins/System/Windows/Input/index.js +18 -0
  254. package/dist/dev/src/builtins/System/Windows/Input/index.js.map +1 -0
  255. package/dist/dev/src/builtins/System/Windows/Markup/index.js +28 -0
  256. package/dist/dev/src/builtins/System/Windows/Markup/index.js.map +1 -0
  257. package/dist/dev/src/builtins/System/Windows/index.js +6 -0
  258. package/dist/dev/src/builtins/System/Windows/index.js.map +1 -0
  259. package/dist/dev/src/builtins/System/Xml/Linq/index.js +1086 -0
  260. package/dist/dev/src/builtins/System/Xml/Linq/index.js.map +1 -0
  261. package/dist/dev/src/builtins/System/Xml/Resolvers/index.js +86 -0
  262. package/dist/dev/src/builtins/System/Xml/Resolvers/index.js.map +1 -0
  263. package/dist/dev/src/builtins/System/Xml/Schema/index.js +2993 -0
  264. package/dist/dev/src/builtins/System/Xml/Schema/index.js.map +1 -0
  265. package/dist/dev/src/builtins/System/Xml/Serialization/index.js +2356 -0
  266. package/dist/dev/src/builtins/System/Xml/Serialization/index.js.map +1 -0
  267. package/dist/dev/src/builtins/System/Xml/XPath/index.js +917 -0
  268. package/dist/dev/src/builtins/System/Xml/XPath/index.js.map +1 -0
  269. package/dist/dev/src/builtins/System/Xml/Xsl/index.js +315 -0
  270. package/dist/dev/src/builtins/System/Xml/Xsl/index.js.map +1 -0
  271. package/dist/dev/src/builtins/System/Xml/index.js +5736 -0
  272. package/dist/dev/src/builtins/System/Xml/index.js.map +1 -0
  273. package/dist/dev/src/builtins/System/index.js +14587 -0
  274. package/dist/dev/src/builtins/System/index.js.map +1 -0
  275. package/dist/dev/src/builtins/index.js +3 -0
  276. package/dist/dev/src/builtins/index.js.map +1 -0
  277. package/dist/dev/src/components/Declaration.js +9 -0
  278. package/dist/dev/src/components/Declaration.js.map +1 -0
  279. package/dist/dev/src/components/Name.js +12 -0
  280. package/dist/dev/src/components/Name.js.map +1 -0
  281. package/dist/dev/src/components/Reference.js +13 -0
  282. package/dist/dev/src/components/Reference.js.map +1 -0
  283. package/dist/dev/src/components/access-expression/access-expression.js +288 -0
  284. package/dist/dev/src/components/access-expression/access-expression.js.map +1 -0
  285. package/dist/dev/src/components/access-expression/access-expression.test.js +608 -0
  286. package/dist/dev/src/components/access-expression/access-expression.test.js.map +1 -0
  287. package/dist/dev/src/components/access-expression/part-descriptors.js +14 -0
  288. package/dist/dev/src/components/access-expression/part-descriptors.js.map +1 -0
  289. package/dist/dev/src/components/attributes/attributes.js +113 -0
  290. package/dist/dev/src/components/attributes/attributes.js.map +1 -0
  291. package/dist/dev/src/components/attributes/attributes.test.js +201 -0
  292. package/dist/dev/src/components/attributes/attributes.test.js.map +1 -0
  293. package/dist/dev/src/components/class/declaration.js +123 -0
  294. package/dist/dev/src/components/class/declaration.js.map +1 -0
  295. package/dist/dev/src/components/class/declaration.test.js +893 -0
  296. package/dist/dev/src/components/class/declaration.test.js.map +1 -0
  297. package/dist/dev/src/components/constructor/constructor.js +60 -0
  298. package/dist/dev/src/components/constructor/constructor.js.map +1 -0
  299. package/dist/dev/src/components/constructor/constructor.test.js +62 -0
  300. package/dist/dev/src/components/constructor/constructor.test.js.map +1 -0
  301. package/dist/dev/src/components/csproj-file/csproj-file.js +32 -0
  302. package/dist/dev/src/components/csproj-file/csproj-file.js.map +1 -0
  303. package/dist/dev/src/components/csproj-file/csproj-file.test.js +70 -0
  304. package/dist/dev/src/components/csproj-file/csproj-file.test.js.map +1 -0
  305. package/dist/dev/src/components/doc/comment.js +129 -0
  306. package/dist/dev/src/components/doc/comment.js.map +1 -0
  307. package/dist/dev/src/components/doc/comment.test.js +577 -0
  308. package/dist/dev/src/components/doc/comment.test.js.map +1 -0
  309. package/dist/dev/src/components/doc/from-markdown.js +83 -0
  310. package/dist/dev/src/components/doc/from-markdown.js.map +1 -0
  311. package/dist/dev/src/components/doc/from-markdown.test.js +112 -0
  312. package/dist/dev/src/components/doc/from-markdown.test.js.map +1 -0
  313. package/dist/dev/src/components/enum/declaration.js +71 -0
  314. package/dist/dev/src/components/enum/declaration.js.map +1 -0
  315. package/dist/dev/src/components/enum/declaration.ref.test.js +221 -0
  316. package/dist/dev/src/components/enum/declaration.ref.test.js.map +1 -0
  317. package/dist/dev/src/components/enum/declaration.test.js +82 -0
  318. package/dist/dev/src/components/enum/declaration.test.js.map +1 -0
  319. package/dist/dev/src/components/enum/member.js +38 -0
  320. package/dist/dev/src/components/enum/member.js.map +1 -0
  321. package/dist/dev/src/components/enum/member.test.js +84 -0
  322. package/dist/dev/src/components/enum/member.test.js.map +1 -0
  323. package/dist/dev/src/components/field/field.js +43 -0
  324. package/dist/dev/src/components/field/field.js.map +1 -0
  325. package/dist/dev/src/components/field/field.test.js +242 -0
  326. package/dist/dev/src/components/field/field.test.js.map +1 -0
  327. package/dist/dev/src/components/if/if-statement.js +56 -0
  328. package/dist/dev/src/components/if/if-statement.js.map +1 -0
  329. package/dist/dev/src/components/if/if-statement.test.js +41 -0
  330. package/dist/dev/src/components/if/if-statement.test.js.map +1 -0
  331. package/dist/dev/src/components/index.js +31 -0
  332. package/dist/dev/src/components/index.js.map +1 -0
  333. package/dist/dev/src/components/interface/declaration.js +114 -0
  334. package/dist/dev/src/components/interface/declaration.js.map +1 -0
  335. package/dist/dev/src/components/interface/declaration.test.js +264 -0
  336. package/dist/dev/src/components/interface/declaration.test.js.map +1 -0
  337. package/dist/dev/src/components/interface/method.js +100 -0
  338. package/dist/dev/src/components/interface/method.js.map +1 -0
  339. package/dist/dev/src/components/interface/method.test.js +432 -0
  340. package/dist/dev/src/components/interface/method.test.js.map +1 -0
  341. package/dist/dev/src/components/interface/property.js +80 -0
  342. package/dist/dev/src/components/interface/property.js.map +1 -0
  343. package/dist/dev/src/components/interface/property.test.js +305 -0
  344. package/dist/dev/src/components/interface/property.test.js.map +1 -0
  345. package/dist/dev/src/components/invocation-expression/invocation-expression.js +94 -0
  346. package/dist/dev/src/components/invocation-expression/invocation-expression.js.map +1 -0
  347. package/dist/dev/src/components/invocation-expression/invocation-expression.test.js +153 -0
  348. package/dist/dev/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  349. package/dist/dev/src/components/lexical-scope.js +30 -0
  350. package/dist/dev/src/components/lexical-scope.js.map +1 -0
  351. package/dist/dev/src/components/method/method.js +134 -0
  352. package/dist/dev/src/components/method/method.js.map +1 -0
  353. package/dist/dev/src/components/method/method.test.js +358 -0
  354. package/dist/dev/src/components/method/method.test.js.map +1 -0
  355. package/dist/dev/src/components/method-scope.js +30 -0
  356. package/dist/dev/src/components/method-scope.js.map +1 -0
  357. package/dist/dev/src/components/namespace/namespace-name.js +20 -0
  358. package/dist/dev/src/components/namespace/namespace-name.js.map +1 -0
  359. package/dist/dev/src/components/namespace/namespace.js +60 -0
  360. package/dist/dev/src/components/namespace/namespace.js.map +1 -0
  361. package/dist/dev/src/components/namespace/namespace.test.js +416 -0
  362. package/dist/dev/src/components/namespace/namespace.test.js.map +1 -0
  363. package/dist/dev/src/components/namespace-scopes.js +68 -0
  364. package/dist/dev/src/components/namespace-scopes.js.map +1 -0
  365. package/dist/dev/src/components/namespace.ref.test.js +419 -0
  366. package/dist/dev/src/components/namespace.ref.test.js.map +1 -0
  367. package/dist/dev/src/components/parameters/parameters.js +96 -0
  368. package/dist/dev/src/components/parameters/parameters.js.map +1 -0
  369. package/dist/dev/src/components/parameters/parameters.test.js +317 -0
  370. package/dist/dev/src/components/parameters/parameters.test.js.map +1 -0
  371. package/dist/dev/src/components/property/property.js +115 -0
  372. package/dist/dev/src/components/property/property.js.map +1 -0
  373. package/dist/dev/src/components/property/property.test.js +395 -0
  374. package/dist/dev/src/components/property/property.test.js.map +1 -0
  375. package/dist/dev/src/components/record/declaration.js +132 -0
  376. package/dist/dev/src/components/record/declaration.js.map +1 -0
  377. package/dist/dev/src/components/record/declaration.test.js +231 -0
  378. package/dist/dev/src/components/record/declaration.test.js.map +1 -0
  379. package/dist/dev/src/components/region/region.js +14 -0
  380. package/dist/dev/src/components/region/region.js.map +1 -0
  381. package/dist/dev/src/components/region/region.test.js +39 -0
  382. package/dist/dev/src/components/region/region.test.js.map +1 -0
  383. package/dist/dev/src/components/source-file/source-file.js +163 -0
  384. package/dist/dev/src/components/source-file/source-file.js.map +1 -0
  385. package/dist/dev/src/components/source-file/source-file.test.js +271 -0
  386. package/dist/dev/src/components/source-file/source-file.test.js.map +1 -0
  387. package/dist/dev/src/components/source-file/using.test.js +201 -0
  388. package/dist/dev/src/components/source-file/using.test.js.map +1 -0
  389. package/dist/dev/src/components/stc/index.js +13 -0
  390. package/dist/dev/src/components/stc/index.js.map +1 -0
  391. package/dist/dev/src/components/struct/declaration.js +113 -0
  392. package/dist/dev/src/components/struct/declaration.js.map +1 -0
  393. package/dist/dev/src/components/struct/declaration.test.js +400 -0
  394. package/dist/dev/src/components/struct/declaration.test.js.map +1 -0
  395. package/dist/dev/src/components/type-parameters/type-parameter-constraints.js +73 -0
  396. package/dist/dev/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
  397. package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js +92 -0
  398. package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
  399. package/dist/dev/src/components/type-parameters/type-parameter.js +28 -0
  400. package/dist/dev/src/components/type-parameters/type-parameter.js.map +1 -0
  401. package/dist/dev/src/components/type-parameters/type-parameters.js +71 -0
  402. package/dist/dev/src/components/type-parameters/type-parameters.js.map +1 -0
  403. package/dist/dev/src/components/type-parameters/type-parameters.test.js +103 -0
  404. package/dist/dev/src/components/type-parameters/type-parameters.test.js.map +1 -0
  405. package/dist/dev/src/components/using/using.js +45 -0
  406. package/dist/dev/src/components/using/using.js.map +1 -0
  407. package/dist/dev/src/components/using/using.test.js +27 -0
  408. package/dist/dev/src/components/using/using.test.js.map +1 -0
  409. package/dist/dev/src/components/var/declaration.js +72 -0
  410. package/dist/dev/src/components/var/declaration.js.map +1 -0
  411. package/dist/dev/src/components/var/declaration.test.js +167 -0
  412. package/dist/dev/src/components/var/declaration.test.js.map +1 -0
  413. package/dist/dev/src/contexts/format-options.js +9 -0
  414. package/dist/dev/src/contexts/format-options.js.map +1 -0
  415. package/dist/dev/src/contexts/global-namespace.js +30 -0
  416. package/dist/dev/src/contexts/global-namespace.js.map +1 -0
  417. package/dist/dev/src/contexts/namespace.js +6 -0
  418. package/dist/dev/src/contexts/namespace.js.map +1 -0
  419. package/dist/dev/src/contexts/reference-context.js +15 -0
  420. package/dist/dev/src/contexts/reference-context.js.map +1 -0
  421. package/dist/dev/src/create-library.js +136 -0
  422. package/dist/dev/src/create-library.js.map +1 -0
  423. package/dist/dev/src/create-library.test.js +289 -0
  424. package/dist/dev/src/create-library.test.js.map +1 -0
  425. package/dist/dev/src/index.js +9 -0
  426. package/dist/dev/src/index.js.map +1 -0
  427. package/dist/dev/src/modifiers.js +21 -0
  428. package/dist/dev/src/modifiers.js.map +1 -0
  429. package/dist/dev/src/name-policy.js +36 -0
  430. package/dist/dev/src/name-policy.js.map +1 -0
  431. package/dist/dev/src/scopes/class.js +11 -0
  432. package/dist/dev/src/scopes/class.js.map +1 -0
  433. package/dist/dev/src/scopes/contexts.js +34 -0
  434. package/dist/dev/src/scopes/contexts.js.map +1 -0
  435. package/dist/dev/src/scopes/csharp.js +25 -0
  436. package/dist/dev/src/scopes/csharp.js.map +1 -0
  437. package/dist/dev/src/scopes/factories.js +25 -0
  438. package/dist/dev/src/scopes/factories.js.map +1 -0
  439. package/dist/dev/src/scopes/index.js +10 -0
  440. package/dist/dev/src/scopes/index.js.map +1 -0
  441. package/dist/dev/src/scopes/lexical.js +8 -0
  442. package/dist/dev/src/scopes/lexical.js.map +1 -0
  443. package/dist/dev/src/scopes/method.js +14 -0
  444. package/dist/dev/src/scopes/method.js.map +1 -0
  445. package/dist/dev/src/scopes/named-type.js +33 -0
  446. package/dist/dev/src/scopes/named-type.js.map +1 -0
  447. package/dist/dev/src/scopes/namespace.js +39 -0
  448. package/dist/dev/src/scopes/namespace.js.map +1 -0
  449. package/dist/dev/src/scopes/source-file.js +44 -0
  450. package/dist/dev/src/scopes/source-file.js.map +1 -0
  451. package/dist/dev/src/symbols/csharp.js +263 -0
  452. package/dist/dev/src/symbols/csharp.js.map +1 -0
  453. package/dist/dev/src/symbols/factories.js +145 -0
  454. package/dist/dev/src/symbols/factories.js.map +1 -0
  455. package/dist/dev/src/symbols/index.js +7 -0
  456. package/dist/dev/src/symbols/index.js.map +1 -0
  457. package/dist/dev/src/symbols/method.js +16 -0
  458. package/dist/dev/src/symbols/method.js.map +1 -0
  459. package/dist/dev/src/symbols/named-type.js +42 -0
  460. package/dist/dev/src/symbols/named-type.js.map +1 -0
  461. package/dist/dev/src/symbols/namespace.js +55 -0
  462. package/dist/dev/src/symbols/namespace.js.map +1 -0
  463. package/dist/dev/src/symbols/reference.js +79 -0
  464. package/dist/dev/src/symbols/reference.js.map +1 -0
  465. package/dist/dev/test/utils.js +111 -0
  466. package/dist/dev/test/utils.js.map +1 -0
  467. package/dist/dev/test/vitest.setup.js +2 -0
  468. package/dist/dev/test/vitest.setup.js.map +1 -0
  469. package/dist/dev/testing/create-wrapper.js +13 -0
  470. package/dist/dev/testing/create-wrapper.js.map +1 -0
  471. package/dist/dev/testing/create-wrapper.test.js +300 -0
  472. package/dist/dev/testing/create-wrapper.test.js.map +1 -0
  473. package/dist/dev/testing/index.js +2 -0
  474. package/dist/dev/testing/index.js.map +1 -0
  475. package/dist/src/components/namespace/namespace.d.ts.map +1 -1
  476. package/dist/src/components/namespace/namespace.js +11 -13
  477. package/dist/src/components/namespace/namespace.js.map +1 -1
  478. package/dist/src/components/namespace/namespace.test.js +61 -2
  479. package/dist/src/components/namespace/namespace.test.js.map +1 -1
  480. package/dist/src/components/namespace-scopes.d.ts +16 -0
  481. package/dist/src/components/namespace-scopes.d.ts.map +1 -1
  482. package/dist/src/components/namespace-scopes.js +8 -1
  483. package/dist/src/components/namespace-scopes.js.map +1 -1
  484. package/dist/src/components/namespace.ref.test.js +41 -0
  485. package/dist/src/components/namespace.ref.test.js.map +1 -1
  486. package/dist/tsconfig.tsbuildinfo +1 -1
  487. package/package.json +13 -6
  488. package/src/components/namespace/namespace.test.tsx +42 -1
  489. package/src/components/namespace/namespace.tsx +16 -8
  490. package/src/components/namespace-scopes.tsx +25 -1
  491. package/src/components/namespace.ref.test.tsx +29 -0
  492. package/vitest.config.ts +8 -0
@@ -0,0 +1,44 @@
1
+ import { shallowReactive, track, TrackOpTypes, trigger, TriggerOpTypes, useScope } from "@alloy-js/core";
2
+ import { CSharpLexicalScope } from "./lexical.js";
3
+ export class CSharpSourceFileScope extends CSharpLexicalScope {
4
+ #usings = shallowReactive(new Set());
5
+ constructor(name, parent, options) {
6
+ super(name, parent, options);
7
+ }
8
+ get usings() {
9
+ return this.#usings;
10
+ }
11
+ get parent() {
12
+ return super.parent;
13
+ }
14
+ set parent(v) {
15
+ super.parent = v;
16
+ }
17
+ addUsing(using) {
18
+ this.#usings.add(using);
19
+ }
20
+ #hasBlockNamespace = false;
21
+ get hasBlockNamespace() {
22
+ track(this, TrackOpTypes.GET, "hasBlockNamespace");
23
+ return this.#hasBlockNamespace;
24
+ }
25
+ set hasBlockNamespace(value) {
26
+ const old = this.#hasBlockNamespace;
27
+ if (this.#hasBlockNamespace === value) {
28
+ return;
29
+ }
30
+ this.#hasBlockNamespace = value;
31
+ trigger(this, TriggerOpTypes.SET, "hasBlockNamespace", value, old);
32
+ }
33
+ }
34
+ export function useSourceFileScope() {
35
+ let scope = useScope();
36
+ while (scope) {
37
+ if (scope instanceof CSharpSourceFileScope) {
38
+ return scope;
39
+ }
40
+ scope = scope.parent;
41
+ }
42
+ return undefined;
43
+ }
44
+ //# sourceMappingURL=source-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shallowReactive","track","TrackOpTypes","trigger","TriggerOpTypes","useScope","CSharpLexicalScope","CSharpSourceFileScope","usings","Set","constructor","name","parent","options","v","addUsing","using","add","hasBlockNamespace","GET","value","old","SET","useSourceFileScope","scope","undefined"],"sources":["../../../../src/scopes/source-file.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,EACfC,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,EACdC,QAAQ,QACH,gBAAgB;AAEvB,SAASC,kBAAkB,QAAQ,cAAc;AAGjD,OAAO,MAAMC,qBAAqB,SAASD,kBAAkB,CAAC;EAC5D,CAACE,MAAM,GAAGR,eAAe,CAAuB,IAAIS,GAAG,CAAC,CAAC,CAAC;EAE1DC,WAAWA,CACTC,IAAY,EACZC,MAA6B,EAC7BC,OAA4B,EAC5B;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC9B;EACA,IAAIL,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAAC,CAACA,MAAM;EACrB;EAEA,IAAII,MAAMA,CAAA,EAAG;IACX,OAAO,KAAK,CAACA,MAAM;EACrB;EAEA,IAAIA,MAAMA,CAACE,CAAuB,EAAE;IAClC,KAAK,CAACF,MAAM,GAAGE,CAAC;EAClB;EAEAC,QAAQA,CAACC,KAAsB,EAAE;IAC/B,IAAI,CAAC,CAACR,MAAM,CAACS,GAAG,CAACD,KAAK,CAAC;EACzB;EAEA,CAACE,iBAAiB,GAAY,KAAK;EACnC,IAAIA,iBAAiBA,CAAA,EAAG;IACtBjB,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACiB,GAAG,EAAE,mBAAmB,CAAC;IAClD,OAAO,IAAI,CAAC,CAACD,iBAAiB;EAChC;EAEA,IAAIA,iBAAiBA,CAACE,KAAc,EAAE;IACpC,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACH,iBAAiB;IACnC,IAAI,IAAI,CAAC,CAACA,iBAAiB,KAAKE,KAAK,EAAE;MACrC;IACF;IACA,IAAI,CAAC,CAACF,iBAAiB,GAAGE,KAAK;IAC/BjB,OAAO,CAAC,IAAI,EAAEC,cAAc,CAACkB,GAAG,EAAE,mBAAmB,EAAEF,KAAK,EAAEC,GAAG,CAAC;EACpE;AACF;AAEA,OAAO,SAASE,kBAAkBA,CAAA,EAAG;EACnC,IAAIC,KAA8B,GAAGnB,QAAQ,CAAC,CAAC;EAC/C,OAAOmB,KAAK,EAAE;IACZ,IAAIA,KAAK,YAAYjB,qBAAqB,EAAE;MAC1C,OAAOiB,KAAK;IACd;IACAA,KAAK,GAAGA,KAAK,CAACZ,MAAM;EACtB;EAEA,OAAOa,SAAS;AAClB","ignoreList":[]}
@@ -0,0 +1,263 @@
1
+ import { createSymbol, OutputDeclarationSpace, OutputMemberSpace, OutputSymbol, track, TrackOpTypes, trigger, TriggerOpTypes, watch } from "@alloy-js/core";
2
+ /**
3
+ * This is the base type for all symbols in C#.
4
+ *
5
+ * Many subtypes of this symbol exist for specific purposes. However, this symbol
6
+ * may be used in cases where a more specific symbol is not required.
7
+ *
8
+ * @remarks
9
+ *
10
+ * This is roughly equivalent to the Roslyn ISymbol interface:
11
+ * https://learn.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.isymbol?view=roslyn-dotnet-4.13.0
12
+ */
13
+ export class CSharpSymbol extends OutputSymbol {
14
+ symbolKind = "symbol";
15
+ constructor(name, spaces, options = {}) {
16
+ super(name, spaces, options);
17
+ this.#accessibility = options.accessibility;
18
+ this.#isAbstract = options.isAbstract ?? false;
19
+ this.#isVirtual = options.isVirtual ?? false;
20
+ this.#isStatic = options.isStatic ?? false;
21
+ this.#isOverride = options.isOverride ?? false;
22
+ this.#isSealed = options.isSealed ?? false;
23
+ this.#isExtern = options.isExtern ?? false;
24
+ this.#isReadOnly = options.isReadOnly ?? false;
25
+ this.#isNullable = options.isNullable; // undefined means unset, here.
26
+ }
27
+ get enclosingNamespace() {
28
+ if (this.spaces.length === 0) {
29
+ return undefined;
30
+ }
31
+
32
+ // todo: probably need to validate that a symbol can't belong to spaces in
33
+ // multiple namespaces.
34
+ const firstSpace = this.spaces[0];
35
+ if (firstSpace instanceof OutputMemberSpace) {
36
+ // this symbol is a member of something, so get the enclosing namespace from
37
+ // the symbol.
38
+
39
+ if (firstSpace.symbol.constructor.name === "NamespaceSymbol") {
40
+ // this is a namespace symbol, so return the namespace symbol itself.
41
+ // can't use instanceof here due to circular reference issues.
42
+ return firstSpace.symbol;
43
+ }
44
+ return firstSpace.symbol.enclosingNamespace;
45
+ } else if (firstSpace instanceof OutputDeclarationSpace) {
46
+ // this symbol is in a lexical scope, so get the namespace symbol from the
47
+ // scope.
48
+ return firstSpace.scope.enclosingNamespace;
49
+ }
50
+ throw new Error("No place to get namespace symbol from");
51
+ return undefined;
52
+ }
53
+ #accessibility;
54
+ get accessibility() {
55
+ track(this, TrackOpTypes.GET, "accessibility");
56
+ return this.#accessibility;
57
+ }
58
+ set accessibility(value) {
59
+ const old = this.#accessibility;
60
+ if (old === value) {
61
+ return;
62
+ }
63
+ this.#accessibility = value;
64
+ trigger(this, TriggerOpTypes.SET, "accessibility", value, old);
65
+ }
66
+ copy() {
67
+ const options = this.getCopyOptions();
68
+ const binder = this.binder;
69
+ const copy = createSymbol(CSharpSymbol, this.name, undefined, {
70
+ ...options,
71
+ binder,
72
+ accessibility: this.#accessibility,
73
+ isStatic: this.#isStatic,
74
+ isVirtual: this.#isVirtual,
75
+ isAbstract: this.#isAbstract,
76
+ isOverride: this.#isOverride,
77
+ isSealed: this.#isSealed,
78
+ isExtern: this.#isExtern,
79
+ isReadOnly: this.#isReadOnly
80
+ });
81
+ this.initializeCopy(copy);
82
+ watch(() => this.accessibility, newAccessibility => {
83
+ copy.accessibility = newAccessibility;
84
+ });
85
+ return copy;
86
+ }
87
+ get debugInfo() {
88
+ return {
89
+ ...super.debugInfo,
90
+ kind: this.symbolKind,
91
+ accessibility: this.accessibility,
92
+ isAbstract: this.isAbstract,
93
+ isVirtual: this.isVirtual,
94
+ isOverride: this.isOverride,
95
+ isStatic: this.isStatic,
96
+ isSealed: this.isSealed,
97
+ isExtern: this.isExtern,
98
+ isReadOnly: this.isReadOnly,
99
+ isNullable: this.isNullable
100
+ };
101
+ }
102
+
103
+ /**
104
+ * Whether this symbol is static.
105
+ */
106
+ get isStatic() {
107
+ track(this, TrackOpTypes.GET, "isStatic");
108
+ return this.#isStatic;
109
+ }
110
+ set isStatic(value) {
111
+ const old = this.#isStatic;
112
+ if (old === value) {
113
+ return;
114
+ }
115
+ this.#isStatic = value;
116
+ trigger(this, TriggerOpTypes.SET, "isStatic", value, old);
117
+ }
118
+ #isStatic = false;
119
+
120
+ /**
121
+ * Whether this symbol is virtual.
122
+ */
123
+ get isVirtual() {
124
+ track(this, TrackOpTypes.GET, "isVirtual");
125
+ return this.#isVirtual;
126
+ }
127
+ set isVirtual(value) {
128
+ const old = this.#isVirtual;
129
+ if (old === value) {
130
+ return;
131
+ }
132
+ this.#isVirtual = value;
133
+ trigger(this, TriggerOpTypes.SET, "isVirtual", value, old);
134
+ }
135
+ #isVirtual = false;
136
+
137
+ /**
138
+ * Whether this symbol is abstract.
139
+ */
140
+ get isAbstract() {
141
+ track(this, TrackOpTypes.GET, "isAbstract");
142
+ return this.#isAbstract;
143
+ }
144
+ set isAbstract(value) {
145
+ const old = this.#isAbstract;
146
+ if (old === value) {
147
+ return;
148
+ }
149
+ this.#isAbstract = value;
150
+ trigger(this, TriggerOpTypes.SET, "isAbstract", value, old);
151
+ }
152
+ #isAbstract = false;
153
+
154
+ /**
155
+ * Whether this symbol is override.
156
+ */
157
+ get isOverride() {
158
+ track(this, TrackOpTypes.GET, "isOverride");
159
+ return this.#isOverride;
160
+ }
161
+ set isOverride(value) {
162
+ const old = this.#isOverride;
163
+ if (old === value) {
164
+ return;
165
+ }
166
+ this.#isOverride = value;
167
+ trigger(this, TriggerOpTypes.SET, "isOverride", value, old);
168
+ }
169
+ #isOverride = false;
170
+
171
+ /**
172
+ * Whether this symbol is sealed.
173
+ */
174
+ get isSealed() {
175
+ track(this, TrackOpTypes.GET, "isSealed");
176
+ return this.#isSealed;
177
+ }
178
+ set isSealed(value) {
179
+ const old = this.#isSealed;
180
+ if (old === value) {
181
+ return;
182
+ }
183
+ this.#isSealed = value;
184
+ trigger(this, TriggerOpTypes.SET, "isSealed", value, old);
185
+ }
186
+ #isSealed = false;
187
+
188
+ /**
189
+ * Whether this symbol is extern.
190
+ */
191
+ get isExtern() {
192
+ track(this, TrackOpTypes.GET, "isExtern");
193
+ return this.#isExtern;
194
+ }
195
+ set isExtern(value) {
196
+ const old = this.#isExtern;
197
+ if (old === value) {
198
+ return;
199
+ }
200
+ this.#isExtern = value;
201
+ trigger(this, TriggerOpTypes.SET, "isExtern", value, old);
202
+ }
203
+ #isExtern = false;
204
+
205
+ /**
206
+ * Whether this symbol is readonly.
207
+ */
208
+ get isReadOnly() {
209
+ track(this, TrackOpTypes.GET, "isReadOnly");
210
+ return this.#isReadOnly;
211
+ }
212
+ set isReadOnly(value) {
213
+ const old = this.#isReadOnly;
214
+ if (old === value) {
215
+ return;
216
+ }
217
+ this.#isReadOnly = value;
218
+ trigger(this, TriggerOpTypes.SET, "isReadOnly", value, old);
219
+ }
220
+ #isReadOnly = false;
221
+ #isNullable = undefined;
222
+
223
+ /**
224
+ * Whether this symbol might contain null. True if this symbol has a
225
+ * `typeSymbol` and that symbol is nullable, or else when this symbol has the
226
+ * `nullable` option set.
227
+ */
228
+ get isNullable() {
229
+ if (this.hasTypeSymbol && this.#isNullable === undefined) {
230
+ return this.type.isNullable;
231
+ }
232
+ track(this, TrackOpTypes.GET, "isNullable");
233
+ return !!this.#isNullable;
234
+ }
235
+ set isNullable(value) {
236
+ const old = this.#isNullable;
237
+ if (old === value) {
238
+ return;
239
+ }
240
+ this.#isNullable = value;
241
+ trigger(this, TriggerOpTypes.SET, "isNullable", value, old);
242
+ }
243
+ }
244
+ export function accessibilityFromProps(props) {
245
+ for (const key of ["public", "internal", "protected", "private"]) {
246
+ if (props[key]) {
247
+ return key;
248
+ }
249
+ }
250
+ return "private";
251
+ }
252
+ export function nonAccessibilityFromProps(props) {
253
+ return {
254
+ isOverride: props.override ?? false,
255
+ isAbstract: props.abstract ?? false,
256
+ isVirtual: props.virtual ?? false,
257
+ isStatic: props.static ?? false,
258
+ isSealed: props.sealed ?? false,
259
+ isExtern: props.extern ?? false,
260
+ isReadOnly: props.readOnly ?? false
261
+ };
262
+ }
263
+ //# sourceMappingURL=csharp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSymbol","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","binder","initializeCopy","newAccessibility","debugInfo","kind","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":[]}
@@ -0,0 +1,145 @@
1
+ import { createSymbol, onCleanup, useBinder } from "@alloy-js/core";
2
+ import { getGlobalNamespace } from "../contexts/global-namespace.js";
3
+ import { useNamespaceContext } from "../contexts/namespace.js";
4
+ import { useCSharpNamePolicy } from "../name-policy.js";
5
+ import { CSharpClassScope } from "../scopes/class.js";
6
+ import { useCSharpScope, useNamedTypeScope } from "../scopes/contexts.js";
7
+ import { CSharpLexicalScope } from "../scopes/lexical.js";
8
+ import { CSharpMethodScope } from "../scopes/method.js";
9
+ import { CSharpNamedTypeScope } from "../scopes/named-type.js";
10
+ import { CSharpNamespaceScope } from "../scopes/namespace.js";
11
+ import { CSharpSourceFileScope } from "../scopes/source-file.js";
12
+ import { CSharpSymbol } from "./csharp.js";
13
+ import { MethodSymbol } from "./method.js";
14
+ import { NamedTypeSymbol } from "./named-type.js";
15
+ import { NamespaceSymbol } from "./namespace.js";
16
+
17
+ /**
18
+ * Create a symbol for a parameter in the current method scope.
19
+ */
20
+ export function createParameterSymbol(originalName, options = {}) {
21
+ const scope = useCSharpScope();
22
+ if (!(scope instanceof CSharpMethodScope) && !(scope instanceof CSharpClassScope)) {
23
+ throw new Error(`Can't create parameter symbol outside of a method or class scope.`);
24
+ }
25
+ const binder = options.binder ?? scope.binder;
26
+ return createSymbol(CSharpSymbol, originalName, scope.parameters, {
27
+ ...withNamePolicy(options, "parameter"),
28
+ binder
29
+ });
30
+ }
31
+ export function createTypeParameterSymbol(originalName, options = {}) {
32
+ const scope = options.scope ?? useCSharpScope();
33
+ if (!(scope instanceof CSharpMethodScope) && !(scope instanceof CSharpNamedTypeScope)) {
34
+ throw new Error("Can't create a type parameter symbol outside of a method or named type scope.");
35
+ }
36
+ const binder = options.binder ?? scope.binder;
37
+ return createSymbol(CSharpSymbol, originalName, scope.typeParameters, {
38
+ ...withNamePolicy(options, "type-parameter"),
39
+ binder
40
+ });
41
+ }
42
+ export function createFieldSymbol(originalName, options = {}) {
43
+ let nameElement = "class-member-private";
44
+ if (options.accessibility === "public" || options.accessibility === "internal" || options.accessibility === "protected") {
45
+ nameElement = "class-member-public";
46
+ }
47
+ const scope = useNamedTypeScope();
48
+ if (scope.ownerSymbol.typeKind !== "class" && scope.ownerSymbol.typeKind !== "struct") {
49
+ throw new Error(`Can't define a field outside of a class or struct.`);
50
+ }
51
+ const binder = options.binder ?? scope.binder;
52
+ return createSymbol(CSharpSymbol, originalName, scope.members, {
53
+ ...withNamePolicy(options, nameElement),
54
+ binder
55
+ });
56
+ }
57
+ function withCleanup(sym) {
58
+ onCleanup(() => {
59
+ sym.delete();
60
+ });
61
+ return sym;
62
+ }
63
+ export function createNamedTypeSymbol(name, kind, options) {
64
+ const scope = useNamedTypeScope();
65
+ const binder = options?.binder ?? scope.ownerSymbol.binder;
66
+ return withCleanup(createSymbol(NamedTypeSymbol, name, scope.ownerSymbol.members, kind, {
67
+ ...options,
68
+ binder
69
+ }));
70
+ }
71
+ export function createNamespaceSymbol(name, options = {}) {
72
+ const scope = useNamespaceContext();
73
+ const parentSymbol = scope?.symbol ?? getGlobalNamespace(options.binder ?? scope?.symbol?.binder ?? useBinder());
74
+ const names = normalizeNamespaceName(name);
75
+ let current = parentSymbol;
76
+ for (const name of names) {
77
+ current = createNamespaceSymbolInternal(name, current, options);
78
+ }
79
+ return current;
80
+ }
81
+ function normalizeNamespaceName(name) {
82
+ if (Array.isArray(name)) {
83
+ return name;
84
+ }
85
+ if (typeof name === "string" && name.includes(".")) {
86
+ return name.split(".");
87
+ }
88
+ return [name];
89
+ }
90
+ function createNamespaceSymbolInternal(name, parentSymbol, options = {}) {
91
+ const namePolicy = options.namePolicy ?? useCSharpNamePolicy().for("namespace");
92
+ const expectedName = namePolicy(typeof name === "string" ? name : name.name);
93
+ if (parentSymbol.members.symbolNames.has(expectedName)) {
94
+ return parentSymbol.members.symbolNames.get(expectedName);
95
+ }
96
+ const binder = options.binder ?? parentSymbol.binder;
97
+ return withCleanup(createSymbol(NamespaceSymbol, name, parentSymbol, {
98
+ ...withNamePolicy(options, "namespace"),
99
+ binder
100
+ }));
101
+ }
102
+ export function createMethodSymbol(originalName, options = {}) {
103
+ const scope = useNamedTypeScope();
104
+ if (scope.ownerSymbol.typeKind !== "class" && scope.ownerSymbol.typeKind !== "interface" && scope.ownerSymbol.typeKind !== "struct") {
105
+ throw new Error(`Can't define a method outside of a class, interface, or struct.`);
106
+ }
107
+ const binder = options.binder ?? scope.binder;
108
+ return withCleanup(createSymbol(MethodSymbol, originalName, scope.members, options.methodKind ?? "ordinary", {
109
+ ...withNamePolicy(options, "class-method"),
110
+ binder
111
+ }));
112
+ }
113
+ export function createPropertySymbol(name, options) {
114
+ const scope = useNamedTypeScope();
115
+ const binder = options.binder ?? scope.binder;
116
+ return withCleanup(createSymbol(CSharpSymbol, name, scope.members, {
117
+ ...withNamePolicy(options, "class-property"),
118
+ binder
119
+ }));
120
+ }
121
+ export function createVariableSymbol(originalName, options = {}) {
122
+ let scope = useCSharpScope();
123
+ if (scope instanceof CSharpNamespaceScope && scope.ownerSymbol === getGlobalNamespace(scope.ownerSymbol.binder)) {
124
+ // allow top-level variables in the global namespace, which are local to the source file.
125
+ scope = scope.parent;
126
+ if (!(scope instanceof CSharpSourceFileScope)) {
127
+ throw new Error("Variable declarations must be in the global namespace or within a lexical scope.");
128
+ }
129
+ }
130
+ if (!(scope instanceof CSharpLexicalScope)) {
131
+ throw new Error(`Can't create variable symbol outside of a lexical scope, got a ${scope.constructor.name}.`);
132
+ }
133
+ const binder = options.binder ?? scope.binder;
134
+ return withCleanup(createSymbol(CSharpSymbol, originalName, scope.localVariables, {
135
+ ...withNamePolicy(options, "variable"),
136
+ binder
137
+ }));
138
+ }
139
+ function withNamePolicy(options, elementType) {
140
+ return {
141
+ ...options,
142
+ namePolicy: options.namePolicy ?? useCSharpNamePolicy().for(elementType)
143
+ };
144
+ }
145
+ //# sourceMappingURL=factories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSymbol","onCleanup","useBinder","getGlobalNamespace","useNamespaceContext","useCSharpNamePolicy","CSharpClassScope","useCSharpScope","useNamedTypeScope","CSharpLexicalScope","CSharpMethodScope","CSharpNamedTypeScope","CSharpNamespaceScope","CSharpSourceFileScope","CSharpSymbol","MethodSymbol","NamedTypeSymbol","NamespaceSymbol","createParameterSymbol","originalName","options","scope","Error","binder","parameters","withNamePolicy","createTypeParameterSymbol","typeParameters","createFieldSymbol","nameElement","accessibility","ownerSymbol","typeKind","members","withCleanup","sym","delete","createNamedTypeSymbol","name","kind","createNamespaceSymbol","parentSymbol","symbol","names","normalizeNamespaceName","current","createNamespaceSymbolInternal","Array","isArray","includes","split","namePolicy","for","expectedName","symbolNames","has","get","createMethodSymbol","methodKind","createPropertySymbol","createVariableSymbol","parent","constructor","localVariables","elementType"],"sources":["../../../../src/symbols/factories.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export * from "./csharp.js";
2
+ export * from "./factories.js";
3
+ export * from "./method.js";
4
+ export * from "./named-type.js";
5
+ export * from "./namespace.js";
6
+ export * from "./reference.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { CSharpSymbol } from "./csharp.js";
2
+ /**
3
+ * A symbol for a method or constructor of a class, interface, or struct.
4
+ */
5
+ export class MethodSymbol extends CSharpSymbol {
6
+ symbolKind = "method";
7
+ #methodKind;
8
+ get methodKind() {
9
+ return this.#methodKind;
10
+ }
11
+ constructor(name, spaces, kind, options = {}) {
12
+ super(name, spaces, options);
13
+ this.#methodKind = kind;
14
+ }
15
+ }
16
+ //# sourceMappingURL=method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CSharpSymbol","MethodSymbol","symbolKind","methodKind","constructor","name","spaces","kind","options"],"sources":["../../../../src/symbols/method.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,YAAY,QAA6B,aAAa;AAI/D;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASD,YAAY,CAAC;EAC7BE,UAAU,GAAG,QAAQ;EAErC,CAACC,UAAU;EACX,IAAIA,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAC,CAACA,UAAU;EACzB;EAEAC,WAAWA,CACTC,IAAsB,EACtBC,MAA+B,EAC/BC,IAAiB,EACjBC,OAA4B,GAAG,CAAC,CAAC,EACjC;IACA,KAAK,CAACH,IAAI,EAAEC,MAAM,EAAEE,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACL,UAAU,GAAGI,IAAI;EACzB;AACF","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import { createSymbol } from "@alloy-js/core";
2
+ import { CSharpSymbol } from "./csharp.js";
3
+
4
+ // represents a symbol from a .cs file. Class, enum, interface etc.
5
+
6
+ /**
7
+ * A symbol for a named type in C# such as a class, interface, enum, and so
8
+ * forth. Named types are generally defined in a namespace, and can have members
9
+ * of their own.
10
+ */
11
+ export class NamedTypeSymbol extends CSharpSymbol {
12
+ symbolKind = "named-type";
13
+ static memberSpaces = ["members"];
14
+ constructor(name, spaces, kind, options) {
15
+ super(name, spaces, options);
16
+ this.#typeKind = kind;
17
+ }
18
+ #typeKind;
19
+ get typeKind() {
20
+ return this.#typeKind;
21
+ }
22
+ copy() {
23
+ const options = this.getCopyOptions();
24
+ const binder = this.binder;
25
+ const copy = createSymbol(NamedTypeSymbol, this.name, undefined, this.#typeKind, {
26
+ ...options,
27
+ binder
28
+ });
29
+ this.initializeCopy(copy);
30
+ return copy;
31
+ }
32
+ get members() {
33
+ return this.memberSpaceFor("members");
34
+ }
35
+ get debugInfo() {
36
+ return {
37
+ ...super.debugInfo,
38
+ typeKind: this.typeKind
39
+ };
40
+ }
41
+ }
42
+ //# sourceMappingURL=named-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSymbol","CSharpSymbol","NamedTypeSymbol","symbolKind","memberSpaces","constructor","name","spaces","kind","options","typeKind","copy","getCopyOptions","binder","undefined","initializeCopy","members","memberSpaceFor","debugInfo"],"sources":["../../../../src/symbols/named-type.ts"],"sourcesContent":[null],"mappings":"AAAA,SAA+BA,YAAY,QAAQ,gBAAgB;AACnE,SAASC,YAAY,QAA6B,aAAa;;AAE/D;;AAWA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,SAASD,YAAY,CAAC;EAChCE,UAAU,GAAwB,YAAY;EAC9D,OAAuBC,YAAY,GAAG,CAAC,SAAS,CAAC;EAEjDC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,IAAuB,EACvBC,OAA6B,EAC7B;IACA,KAAK,CAACH,IAAI,EAAEC,MAAM,EAAEE,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,QAAQ,GAAGF,IAAI;EACvB;EAEA,CAACE,QAAQ;EACT,IAAIA,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC,CAACA,QAAQ;EACvB;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAMF,OAAO,GAAG,IAAI,CAACG,cAAc,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM;IAC1B,MAAMF,IAAI,GAAGX,YAAY,CACvBE,eAAe,EACf,IAAI,CAACI,IAAI,EACTQ,SAAS,EACT,IAAI,CAAC,CAACJ,QAAQ,EACd;MACE,GAAGD,OAAO;MACVI;IACF,CACF,CAAC;IACD,IAAI,CAACE,cAAc,CAACJ,IAAI,CAAC;IACzB,OAAOA,IAAI;EACb;EAEA,IAAIK,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,cAAc,CAAC,SAAS,CAAC;EACvC;EAEA,IAAaC,SAASA,CAAA,EAA4B;IAChD,OAAO;MACL,GAAG,KAAK,CAACA,SAAS;MAClBR,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ import { createSymbol } from "@alloy-js/core";
2
+ import { NamedTypeSymbol } from "./named-type.js";
3
+ /**
4
+ * A symbol for a namespace in C#.
5
+ */
6
+ export class NamespaceSymbol extends NamedTypeSymbol {
7
+ symbolKind = "namespace";
8
+ constructor(name, parentNamespace, options) {
9
+ const space = parentNamespace?.members;
10
+ super(name, space, "namespace", options);
11
+ this.#isGlobal = !!options?.isGlobal;
12
+ }
13
+ #isGlobal;
14
+ /**
15
+ * Whether this symbol is the global namespace symbol.
16
+ */
17
+ get isGlobal() {
18
+ return this.#isGlobal;
19
+ }
20
+ getFullyQualifiedName(options = {}) {
21
+ const parts = [];
22
+
23
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
24
+ let current = this;
25
+ while (current && !current.isGlobal) {
26
+ parts.unshift(current.name);
27
+ current = current.ownerSymbol;
28
+ }
29
+ const idPart = parts.join(".");
30
+ if (options.omitGlobal) {
31
+ return idPart;
32
+ } else {
33
+ return `global::${idPart}`;
34
+ }
35
+ }
36
+ copy() {
37
+ const options = this.getCopyOptions();
38
+ const binder = this.binder;
39
+ const copy = createSymbol(NamespaceSymbol, this.name, undefined, {
40
+ ...options,
41
+ binder,
42
+ isGlobal: this.#isGlobal
43
+ });
44
+ this.initializeCopy(copy);
45
+ return copy;
46
+ }
47
+ get debugInfo() {
48
+ return {
49
+ ...super.debugInfo,
50
+ isGlobal: this.isGlobal,
51
+ fullyQualifiedName: this.getFullyQualifiedName()
52
+ };
53
+ }
54
+ }
55
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createSymbol","NamedTypeSymbol","NamespaceSymbol","symbolKind","constructor","name","parentNamespace","options","space","members","isGlobal","getFullyQualifiedName","parts","current","unshift","ownerSymbol","idPart","join","omitGlobal","copy","getCopyOptions","binder","undefined","initializeCopy","debugInfo","fullyQualifiedName"],"sources":["../../../../src/symbols/namespace.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAuCA,YAAY,QAAQ,gBAAgB;AAC3E,SAASC,eAAe,QAAQ,iBAAiB;AAMjD;AACA;AACA;AACA,OAAO,MAAMC,eAAe,SAASD,eAAe,CAAC;EACnCE,UAAU,GAAG,WAAW;EACxCC,WAAWA,CACTC,IAAsB,EACtBC,eAAiC,EACjCC,OAAgC,EAChC;IACA,MAAMC,KAAK,GAAGF,eAAe,EAAEG,OAAO;IAEtC,KAAK,CAACJ,IAAI,EAAEG,KAAK,EAAE,WAAW,EAAED,OAAO,CAAC;IAExC,IAAI,CAAC,CAACG,QAAQ,GAAG,CAAC,CAACH,OAAO,EAAEG,QAAQ;EACtC;EAEA,CAACA,QAAQ;EACT;AACF;AACA;EACE,IAAIA,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC,CAACA,QAAQ;EACvB;EAEAC,qBAAqBA,CAACJ,OAAiC,GAAG,CAAC,CAAC,EAAU;IACpE,MAAMK,KAAK,GAAG,EAAE;;IAEhB;IACA,IAAIC,OAAoC,GAAG,IAAI;IAE/C,OAAOA,OAAO,IAAI,CAACA,OAAO,CAACH,QAAQ,EAAE;MACnCE,KAAK,CAACE,OAAO,CAACD,OAAO,CAACR,IAAI,CAAC;MAC3BQ,OAAO,GAAGA,OAAO,CAACE,WAA0C;IAC9D;IAEA,MAAMC,MAAM,GAAGJ,KAAK,CAACK,IAAI,CAAC,GAAG,CAAC;IAE9B,IAAIV,OAAO,CAACW,UAAU,EAAE;MACtB,OAAOF,MAAM;IACf,CAAC,MAAM;MACL,OAAO,WAAWA,MAAM,EAAE;IAC5B;EACF;EAEAG,IAAIA,CAAA,EAAG;IACL,MAAMZ,OAAO,GAAG,IAAI,CAACa,cAAc,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM;IAC1B,MAAMF,IAAI,GAAGnB,YAAY,CAACE,eAAe,EAAE,IAAI,CAACG,IAAI,EAAEiB,SAAS,EAAE;MAC/D,GAAGf,OAAO;MACVc,MAAM;MACNX,QAAQ,EAAE,IAAI,CAAC,CAACA;IAClB,CAAC,CAAC;IACF,IAAI,CAACa,cAAc,CAACJ,IAAI,CAAC;IACzB,OAAOA,IAAI;EACb;EAEA,IAAaK,SAASA,CAAA,EAA4B;IAChD,OAAO;MACL,GAAG,KAAK,CAACA,SAAS;MAClBd,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBe,kBAAkB,EAAE,IAAI,CAACd,qBAAqB,CAAC;IACjD,CAAC;EACH;AACF","ignoreList":[]}