@alloy-js/csharp 0.23.0-dev.1 → 0.23.0-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -14
- package/dist/dev/scripts/components/library-interface.js +67 -0
- package/dist/dev/scripts/components/library-interface.js.map +1 -0
- package/dist/dev/scripts/components/namespace-directory.js +160 -0
- package/dist/dev/scripts/components/namespace-directory.js.map +1 -0
- package/dist/dev/scripts/generate-builtins.js +45 -0
- package/dist/dev/scripts/generate-builtins.js.map +1 -0
- package/dist/dev/scripts/process-docfx.js +316 -0
- package/dist/dev/scripts/process-docfx.js.map +1 -0
- package/dist/dev/src/access.js +73 -0
- package/dist/dev/src/access.js.map +1 -0
- package/dist/dev/src/access.test.js +43 -0
- package/dist/dev/src/access.test.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js +23 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/index.js +5 -0
- package/dist/dev/src/builtins/Microsoft/CSharp/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js +473 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js +2534 -0
- package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js +320 -0
- package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/Win32/index.js +362 -0
- package/dist/dev/src/builtins/Microsoft/Win32/index.js.map +1 -0
- package/dist/dev/src/builtins/Microsoft/index.js +7 -0
- package/dist/dev/src/builtins/Microsoft/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/Binary/index.js +536 -0
- package/dist/dev/src/builtins/System/Buffers/Binary/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/Text/index.js +144 -0
- package/dist/dev/src/builtins/System/Buffers/Text/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Buffers/index.js +605 -0
- package/dist/dev/src/builtins/System/Buffers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js +131 -0
- package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js.map +1 -0
- package/dist/dev/src/builtins/System/CodeDom/index.js +5 -0
- package/dist/dev/src/builtins/System/CodeDom/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Concurrent/index.js +399 -0
- package/dist/dev/src/builtins/System/Collections/Concurrent/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Frozen/index.js +88 -0
- package/dist/dev/src/builtins/System/Collections/Frozen/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Generic/index.js +978 -0
- package/dist/dev/src/builtins/System/Collections/Generic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Immutable/index.js +1049 -0
- package/dist/dev/src/builtins/System/Collections/Immutable/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js +394 -0
- package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/Specialized/index.js +716 -0
- package/dist/dev/src/builtins/System/Collections/Specialized/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Collections/index.js +1355 -0
- package/dist/dev/src/builtins/System/Collections/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js +143 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js +1237 -0
- package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js +535 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/index.js +2008 -0
- package/dist/dev/src/builtins/System/ComponentModel/Design/index.js.map +1 -0
- package/dist/dev/src/builtins/System/ComponentModel/index.js +6649 -0
- package/dist/dev/src/builtins/System/ComponentModel/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js +69 -0
- package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Configuration/index.js +5 -0
- package/dist/dev/src/builtins/System/Configuration/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/Common/index.js +3279 -0
- package/dist/dev/src/builtins/System/Data/Common/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/SqlTypes/index.js +2655 -0
- package/dist/dev/src/builtins/System/Data/SqlTypes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Data/index.js +4504 -0
- package/dist/dev/src/builtins/System/Data/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js +705 -0
- package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js +309 -0
- package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js +323 -0
- package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js +610 -0
- package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js +954 -0
- package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Diagnostics/index.js +3826 -0
- package/dist/dev/src/builtins/System/Diagnostics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Drawing/index.js +3305 -0
- package/dist/dev/src/builtins/System/Drawing/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Dynamic/index.js +795 -0
- package/dist/dev/src/builtins/System/Dynamic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/Asn1/index.js +843 -0
- package/dist/dev/src/builtins/System/Formats/Asn1/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/Tar/index.js +436 -0
- package/dist/dev/src/builtins/System/Formats/Tar/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Formats/index.js +6 -0
- package/dist/dev/src/builtins/System/Formats/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Globalization/index.js +3848 -0
- package/dist/dev/src/builtins/System/Globalization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Compression/index.js +894 -0
- package/dist/dev/src/builtins/System/IO/Compression/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Enumeration/index.js +218 -0
- package/dist/dev/src/builtins/System/IO/Enumeration/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js +495 -0
- package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js +251 -0
- package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Pipelines/index.js +415 -0
- package/dist/dev/src/builtins/System/IO/Pipelines/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/Pipes/index.js +723 -0
- package/dist/dev/src/builtins/System/IO/Pipes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/IO/index.js +3713 -0
- package/dist/dev/src/builtins/System/IO/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Linq/Expressions/index.js +2253 -0
- package/dist/dev/src/builtins/System/Linq/Expressions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Linq/index.js +275 -0
- package/dist/dev/src/builtins/System/Linq/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Cache/index.js +217 -0
- package/dist/dev/src/builtins/System/Net/Cache/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Headers/index.js +1668 -0
- package/dist/dev/src/builtins/System/Net/Http/Headers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Json/index.js +72 -0
- package/dist/dev/src/builtins/System/Net/Http/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js +40 -0
- package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Http/index.js +1458 -0
- package/dist/dev/src/builtins/System/Net/Http/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Mail/index.js +871 -0
- package/dist/dev/src/builtins/System/Net/Mail/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Mime/index.js +500 -0
- package/dist/dev/src/builtins/System/Net/Mime/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js +2776 -0
- package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Quic/index.js +635 -0
- package/dist/dev/src/builtins/System/Net/Quic/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Security/index.js +1432 -0
- package/dist/dev/src/builtins/System/Net/Security/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/Sockets/index.js +3095 -0
- package/dist/dev/src/builtins/System/Net/Sockets/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/WebSockets/index.js +876 -0
- package/dist/dev/src/builtins/System/Net/WebSockets/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Net/index.js +5481 -0
- package/dist/dev/src/builtins/System/Net/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Numerics/index.js +3425 -0
- package/dist/dev/src/builtins/System/Numerics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Emit/index.js +4293 -0
- package/dist/dev/src/builtins/System/Reflection/Emit/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js +2218 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/index.js +6045 -0
- package/dist/dev/src/builtins/System/Reflection/Metadata/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js +2020 -0
- package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Reflection/index.js +5244 -0
- package/dist/dev/src/builtins/System/Reflection/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Resources/index.js +289 -0
- package/dist/dev/src/builtins/System/Resources/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js +1896 -0
- package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js +103 -0
- package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js +62 -0
- package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js +67 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js +210 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js +1012 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js +79 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js +49 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js +3626 -0
- package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js +1297 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js +338 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js +1372 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js +273 -0
- package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Loader/index.js +140 -0
- package/dist/dev/src/builtins/System/Runtime/Loader/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Remoting/index.js +18 -0
- package/dist/dev/src/builtins/System/Runtime/Remoting/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js +265 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js +61 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js +83 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js +192 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/index.js +1611 -0
- package/dist/dev/src/builtins/System/Runtime/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/Versioning/index.js +336 -0
- package/dist/dev/src/builtins/System/Runtime/Versioning/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Runtime/index.js +245 -0
- package/dist/dev/src/builtins/System/Runtime/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/AccessControl/index.js +2343 -0
- package/dist/dev/src/builtins/System/Security/AccessControl/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js +169 -0
- package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Authentication/index.js +212 -0
- package/dist/dev/src/builtins/System/Security/Authentication/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Claims/index.js +844 -0
- package/dist/dev/src/builtins/System/Security/Claims/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js +2633 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/index.js +6673 -0
- package/dist/dev/src/builtins/System/Security/Cryptography/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Permissions/index.js +325 -0
- package/dist/dev/src/builtins/System/Security/Permissions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Policy/index.js +101 -0
- package/dist/dev/src/builtins/System/Security/Policy/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/Principal/index.js +1338 -0
- package/dist/dev/src/builtins/System/Security/Principal/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Security/index.js +672 -0
- package/dist/dev/src/builtins/System/Security/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js +162 -0
- package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Encodings/index.js +5 -0
- package/dist/dev/src/builtins/System/Text/Encodings/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js +250 -0
- package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Schema/index.js +78 -0
- package/dist/dev/src/builtins/System/Text/Json/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js +328 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js +840 -0
- package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Json/index.js +1185 -0
- package/dist/dev/src/builtins/System/Text/Json/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js +732 -0
- package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/Unicode/index.js +1199 -0
- package/dist/dev/src/builtins/System/Text/Unicode/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Text/index.js +1748 -0
- package/dist/dev/src/builtins/System/Text/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Channels/index.js +229 -0
- package/dist/dev/src/builtins/System/Threading/Channels/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js +676 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js +117 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/index.js +721 -0
- package/dist/dev/src/builtins/System/Threading/Tasks/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Threading/index.js +2292 -0
- package/dist/dev/src/builtins/System/Threading/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Timers/index.js +129 -0
- package/dist/dev/src/builtins/System/Timers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Transactions/index.js +727 -0
- package/dist/dev/src/builtins/System/Transactions/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Web/index.js +84 -0
- package/dist/dev/src/builtins/System/Web/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/Input/index.js +18 -0
- package/dist/dev/src/builtins/System/Windows/Input/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/Markup/index.js +28 -0
- package/dist/dev/src/builtins/System/Windows/Markup/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Windows/index.js +6 -0
- package/dist/dev/src/builtins/System/Windows/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Linq/index.js +1086 -0
- package/dist/dev/src/builtins/System/Xml/Linq/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Resolvers/index.js +86 -0
- package/dist/dev/src/builtins/System/Xml/Resolvers/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Schema/index.js +2993 -0
- package/dist/dev/src/builtins/System/Xml/Schema/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Serialization/index.js +2356 -0
- package/dist/dev/src/builtins/System/Xml/Serialization/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/XPath/index.js +917 -0
- package/dist/dev/src/builtins/System/Xml/XPath/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/Xsl/index.js +315 -0
- package/dist/dev/src/builtins/System/Xml/Xsl/index.js.map +1 -0
- package/dist/dev/src/builtins/System/Xml/index.js +5736 -0
- package/dist/dev/src/builtins/System/Xml/index.js.map +1 -0
- package/dist/dev/src/builtins/System/index.js +14587 -0
- package/dist/dev/src/builtins/System/index.js.map +1 -0
- package/dist/dev/src/builtins/index.js +3 -0
- package/dist/dev/src/builtins/index.js.map +1 -0
- package/dist/dev/src/components/Declaration.js +9 -0
- package/dist/dev/src/components/Declaration.js.map +1 -0
- package/dist/dev/src/components/Name.js +12 -0
- package/dist/dev/src/components/Name.js.map +1 -0
- package/dist/dev/src/components/Reference.js +13 -0
- package/dist/dev/src/components/Reference.js.map +1 -0
- package/dist/dev/src/components/access-expression/access-expression.js +288 -0
- package/dist/dev/src/components/access-expression/access-expression.js.map +1 -0
- package/dist/dev/src/components/access-expression/access-expression.test.js +608 -0
- package/dist/dev/src/components/access-expression/access-expression.test.js.map +1 -0
- package/dist/dev/src/components/access-expression/part-descriptors.js +14 -0
- package/dist/dev/src/components/access-expression/part-descriptors.js.map +1 -0
- package/dist/dev/src/components/attributes/attributes.js +113 -0
- package/dist/dev/src/components/attributes/attributes.js.map +1 -0
- package/dist/dev/src/components/attributes/attributes.test.js +201 -0
- package/dist/dev/src/components/attributes/attributes.test.js.map +1 -0
- package/dist/dev/src/components/class/declaration.js +123 -0
- package/dist/dev/src/components/class/declaration.js.map +1 -0
- package/dist/dev/src/components/class/declaration.test.js +893 -0
- package/dist/dev/src/components/class/declaration.test.js.map +1 -0
- package/dist/dev/src/components/constructor/constructor.js +129 -0
- package/dist/dev/src/components/constructor/constructor.js.map +1 -0
- package/dist/dev/src/components/constructor/constructor.test.js +228 -0
- package/dist/dev/src/components/constructor/constructor.test.js.map +1 -0
- package/dist/dev/src/components/csproj-file/csproj-file.js +32 -0
- package/dist/dev/src/components/csproj-file/csproj-file.js.map +1 -0
- package/dist/dev/src/components/csproj-file/csproj-file.test.js +70 -0
- package/dist/dev/src/components/csproj-file/csproj-file.test.js.map +1 -0
- package/dist/dev/src/components/doc/comment.js +129 -0
- package/dist/dev/src/components/doc/comment.js.map +1 -0
- package/dist/dev/src/components/doc/comment.test.js +577 -0
- package/dist/dev/src/components/doc/comment.test.js.map +1 -0
- package/dist/dev/src/components/doc/from-markdown.js +83 -0
- package/dist/dev/src/components/doc/from-markdown.js.map +1 -0
- package/dist/dev/src/components/doc/from-markdown.test.js +112 -0
- package/dist/dev/src/components/doc/from-markdown.test.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.js +80 -0
- package/dist/dev/src/components/enum/declaration.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.ref.test.js +221 -0
- package/dist/dev/src/components/enum/declaration.ref.test.js.map +1 -0
- package/dist/dev/src/components/enum/declaration.test.js +122 -0
- package/dist/dev/src/components/enum/declaration.test.js.map +1 -0
- package/dist/dev/src/components/enum/member.js +47 -0
- package/dist/dev/src/components/enum/member.js.map +1 -0
- package/dist/dev/src/components/enum/member.test.js +126 -0
- package/dist/dev/src/components/enum/member.test.js.map +1 -0
- package/dist/dev/src/components/field/field.js +43 -0
- package/dist/dev/src/components/field/field.js.map +1 -0
- package/dist/dev/src/components/field/field.test.js +242 -0
- package/dist/dev/src/components/field/field.test.js.map +1 -0
- package/dist/dev/src/components/if/if-statement.js +56 -0
- package/dist/dev/src/components/if/if-statement.js.map +1 -0
- package/dist/dev/src/components/if/if-statement.test.js +41 -0
- package/dist/dev/src/components/if/if-statement.test.js.map +1 -0
- package/dist/dev/src/components/index.js +31 -0
- package/dist/dev/src/components/index.js.map +1 -0
- package/dist/dev/src/components/interface/declaration.js +114 -0
- package/dist/dev/src/components/interface/declaration.js.map +1 -0
- package/dist/dev/src/components/interface/declaration.test.js +264 -0
- package/dist/dev/src/components/interface/declaration.test.js.map +1 -0
- package/dist/dev/src/components/interface/method.js +100 -0
- package/dist/dev/src/components/interface/method.js.map +1 -0
- package/dist/dev/src/components/interface/method.test.js +432 -0
- package/dist/dev/src/components/interface/method.test.js.map +1 -0
- package/dist/dev/src/components/interface/property.js +80 -0
- package/dist/dev/src/components/interface/property.js.map +1 -0
- package/dist/dev/src/components/interface/property.test.js +305 -0
- package/dist/dev/src/components/interface/property.test.js.map +1 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.js +94 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.js.map +1 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.test.js +153 -0
- package/dist/dev/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
- package/dist/dev/src/components/lexical-scope.js +30 -0
- package/dist/dev/src/components/lexical-scope.js.map +1 -0
- package/dist/dev/src/components/method/method.js +134 -0
- package/dist/dev/src/components/method/method.js.map +1 -0
- package/dist/dev/src/components/method/method.test.js +422 -0
- package/dist/dev/src/components/method/method.test.js.map +1 -0
- package/dist/dev/src/components/method-scope.js +30 -0
- package/dist/dev/src/components/method-scope.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace-name.js +20 -0
- package/dist/dev/src/components/namespace/namespace-name.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace.js +61 -0
- package/dist/dev/src/components/namespace/namespace.js.map +1 -0
- package/dist/dev/src/components/namespace/namespace.test.js +419 -0
- package/dist/dev/src/components/namespace/namespace.test.js.map +1 -0
- package/dist/dev/src/components/namespace-scopes.js +68 -0
- package/dist/dev/src/components/namespace-scopes.js.map +1 -0
- package/dist/dev/src/components/namespace.ref.test.js +431 -0
- package/dist/dev/src/components/namespace.ref.test.js.map +1 -0
- package/dist/dev/src/components/parameters/parameters.js +96 -0
- package/dist/dev/src/components/parameters/parameters.js.map +1 -0
- package/dist/dev/src/components/parameters/parameters.test.js +317 -0
- package/dist/dev/src/components/parameters/parameters.test.js.map +1 -0
- package/dist/dev/src/components/property/property.js +192 -0
- package/dist/dev/src/components/property/property.js.map +1 -0
- package/dist/dev/src/components/property/property.test.js +535 -0
- package/dist/dev/src/components/property/property.test.js.map +1 -0
- package/dist/dev/src/components/record/declaration.js +132 -0
- package/dist/dev/src/components/record/declaration.js.map +1 -0
- package/dist/dev/src/components/record/declaration.test.js +231 -0
- package/dist/dev/src/components/record/declaration.test.js.map +1 -0
- package/dist/dev/src/components/region/region.js +14 -0
- package/dist/dev/src/components/region/region.js.map +1 -0
- package/dist/dev/src/components/region/region.test.js +39 -0
- package/dist/dev/src/components/region/region.test.js.map +1 -0
- package/dist/dev/src/components/source-file/source-file.js +164 -0
- package/dist/dev/src/components/source-file/source-file.js.map +1 -0
- package/dist/dev/src/components/source-file/source-file.test.js +271 -0
- package/dist/dev/src/components/source-file/source-file.test.js.map +1 -0
- package/dist/dev/src/components/source-file/using.test.js +201 -0
- package/dist/dev/src/components/source-file/using.test.js.map +1 -0
- package/dist/dev/src/components/stc/index.js +13 -0
- package/dist/dev/src/components/stc/index.js.map +1 -0
- package/dist/dev/src/components/struct/declaration.js +113 -0
- package/dist/dev/src/components/struct/declaration.js.map +1 -0
- package/dist/dev/src/components/struct/declaration.test.js +400 -0
- package/dist/dev/src/components/struct/declaration.test.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.js +73 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js +92 -0
- package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameter.js +28 -0
- package/dist/dev/src/components/type-parameters/type-parameter.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameters.js +71 -0
- package/dist/dev/src/components/type-parameters/type-parameters.js.map +1 -0
- package/dist/dev/src/components/type-parameters/type-parameters.test.js +103 -0
- package/dist/dev/src/components/type-parameters/type-parameters.test.js.map +1 -0
- package/dist/dev/src/components/using/using.js +45 -0
- package/dist/dev/src/components/using/using.js.map +1 -0
- package/dist/dev/src/components/using/using.test.js +27 -0
- package/dist/dev/src/components/using/using.test.js.map +1 -0
- package/dist/dev/src/components/var/declaration.js +72 -0
- package/dist/dev/src/components/var/declaration.js.map +1 -0
- package/dist/dev/src/components/var/declaration.test.js +167 -0
- package/dist/dev/src/components/var/declaration.test.js.map +1 -0
- package/dist/dev/src/contexts/format-options.js +9 -0
- package/dist/dev/src/contexts/format-options.js.map +1 -0
- package/dist/dev/src/contexts/global-namespace.js +30 -0
- package/dist/dev/src/contexts/global-namespace.js.map +1 -0
- package/dist/dev/src/contexts/namespace.js +6 -0
- package/dist/dev/src/contexts/namespace.js.map +1 -0
- package/dist/dev/src/contexts/reference-context.js +15 -0
- package/dist/dev/src/contexts/reference-context.js.map +1 -0
- package/dist/dev/src/create-library.js +136 -0
- package/dist/dev/src/create-library.js.map +1 -0
- package/dist/dev/src/create-library.test.js +289 -0
- package/dist/dev/src/create-library.test.js.map +1 -0
- package/dist/dev/src/identifier-utils.js +45 -0
- package/dist/dev/src/identifier-utils.js.map +1 -0
- package/dist/dev/src/index.js +11 -0
- package/dist/dev/src/index.js.map +1 -0
- package/dist/dev/src/keywords.js +39 -0
- package/dist/dev/src/keywords.js.map +1 -0
- package/dist/dev/src/modifiers.js +21 -0
- package/dist/dev/src/modifiers.js.map +1 -0
- package/dist/dev/src/name-policy.js +59 -0
- package/dist/dev/src/name-policy.js.map +1 -0
- package/dist/dev/src/name-policy.test.js +167 -0
- package/dist/dev/src/name-policy.test.js.map +1 -0
- package/dist/dev/src/scopes/class.js +11 -0
- package/dist/dev/src/scopes/class.js.map +1 -0
- package/dist/dev/src/scopes/contexts.js +34 -0
- package/dist/dev/src/scopes/contexts.js.map +1 -0
- package/dist/dev/src/scopes/csharp.js +25 -0
- package/dist/dev/src/scopes/csharp.js.map +1 -0
- package/dist/dev/src/scopes/factories.js +25 -0
- package/dist/dev/src/scopes/factories.js.map +1 -0
- package/dist/dev/src/scopes/index.js +10 -0
- package/dist/dev/src/scopes/index.js.map +1 -0
- package/dist/dev/src/scopes/lexical.js +8 -0
- package/dist/dev/src/scopes/lexical.js.map +1 -0
- package/dist/dev/src/scopes/method.js +14 -0
- package/dist/dev/src/scopes/method.js.map +1 -0
- package/dist/dev/src/scopes/named-type.js +33 -0
- package/dist/dev/src/scopes/named-type.js.map +1 -0
- package/dist/dev/src/scopes/namespace.js +39 -0
- package/dist/dev/src/scopes/namespace.js.map +1 -0
- package/dist/dev/src/scopes/source-file.js +44 -0
- package/dist/dev/src/scopes/source-file.js.map +1 -0
- package/dist/dev/src/symbols/csharp.js +263 -0
- package/dist/dev/src/symbols/csharp.js.map +1 -0
- package/dist/dev/src/symbols/factories.js +145 -0
- package/dist/dev/src/symbols/factories.js.map +1 -0
- package/dist/dev/src/symbols/index.js +7 -0
- package/dist/dev/src/symbols/index.js.map +1 -0
- package/dist/dev/src/symbols/method.js +16 -0
- package/dist/dev/src/symbols/method.js.map +1 -0
- package/dist/dev/src/symbols/named-type.js +42 -0
- package/dist/dev/src/symbols/named-type.js.map +1 -0
- package/dist/dev/src/symbols/namespace.js +55 -0
- package/dist/dev/src/symbols/namespace.js.map +1 -0
- package/dist/dev/src/symbols/reference.js +79 -0
- package/dist/dev/src/symbols/reference.js.map +1 -0
- package/dist/dev/test/utils.js +111 -0
- package/dist/dev/test/utils.js.map +1 -0
- package/dist/dev/test/vitest.setup.js +2 -0
- package/dist/dev/test/vitest.setup.js.map +1 -0
- package/dist/dev/testing/create-wrapper.js +13 -0
- package/dist/dev/testing/create-wrapper.js.map +1 -0
- package/dist/dev/testing/create-wrapper.test.js +300 -0
- package/dist/dev/testing/create-wrapper.test.js.map +1 -0
- package/dist/dev/testing/index.js +2 -0
- package/dist/dev/testing/index.js.map +1 -0
- package/dist/src/components/access-expression/access-expression.d.ts +7 -2
- package/dist/src/components/access-expression/access-expression.d.ts.map +1 -1
- package/dist/src/components/access-expression/access-expression.js +108 -197
- package/dist/src/components/access-expression/access-expression.js.map +1 -1
- package/dist/src/components/access-expression/part-descriptors.d.ts +0 -31
- package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -1
- package/dist/src/components/access-expression/part-descriptors.js +0 -105
- package/dist/src/components/access-expression/part-descriptors.js.map +1 -1
- package/dist/src/components/constructor/constructor.d.ts +34 -0
- package/dist/src/components/constructor/constructor.d.ts.map +1 -1
- package/dist/src/components/constructor/constructor.js +41 -4
- package/dist/src/components/constructor/constructor.js.map +1 -1
- package/dist/src/components/constructor/constructor.test.js +114 -0
- package/dist/src/components/constructor/constructor.test.js.map +1 -1
- package/dist/src/components/doc/from-markdown.js +1 -1
- package/dist/src/components/doc/from-markdown.js.map +1 -1
- package/dist/src/components/enum/declaration.d.ts +2 -0
- package/dist/src/components/enum/declaration.d.ts.map +1 -1
- package/dist/src/components/enum/declaration.js +6 -1
- package/dist/src/components/enum/declaration.js.map +1 -1
- package/dist/src/components/enum/declaration.test.js +24 -0
- package/dist/src/components/enum/declaration.test.js.map +1 -1
- package/dist/src/components/enum/member.d.ts +4 -2
- package/dist/src/components/enum/member.d.ts.map +1 -1
- package/dist/src/components/enum/member.js +8 -3
- package/dist/src/components/enum/member.js.map +1 -1
- package/dist/src/components/enum/member.test.js +26 -0
- package/dist/src/components/enum/member.test.js.map +1 -1
- package/dist/src/components/lexical-scope.d.ts.map +1 -1
- package/dist/src/components/lexical-scope.js +4 -3
- package/dist/src/components/lexical-scope.js.map +1 -1
- package/dist/src/components/method/method.test.js +48 -0
- package/dist/src/components/method/method.test.js.map +1 -1
- package/dist/src/components/method-scope.d.ts.map +1 -1
- package/dist/src/components/method-scope.js +4 -3
- package/dist/src/components/method-scope.js.map +1 -1
- package/dist/src/components/namespace/namespace.d.ts.map +1 -1
- package/dist/src/components/namespace/namespace.js +13 -14
- package/dist/src/components/namespace/namespace.js.map +1 -1
- package/dist/src/components/namespace/namespace.test.js +66 -4
- package/dist/src/components/namespace/namespace.test.js.map +1 -1
- package/dist/src/components/namespace-scopes.d.ts +16 -0
- package/dist/src/components/namespace-scopes.d.ts.map +1 -1
- package/dist/src/components/namespace-scopes.js +8 -1
- package/dist/src/components/namespace-scopes.js.map +1 -1
- package/dist/src/components/namespace.ref.test.js +62 -9
- package/dist/src/components/namespace.ref.test.js.map +1 -1
- package/dist/src/components/property/property.d.ts +42 -4
- package/dist/src/components/property/property.d.ts.map +1 -1
- package/dist/src/components/property/property.js +64 -11
- package/dist/src/components/property/property.js.map +1 -1
- package/dist/src/components/property/property.test.js +104 -0
- package/dist/src/components/property/property.test.js.map +1 -1
- package/dist/src/components/source-file/source-file.d.ts.map +1 -1
- package/dist/src/components/source-file/source-file.js +9 -5
- package/dist/src/components/source-file/source-file.js.map +1 -1
- package/dist/src/contexts/global-namespace.d.ts.map +1 -1
- package/dist/src/contexts/global-namespace.js +4 -4
- package/dist/src/contexts/global-namespace.js.map +1 -1
- package/dist/src/create-library.d.ts.map +1 -1
- package/dist/src/create-library.js +7 -7
- package/dist/src/create-library.js.map +1 -1
- package/dist/src/identifier-utils.d.ts +22 -0
- package/dist/src/identifier-utils.d.ts.map +1 -0
- package/dist/src/identifier-utils.js +45 -0
- package/dist/src/identifier-utils.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/keywords.d.ts +32 -0
- package/dist/src/keywords.d.ts.map +1 -0
- package/dist/src/keywords.js +39 -0
- package/dist/src/keywords.js.map +1 -0
- package/dist/src/name-policy.d.ts +7 -0
- package/dist/src/name-policy.d.ts.map +1 -1
- package/dist/src/name-policy.js +29 -6
- package/dist/src/name-policy.js.map +1 -1
- package/dist/src/name-policy.test.d.ts +2 -0
- package/dist/src/name-policy.test.d.ts.map +1 -0
- package/dist/src/name-policy.test.js +167 -0
- package/dist/src/name-policy.test.js.map +1 -0
- package/dist/src/scopes/csharp.d.ts +1 -0
- package/dist/src/scopes/csharp.d.ts.map +1 -1
- package/dist/src/scopes/csharp.js +10 -0
- package/dist/src/scopes/csharp.js.map +1 -1
- package/dist/src/scopes/factories.d.ts.map +1 -1
- package/dist/src/scopes/factories.js +4 -3
- package/dist/src/scopes/factories.js.map +1 -1
- package/dist/src/scopes/namespace.js +2 -2
- package/dist/src/scopes/namespace.js.map +1 -1
- package/dist/src/symbols/csharp.d.ts +1 -0
- package/dist/src/symbols/csharp.d.ts.map +1 -1
- package/dist/src/symbols/csharp.js +19 -2
- package/dist/src/symbols/csharp.js.map +1 -1
- package/dist/src/symbols/factories.d.ts.map +1 -1
- package/dist/src/symbols/factories.js +42 -10
- package/dist/src/symbols/factories.js.map +1 -1
- package/dist/src/symbols/named-type.d.ts +1 -0
- package/dist/src/symbols/named-type.d.ts.map +1 -1
- package/dist/src/symbols/named-type.js +12 -1
- package/dist/src/symbols/named-type.js.map +1 -1
- package/dist/src/symbols/namespace.d.ts +1 -0
- package/dist/src/symbols/namespace.d.ts.map +1 -1
- package/dist/src/symbols/namespace.js +11 -1
- package/dist/src/symbols/namespace.js.map +1 -1
- package/dist/testing/create-wrapper.d.ts.map +1 -1
- package/dist/testing/create-wrapper.js +2 -1
- package/dist/testing/create-wrapper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/api/components/AttributeList.md +34 -0
- package/docs/api/components/ClassDeclaration.md +104 -0
- package/docs/api/components/Constructor.md +61 -0
- package/docs/api/components/CsprojFile.md +34 -0
- package/docs/api/components/Declaration.md +32 -0
- package/docs/api/components/DocC.md +27 -0
- package/docs/api/components/DocCode.md +27 -0
- package/docs/api/components/DocComment.md +27 -0
- package/docs/api/components/DocDescription.md +27 -0
- package/docs/api/components/DocExample.md +27 -0
- package/docs/api/components/DocException.md +27 -0
- package/docs/api/components/DocFromMarkdown.md +27 -0
- package/docs/api/components/DocInclude.md +26 -0
- package/docs/api/components/DocList.md +26 -0
- package/docs/api/components/DocPara.md +27 -0
- package/docs/api/components/DocParam.md +28 -0
- package/docs/api/components/DocParamRef.md +25 -0
- package/docs/api/components/DocPermission.md +27 -0
- package/docs/api/components/DocRemarks.md +27 -0
- package/docs/api/components/DocReturns.md +27 -0
- package/docs/api/components/DocSee.md +30 -0
- package/docs/api/components/DocSeeAlso.md +29 -0
- package/docs/api/components/DocSummary.md +27 -0
- package/docs/api/components/DocTypeParam.md +28 -0
- package/docs/api/components/DocTypeParamRef.md +25 -0
- package/docs/api/components/DocValue.md +27 -0
- package/docs/api/components/DocWhen.md +27 -0
- package/docs/api/components/ElseClause.md +29 -0
- package/docs/api/components/ElseIfClause.md +30 -0
- package/docs/api/components/EnumDeclaration.md +76 -0
- package/docs/api/components/EnumMember.md +31 -0
- package/docs/api/components/Field.md +67 -0
- package/docs/api/components/IfStatement.md +30 -0
- package/docs/api/components/InterfaceDeclaration.md +82 -0
- package/docs/api/components/InterfaceMethod.md +68 -0
- package/docs/api/components/InterfaceProperty.md +78 -0
- package/docs/api/components/InvocationExpression.md +49 -0
- package/docs/api/components/LexicalScope.md +65 -0
- package/docs/api/components/Method.md +92 -0
- package/docs/api/components/MethodScope.md +65 -0
- package/docs/api/components/Name.md +19 -0
- package/docs/api/components/Namespace.md +35 -0
- package/docs/api/components/Parameter.md +58 -0
- package/docs/api/components/Parameters_2.md +27 -0
- package/docs/api/components/Property.md +110 -0
- package/docs/api/components/RecordDeclaration.md +84 -0
- package/docs/api/components/Reference.md +25 -0
- package/docs/api/components/Region.md +28 -0
- package/docs/api/components/SourceFile.md +45 -0
- package/docs/api/components/StructDeclaration.md +94 -0
- package/docs/api/components/UsingNamespaceDirective.md +25 -0
- package/docs/api/components/Usings.md +40 -0
- package/docs/api/components/VarDeclaration.md +74 -0
- package/docs/api/components/index.md +55 -0
- package/docs/api/contexts/csharp-context.md +21 -0
- package/docs/api/contexts/index.md +3 -0
- package/docs/api/functions/access.md +35 -0
- package/docs/api/functions/accessibilityFromProps.md +18 -0
- package/docs/api/functions/computeModifiersPrefix.md +20 -0
- package/docs/api/functions/createCSharpNamePolicy.md +21 -0
- package/docs/api/functions/createCSharpNamespaceScope.md +18 -0
- package/docs/api/functions/createClassScope.md +27 -0
- package/docs/api/functions/createFieldSymbol.md +43 -0
- package/docs/api/functions/createLibrary.md +19 -0
- package/docs/api/functions/createMethodScope.md +26 -0
- package/docs/api/functions/createMethodSymbol.md +34 -0
- package/docs/api/functions/createNamedTypeScope.md +27 -0
- package/docs/api/functions/createNamedTypeSymbol.md +35 -0
- package/docs/api/functions/createNamespaceSymbol.md +43 -0
- package/docs/api/functions/createParameterSymbol.md +45 -0
- package/docs/api/functions/createPropertySymbol.md +43 -0
- package/docs/api/functions/createTypeParameterSymbol.md +34 -0
- package/docs/api/functions/createVariableSymbol.md +43 -0
- package/docs/api/functions/getAccessModifier.md +18 -0
- package/docs/api/functions/getAsyncModifier.md +18 -0
- package/docs/api/functions/index.md +37 -0
- package/docs/api/functions/isCSharpContextualKeyword.md +20 -0
- package/docs/api/functions/isCSharpKeyword.md +22 -0
- package/docs/api/functions/isValidCSharpIdentifier.md +20 -0
- package/docs/api/functions/makeModifiers.md +18 -0
- package/docs/api/functions/nonAccessibilityFromProps.md +18 -0
- package/docs/api/functions/ref.md +18 -0
- package/docs/api/functions/sanitizeCSharpIdentifier.md +24 -0
- package/docs/api/functions/useCSharpNamePolicy.md +17 -0
- package/docs/api/functions/useCSharpScope.md +17 -0
- package/docs/api/functions/useCsharpFormatOptions.md +18 -0
- package/docs/api/functions/useEnclosingNamespaceScope.md +17 -0
- package/docs/api/functions/useLexicalScope.md +17 -0
- package/docs/api/functions/useMethodScope.md +17 -0
- package/docs/api/functions/useNamedTypeScope.md +17 -0
- package/docs/api/functions/useNamespace.md +17 -0
- package/docs/api/functions/useSourceFileScope.md +17 -0
- package/docs/api/index.md +7 -0
- package/docs/api/types/AccessExpressionBuilder.md +11 -0
- package/docs/api/types/AccessExpressionPartProps.md +17 -0
- package/docs/api/types/AccessModifiers.md +13 -0
- package/docs/api/types/AttributeProps.md +8 -0
- package/docs/api/types/AttributesProp.md +5 -0
- package/docs/api/types/CSharpClassScope.md +9 -0
- package/docs/api/types/CSharpElements.md +5 -0
- package/docs/api/types/CSharpFormatOptions.md +5 -0
- package/docs/api/types/CSharpLexicalScope.md +10 -0
- package/docs/api/types/CSharpMethodScope.md +12 -0
- package/docs/api/types/CSharpNamedTypeScope.md +16 -0
- package/docs/api/types/CSharpNamespaceScope.md +10 -0
- package/docs/api/types/CSharpProjectSdk.md +5 -0
- package/docs/api/types/CSharpScope.md +12 -0
- package/docs/api/types/CSharpSourceFileScope.md +13 -0
- package/docs/api/types/CSharpSymbol.md +30 -0
- package/docs/api/types/CSharpSymbolKinds.md +5 -0
- package/docs/api/types/CSharpSymbolOptions.md +17 -0
- package/docs/api/types/ClassDescriptor.md +9 -0
- package/docs/api/types/ClassModifiers.md +10 -0
- package/docs/api/types/CreateMethodSymbolOptions.md +9 -0
- package/docs/api/types/CreateTypeParameterSymbolOptions.md +9 -0
- package/docs/api/types/DeclarationModifiers.md +8 -0
- package/docs/api/types/DeclaredAccessibility.md +5 -0
- package/docs/api/types/Descriptor.md +5 -0
- package/docs/api/types/DocCommentTagProps.md +7 -0
- package/docs/api/types/EnumDescriptor.md +9 -0
- package/docs/api/types/FieldDescriptor.md +9 -0
- package/docs/api/types/FieldModifiers.md +12 -0
- package/docs/api/types/GenericDescriptor.md +7 -0
- package/docs/api/types/InterfaceDescriptor.md +9 -0
- package/docs/api/types/InterfaceMethodModifiers.md +9 -0
- package/docs/api/types/InterfaceModifiers.md +7 -0
- package/docs/api/types/InterfacePropertyModifiers.md +9 -0
- package/docs/api/types/LexicalScopeProps.md +5 -0
- package/docs/api/types/LibraryFrom.md +7 -0
- package/docs/api/types/MemberDescriptor.md +16 -0
- package/docs/api/types/MethodDescriptor.md +10 -0
- package/docs/api/types/MethodKinds.md +5 -0
- package/docs/api/types/MethodModifiers.md +15 -0
- package/docs/api/types/MethodScopeProps.md +5 -0
- package/docs/api/types/MethodSymbol.md +13 -0
- package/docs/api/types/NamedTypeDescriptor.md +11 -0
- package/docs/api/types/NamedTypeSymbol.md +17 -0
- package/docs/api/types/NamedTypeSymbolKind.md +5 -0
- package/docs/api/types/NamedTypeTypeKind.md +5 -0
- package/docs/api/types/NamespaceDescriptor.md +8 -0
- package/docs/api/types/NamespaceSymbol.md +16 -0
- package/docs/api/types/NamespaceSymbolOptions.md +9 -0
- package/docs/api/types/NonAccessModifiers.md +13 -0
- package/docs/api/types/PropertyDescriptor_2.md +9 -0
- package/docs/api/types/PropertyModifiers.md +17 -0
- package/docs/api/types/RecordDescriptor.md +9 -0
- package/docs/api/types/RecordModifiers.md +7 -0
- package/docs/api/types/ResolveDescriptor.md +7 -0
- package/docs/api/types/StructDescriptor.md +9 -0
- package/docs/api/types/StructModifiers.md +10 -0
- package/docs/api/types/TypeParameterProps.md +11 -0
- package/docs/api/types/VarModifiers.md +8 -0
- package/docs/api/types/index.md +62 -0
- package/docs/api/variables/Attribute.md +21 -0
- package/docs/api/variables/csharpKeywords.md +11 -0
- package/docs/api/variables/index.md +4 -0
- package/package.json +19 -8
- package/src/components/access-expression/access-expression.tsx +146 -243
- package/src/components/access-expression/part-descriptors.ts +0 -186
- package/src/components/constructor/constructor.test.tsx +91 -0
- package/src/components/constructor/constructor.tsx +86 -1
- package/src/components/doc/from-markdown.tsx +4 -1
- package/src/components/enum/declaration.test.tsx +20 -0
- package/src/components/enum/declaration.tsx +4 -0
- package/src/components/enum/member.test.tsx +21 -0
- package/src/components/enum/member.tsx +21 -5
- package/src/components/lexical-scope.tsx +15 -4
- package/src/components/method/method.test.tsx +36 -0
- package/src/components/method-scope.tsx +15 -4
- package/src/components/namespace/namespace.test.tsx +47 -3
- package/src/components/namespace/namespace.tsx +17 -9
- package/src/components/namespace-scopes.tsx +25 -1
- package/src/components/namespace.ref.test.tsx +50 -9
- package/src/components/property/property.test.tsx +89 -0
- package/src/components/property/property.tsx +111 -16
- package/src/components/source-file/source-file.tsx +12 -6
- package/src/contexts/global-namespace.ts +11 -6
- package/src/create-library.ts +18 -9
- package/src/identifier-utils.ts +45 -0
- package/src/index.ts +2 -0
- package/src/keywords.ts +162 -0
- package/src/name-policy.test.ts +210 -0
- package/src/name-policy.ts +30 -6
- package/src/scopes/csharp.ts +11 -0
- package/src/scopes/factories.ts +4 -4
- package/src/scopes/namespace.ts +2 -2
- package/src/symbols/csharp.ts +20 -1
- package/src/symbols/factories.ts +46 -34
- package/src/symbols/named-type.ts +15 -3
- package/src/symbols/namespace.ts +12 -2
- package/temp/api.json +546 -249
- package/testing/create-wrapper.tsx +2 -1
- package/vitest.config.ts +8 -0
|
@@ -2,6 +2,7 @@ import { refkey } from "@alloy-js/core";
|
|
|
2
2
|
import { expect, it } from "vitest";
|
|
3
3
|
import { TestNamespace } from "../../../test/utils.jsx";
|
|
4
4
|
import { ClassDeclaration } from "../class/declaration.jsx";
|
|
5
|
+
import { DocSummary } from "../doc/comment.jsx";
|
|
5
6
|
import { Constructor } from "./constructor.jsx";
|
|
6
7
|
|
|
7
8
|
it("reference constructor parameters in body", () => {
|
|
@@ -33,3 +34,93 @@ it("reference constructor parameters in body", () => {
|
|
|
33
34
|
}
|
|
34
35
|
`);
|
|
35
36
|
});
|
|
37
|
+
|
|
38
|
+
it("renders doc comment", () => {
|
|
39
|
+
expect(
|
|
40
|
+
<TestNamespace>
|
|
41
|
+
<ClassDeclaration public name="TestClass">
|
|
42
|
+
<Constructor
|
|
43
|
+
public
|
|
44
|
+
doc={<DocSummary>Creates a new instance</DocSummary>}
|
|
45
|
+
>
|
|
46
|
+
// body
|
|
47
|
+
</Constructor>
|
|
48
|
+
</ClassDeclaration>
|
|
49
|
+
</TestNamespace>,
|
|
50
|
+
).toRenderTo(`
|
|
51
|
+
public class TestClass
|
|
52
|
+
{
|
|
53
|
+
/// <summary>
|
|
54
|
+
/// Creates a new instance
|
|
55
|
+
/// </summary>
|
|
56
|
+
public TestClass()
|
|
57
|
+
{
|
|
58
|
+
// body
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
`);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("renders : base() initializer", () => {
|
|
65
|
+
expect(
|
|
66
|
+
<TestNamespace>
|
|
67
|
+
<ClassDeclaration public name="DerivedClass" baseType="BaseClass">
|
|
68
|
+
<Constructor
|
|
69
|
+
public
|
|
70
|
+
parameters={[{ name: "name", type: "string" }]}
|
|
71
|
+
baseConstructor={["name"]}
|
|
72
|
+
>
|
|
73
|
+
// body
|
|
74
|
+
</Constructor>
|
|
75
|
+
</ClassDeclaration>
|
|
76
|
+
</TestNamespace>,
|
|
77
|
+
).toRenderTo(`
|
|
78
|
+
public class DerivedClass : BaseClass
|
|
79
|
+
{
|
|
80
|
+
public DerivedClass(string name) : base(name)
|
|
81
|
+
{
|
|
82
|
+
// body
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
`);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("renders : this() initializer", () => {
|
|
89
|
+
expect(
|
|
90
|
+
<TestNamespace>
|
|
91
|
+
<ClassDeclaration public name="MyClass">
|
|
92
|
+
<Constructor public thisConstructor={["0", "0"]}>
|
|
93
|
+
// body
|
|
94
|
+
</Constructor>
|
|
95
|
+
</ClassDeclaration>
|
|
96
|
+
</TestNamespace>,
|
|
97
|
+
).toRenderTo(`
|
|
98
|
+
public class MyClass
|
|
99
|
+
{
|
|
100
|
+
public MyClass() : this(0, 0)
|
|
101
|
+
{
|
|
102
|
+
// body
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
`);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it("renders : base() with no arguments", () => {
|
|
109
|
+
expect(
|
|
110
|
+
<TestNamespace>
|
|
111
|
+
<ClassDeclaration public name="DerivedClass" baseType="BaseClass">
|
|
112
|
+
<Constructor public baseConstructor={[]}>
|
|
113
|
+
// body
|
|
114
|
+
</Constructor>
|
|
115
|
+
</ClassDeclaration>
|
|
116
|
+
</TestNamespace>,
|
|
117
|
+
).toRenderTo(`
|
|
118
|
+
public class DerivedClass : BaseClass
|
|
119
|
+
{
|
|
120
|
+
public DerivedClass() : base()
|
|
121
|
+
{
|
|
122
|
+
// body
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
`);
|
|
126
|
+
});
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { MethodScope } from "#components/method-scope.jsx";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Block,
|
|
4
|
+
For,
|
|
5
|
+
Indent,
|
|
6
|
+
MemberDeclaration,
|
|
7
|
+
MemberName,
|
|
8
|
+
Refkey,
|
|
9
|
+
} from "@alloy-js/core";
|
|
3
10
|
import { Children } from "@alloy-js/core/jsx-runtime";
|
|
4
11
|
import {
|
|
5
12
|
AccessModifiers,
|
|
@@ -8,6 +15,7 @@ import {
|
|
|
8
15
|
} from "../../modifiers.js";
|
|
9
16
|
import { useNamedTypeScope } from "../../scopes/contexts.js";
|
|
10
17
|
import { MethodSymbol } from "../../symbols/method.js";
|
|
18
|
+
import { DocWhen } from "../doc/comment.jsx";
|
|
11
19
|
import { ParameterProps, Parameters } from "../parameters/parameters.jsx";
|
|
12
20
|
|
|
13
21
|
/**
|
|
@@ -17,14 +25,57 @@ export interface ConstructorProps extends AccessModifiers {
|
|
|
17
25
|
/** Constructor parameters */
|
|
18
26
|
parameters?: ParameterProps[];
|
|
19
27
|
|
|
28
|
+
/** Doc comment */
|
|
29
|
+
doc?: Children;
|
|
30
|
+
|
|
20
31
|
/** Refkey */
|
|
21
32
|
refkey?: Refkey;
|
|
22
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Arguments to pass to the base class constructor.
|
|
36
|
+
* Renders `: base(args)` between parameter list and body.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* <Constructor public baseConstructor={["name", "42"]}>
|
|
41
|
+
* ```
|
|
42
|
+
* This will produce:
|
|
43
|
+
* ```csharp
|
|
44
|
+
* public MyClass(...) : base(name, 42)
|
|
45
|
+
* {
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
baseConstructor?: Children[];
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Arguments to pass to another constructor in the same class.
|
|
53
|
+
* Renders `: this(args)` between parameter list and body.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* <Constructor public thisConstructor={["0", "0"]}>
|
|
58
|
+
* ```
|
|
59
|
+
* This will produce:
|
|
60
|
+
* ```csharp
|
|
61
|
+
* public MyClass() : this(0, 0)
|
|
62
|
+
* {
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
thisConstructor?: Children[];
|
|
67
|
+
|
|
23
68
|
/** Constructor body */
|
|
24
69
|
children?: Children;
|
|
25
70
|
}
|
|
26
71
|
|
|
27
72
|
export function Constructor(props: ConstructorProps) {
|
|
73
|
+
if (props.baseConstructor && props.thisConstructor) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
"Cannot use both 'baseConstructor' and 'thisConstructor' on the same constructor",
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
28
79
|
const scope = useNamedTypeScope();
|
|
29
80
|
|
|
30
81
|
const name = scope.ownerSymbol.name;
|
|
@@ -35,14 +86,48 @@ export function Constructor(props: ConstructorProps) {
|
|
|
35
86
|
|
|
36
87
|
const modifiers = computeModifiersPrefix([getAccessModifier(props)]);
|
|
37
88
|
|
|
89
|
+
const initializer =
|
|
90
|
+
props.baseConstructor ?
|
|
91
|
+
<ConstructorInitializer keyword="base" args={props.baseConstructor} />
|
|
92
|
+
: props.thisConstructor ?
|
|
93
|
+
<ConstructorInitializer keyword="this" args={props.thisConstructor} />
|
|
94
|
+
: null;
|
|
95
|
+
|
|
38
96
|
return (
|
|
39
97
|
<MemberDeclaration symbol={ctorSymbol}>
|
|
40
98
|
<MethodScope>
|
|
99
|
+
<DocWhen doc={props.doc} />
|
|
41
100
|
{modifiers}
|
|
42
101
|
<MemberName />
|
|
43
102
|
<Parameters parameters={props.parameters} />
|
|
103
|
+
{initializer}
|
|
44
104
|
<Block newline>{props.children}</Block>
|
|
45
105
|
</MethodScope>
|
|
46
106
|
</MemberDeclaration>
|
|
47
107
|
);
|
|
48
108
|
}
|
|
109
|
+
|
|
110
|
+
interface ConstructorInitializerProps {
|
|
111
|
+
keyword: "base" | "this";
|
|
112
|
+
args: Children[];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function ConstructorInitializer(props: ConstructorInitializerProps) {
|
|
116
|
+
return (
|
|
117
|
+
<group>
|
|
118
|
+
{" : "}
|
|
119
|
+
{props.keyword}(
|
|
120
|
+
<Indent nobreak>
|
|
121
|
+
<For each={props.args} joiner={", "}>
|
|
122
|
+
{(arg) => (
|
|
123
|
+
<>
|
|
124
|
+
<softline />
|
|
125
|
+
{arg}
|
|
126
|
+
</>
|
|
127
|
+
)}
|
|
128
|
+
</For>
|
|
129
|
+
</Indent>
|
|
130
|
+
<softline />)
|
|
131
|
+
</group>
|
|
132
|
+
);
|
|
133
|
+
}
|
|
@@ -17,7 +17,10 @@ function renderTokens(tokens: Token[]) {
|
|
|
17
17
|
{tokens.map((token, index) => (
|
|
18
18
|
<>
|
|
19
19
|
<DocFromMarkedToken token={token} />
|
|
20
|
-
{
|
|
20
|
+
{
|
|
21
|
+
/*@once*/ token.type === "paragraph" &&
|
|
22
|
+
index !== tokens.length - 1 && <br />
|
|
23
|
+
}
|
|
21
24
|
</>
|
|
22
25
|
))}
|
|
23
26
|
</>
|
|
@@ -45,3 +45,23 @@ it("takes a namekey", () => {
|
|
|
45
45
|
enum MyEnum;
|
|
46
46
|
`);
|
|
47
47
|
});
|
|
48
|
+
|
|
49
|
+
it("renders doc comment", () => {
|
|
50
|
+
const res = toSourceText(
|
|
51
|
+
<EnumDeclaration public name="TestEnum" doc="This is a test enum">
|
|
52
|
+
<EnumMember name="One" />,<hbr />
|
|
53
|
+
<EnumMember name="Two" />
|
|
54
|
+
</EnumDeclaration>,
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
expect(res).toBe(d`
|
|
58
|
+
namespace TestCode;
|
|
59
|
+
|
|
60
|
+
/// This is a test enum
|
|
61
|
+
public enum TestEnum
|
|
62
|
+
{
|
|
63
|
+
One,
|
|
64
|
+
Two
|
|
65
|
+
}
|
|
66
|
+
`);
|
|
67
|
+
});
|
|
@@ -14,11 +14,14 @@ import {
|
|
|
14
14
|
import { useCSharpNamePolicy } from "../../name-policy.js";
|
|
15
15
|
import { createNamedTypeScope } from "../../scopes/factories.js";
|
|
16
16
|
import { createNamedTypeSymbol } from "../../symbols/factories.js";
|
|
17
|
+
import { DocWhen } from "../doc/comment.jsx";
|
|
17
18
|
import { Name } from "../Name.jsx";
|
|
18
19
|
|
|
19
20
|
// properties for creating an enum
|
|
20
21
|
export interface EnumDeclarationProps extends AccessModifiers {
|
|
21
22
|
name: string | Namekey;
|
|
23
|
+
/** Doc comment */
|
|
24
|
+
doc?: Children;
|
|
22
25
|
refkey?: Refkey | Refkey[];
|
|
23
26
|
children?: Children;
|
|
24
27
|
}
|
|
@@ -54,6 +57,7 @@ export function EnumDeclaration(props: EnumDeclarationProps) {
|
|
|
54
57
|
|
|
55
58
|
return (
|
|
56
59
|
<Declaration symbol={symbol}>
|
|
60
|
+
<DocWhen doc={props.doc} />
|
|
57
61
|
{modifiers}enum <Name />
|
|
58
62
|
{!props.children && ";"}
|
|
59
63
|
{props.children && (
|
|
@@ -43,3 +43,24 @@ it("takes a namekey", () => {
|
|
|
43
43
|
Foo.MyMember;
|
|
44
44
|
`);
|
|
45
45
|
});
|
|
46
|
+
|
|
47
|
+
it("renders doc comment", () => {
|
|
48
|
+
const res = toSourceText(
|
|
49
|
+
<EnumDeclaration public name="TestEnum">
|
|
50
|
+
<EnumMember name="One" doc="First value" />,<hbr />
|
|
51
|
+
<EnumMember name="Two" doc="Second value" />
|
|
52
|
+
</EnumDeclaration>,
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
expect(res).toBe(d`
|
|
56
|
+
namespace TestCode;
|
|
57
|
+
|
|
58
|
+
public enum TestEnum
|
|
59
|
+
{
|
|
60
|
+
/// First value
|
|
61
|
+
One,
|
|
62
|
+
/// Second value
|
|
63
|
+
Two
|
|
64
|
+
}
|
|
65
|
+
`);
|
|
66
|
+
});
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Children,
|
|
3
|
+
createSymbol,
|
|
4
|
+
MemberDeclaration,
|
|
5
|
+
MemberName,
|
|
6
|
+
Namekey,
|
|
7
|
+
Refkey,
|
|
8
|
+
} from "@alloy-js/core";
|
|
2
9
|
import { useCSharpNamePolicy } from "../../name-policy.js";
|
|
3
10
|
import { useNamedTypeScope } from "../../scopes/contexts.js";
|
|
4
11
|
import { CSharpSymbol } from "../../symbols/csharp.js";
|
|
12
|
+
import { DocWhen } from "../doc/comment.jsx";
|
|
5
13
|
|
|
6
14
|
// properties for creating a C# enum member
|
|
7
15
|
export interface EnumMemberProps {
|
|
8
16
|
name: string | Namekey;
|
|
17
|
+
/** Doc comment */
|
|
18
|
+
doc?: Children;
|
|
9
19
|
refkey?: Refkey;
|
|
10
20
|
}
|
|
11
21
|
|
|
@@ -23,13 +33,19 @@ export function EnumMember(props: EnumMemberProps) {
|
|
|
23
33
|
throw new Error("EnumMember must be used within an EnumDeclaration.");
|
|
24
34
|
}
|
|
25
35
|
|
|
26
|
-
const thisEnumValueSymbol =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
const thisEnumValueSymbol = createSymbol(
|
|
37
|
+
CSharpSymbol,
|
|
38
|
+
props.name,
|
|
39
|
+
symbol.members,
|
|
40
|
+
{
|
|
41
|
+
refkeys: props.refkey,
|
|
42
|
+
namePolicy: useCSharpNamePolicy().for("enum-member"),
|
|
43
|
+
},
|
|
44
|
+
);
|
|
30
45
|
|
|
31
46
|
return (
|
|
32
47
|
<MemberDeclaration symbol={thisEnumValueSymbol}>
|
|
48
|
+
<DocWhen doc={props.doc} />
|
|
33
49
|
<MemberName />
|
|
34
50
|
</MemberDeclaration>
|
|
35
51
|
);
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Scope,
|
|
3
|
+
ScopePropsWithInfo,
|
|
4
|
+
ScopePropsWithValue,
|
|
5
|
+
createScope,
|
|
6
|
+
} from "@alloy-js/core";
|
|
2
7
|
import { useCSharpScope } from "../scopes/contexts.js";
|
|
3
8
|
import { CSharpLexicalScope } from "../scopes/lexical.js";
|
|
4
9
|
|
|
@@ -20,9 +25,15 @@ export function LexicalScope(props: LexicalScopeProps) {
|
|
|
20
25
|
scope = props.value;
|
|
21
26
|
} else {
|
|
22
27
|
const parentScope = useCSharpScope();
|
|
23
|
-
scope =
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
scope = createScope(
|
|
29
|
+
CSharpLexicalScope,
|
|
30
|
+
props.name ?? "lexical scope",
|
|
31
|
+
parentScope,
|
|
32
|
+
{
|
|
33
|
+
...props,
|
|
34
|
+
binder: parentScope?.binder,
|
|
35
|
+
},
|
|
36
|
+
);
|
|
26
37
|
}
|
|
27
38
|
|
|
28
39
|
return <Scope value={scope}>{props.children}</Scope>;
|
|
@@ -207,3 +207,39 @@ describe("format", () => {
|
|
|
207
207
|
`);
|
|
208
208
|
});
|
|
209
209
|
});
|
|
210
|
+
|
|
211
|
+
describe("name policy deduplication", () => {
|
|
212
|
+
it("deduplicates parameters that collide after case conversion", () => {
|
|
213
|
+
const params = [
|
|
214
|
+
{ name: "my-param", type: "int" },
|
|
215
|
+
{ name: "myParam", type: "string" },
|
|
216
|
+
];
|
|
217
|
+
expect(
|
|
218
|
+
<Wrapper>
|
|
219
|
+
<Method public name="MethodOne" parameters={params} />
|
|
220
|
+
</Wrapper>,
|
|
221
|
+
).toRenderTo(`
|
|
222
|
+
public class TestClass
|
|
223
|
+
{
|
|
224
|
+
public void MethodOne(int myParam, string myParam_2) {}
|
|
225
|
+
}
|
|
226
|
+
`);
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it("deduplicates parameters that are keywords", () => {
|
|
230
|
+
const params = [
|
|
231
|
+
{ name: "string", type: "int" },
|
|
232
|
+
{ name: "string", type: "bool" },
|
|
233
|
+
];
|
|
234
|
+
expect(
|
|
235
|
+
<Wrapper>
|
|
236
|
+
<Method public name="MethodOne" parameters={params} />
|
|
237
|
+
</Wrapper>,
|
|
238
|
+
).toRenderTo(`
|
|
239
|
+
public class TestClass
|
|
240
|
+
{
|
|
241
|
+
public void MethodOne(int @string, bool string_2) {}
|
|
242
|
+
}
|
|
243
|
+
`);
|
|
244
|
+
});
|
|
245
|
+
});
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Scope,
|
|
3
|
+
ScopePropsWithInfo,
|
|
4
|
+
ScopePropsWithValue,
|
|
5
|
+
createScope,
|
|
6
|
+
} from "@alloy-js/core";
|
|
2
7
|
import { useCSharpScope } from "../scopes/contexts.js";
|
|
3
8
|
import { CSharpMethodScope } from "../scopes/method.js";
|
|
4
9
|
|
|
@@ -18,9 +23,15 @@ export function MethodScope(props: MethodScopeProps) {
|
|
|
18
23
|
scope = props.value;
|
|
19
24
|
} else {
|
|
20
25
|
const parentScope = useCSharpScope();
|
|
21
|
-
scope =
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
scope = createScope(
|
|
27
|
+
CSharpMethodScope,
|
|
28
|
+
props.name ?? "method scope",
|
|
29
|
+
parentScope,
|
|
30
|
+
{
|
|
31
|
+
...props,
|
|
32
|
+
binder: parentScope?.binder,
|
|
33
|
+
},
|
|
34
|
+
);
|
|
24
35
|
}
|
|
25
36
|
|
|
26
37
|
return <Scope value={scope}>{props.children}</Scope>;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { TestNamespace } from "#test/utils.jsx";
|
|
2
|
-
import { Output } from "@alloy-js/core";
|
|
2
|
+
import { Output, refkey } from "@alloy-js/core";
|
|
3
3
|
import { d } from "@alloy-js/core/testing";
|
|
4
4
|
import { expect, it } from "vitest";
|
|
5
|
+
import { createCSharpNamePolicy } from "../../name-policy.js";
|
|
5
6
|
import { ClassDeclaration } from "../class/declaration.jsx";
|
|
7
|
+
import { Constructor } from "../constructor/constructor.jsx";
|
|
8
|
+
import { Field } from "../field/field.jsx";
|
|
6
9
|
import { SourceFile } from "../source-file/source-file.jsx";
|
|
10
|
+
import { StructDeclaration } from "../struct/declaration.jsx";
|
|
7
11
|
import { Namespace } from "./namespace.jsx";
|
|
8
12
|
|
|
9
13
|
it("defines multiple namespaces and source files with unique content", () => {
|
|
@@ -134,10 +138,50 @@ it("define nested namespace in sourcefile", () => {
|
|
|
134
138
|
);
|
|
135
139
|
|
|
136
140
|
expect(tree).toRenderTo(`
|
|
137
|
-
namespace Base
|
|
138
|
-
|
|
141
|
+
namespace Base
|
|
142
|
+
{
|
|
143
|
+
namespace Namespace1.Namespace2
|
|
144
|
+
{
|
|
139
145
|
public class Model1;
|
|
140
146
|
}
|
|
141
147
|
}
|
|
142
148
|
`);
|
|
143
149
|
});
|
|
150
|
+
|
|
151
|
+
it("contains a struct with a private field initialized by a constructor", () => {
|
|
152
|
+
const fieldRefkey = refkey();
|
|
153
|
+
const paramRefkey = refkey();
|
|
154
|
+
|
|
155
|
+
const tree = (
|
|
156
|
+
<Output namePolicy={createCSharpNamePolicy()}>
|
|
157
|
+
<SourceFile path="MyStruct.cs">
|
|
158
|
+
<Namespace name="TestNamespace.Test">
|
|
159
|
+
<StructDeclaration public name="MyStruct">
|
|
160
|
+
<Field private name="value" type="int" refkey={fieldRefkey} />
|
|
161
|
+
<hbr />
|
|
162
|
+
<Constructor
|
|
163
|
+
public
|
|
164
|
+
parameters={[{ name: "value", type: "int", refkey: paramRefkey }]}
|
|
165
|
+
>
|
|
166
|
+
{fieldRefkey} = {paramRefkey};
|
|
167
|
+
</Constructor>
|
|
168
|
+
</StructDeclaration>
|
|
169
|
+
</Namespace>
|
|
170
|
+
</SourceFile>
|
|
171
|
+
</Output>
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
expect(tree).toRenderTo(d`
|
|
175
|
+
namespace TestNamespace.Test
|
|
176
|
+
{
|
|
177
|
+
public struct MyStruct
|
|
178
|
+
{
|
|
179
|
+
private int _value;
|
|
180
|
+
public MyStruct(int value)
|
|
181
|
+
{
|
|
182
|
+
_value = value;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
`);
|
|
187
|
+
});
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Block, Namekey, Refkey } from "@alloy-js/core";
|
|
2
2
|
import { Children } from "@alloy-js/core/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
NamespaceContext,
|
|
5
|
+
useNamespaceContext,
|
|
6
|
+
} from "../../contexts/namespace.js";
|
|
4
7
|
import { useSourceFileScope } from "../../scopes/source-file.js";
|
|
5
8
|
import { createNamespaceSymbol } from "../../symbols/factories.js";
|
|
6
|
-
import {
|
|
9
|
+
import { NamespaceScopes } from "../namespace-scopes.jsx";
|
|
7
10
|
import { NamespaceName } from "./namespace-name.jsx";
|
|
8
11
|
|
|
9
12
|
export interface NamespaceProps {
|
|
@@ -25,16 +28,21 @@ export function Namespace(props: NamespaceProps) {
|
|
|
25
28
|
</NamespaceContext.Provider>
|
|
26
29
|
);
|
|
27
30
|
} else {
|
|
31
|
+
const nsContext = useNamespaceContext();
|
|
32
|
+
const hasOuterNamespace = nsContext && !nsContext.symbol.isGlobal;
|
|
33
|
+
|
|
28
34
|
sfScope.hasBlockNamespace = true;
|
|
29
35
|
return (
|
|
30
36
|
<>
|
|
31
|
-
namespace
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
namespace{" "}
|
|
38
|
+
<NamespaceName
|
|
39
|
+
symbol={namespaceSymbol}
|
|
40
|
+
relative={!!hasOuterNamespace}
|
|
41
|
+
/>
|
|
42
|
+
<Block newline>
|
|
43
|
+
<NamespaceScopes symbol={namespaceSymbol} stopAt={nsContext?.symbol}>
|
|
44
|
+
{props.children}
|
|
45
|
+
</NamespaceScopes>
|
|
38
46
|
</Block>
|
|
39
47
|
</>
|
|
40
48
|
);
|
|
@@ -19,17 +19,41 @@ export function NamespaceScope(props: NamespaceScopProps) {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export interface NamespaceScopesProps {
|
|
22
|
+
/**
|
|
23
|
+
* Target namespace whose scope chain should be established for `children`.
|
|
24
|
+
*
|
|
25
|
+
* For dotted namespaces, this is typically the most nested segment symbol.
|
|
26
|
+
*/
|
|
22
27
|
symbol: NamespaceSymbol;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Optional ancestor namespace that is already in scope.
|
|
31
|
+
*
|
|
32
|
+
* Wrapping stops before this symbol to avoid duplicating existing namespace
|
|
33
|
+
* scopes in the reference chain.
|
|
34
|
+
*/
|
|
35
|
+
stopAt?: NamespaceSymbol;
|
|
23
36
|
children: Children;
|
|
24
37
|
}
|
|
25
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
|
|
41
|
+
* namespaces until the root (or `stopAt`, when provided).
|
|
42
|
+
*/
|
|
26
43
|
export function NamespaceScopes(props: NamespaceScopesProps) {
|
|
27
44
|
function wrapWithScope(symbol: NamespaceSymbol, children: Children) {
|
|
45
|
+
if (symbol === props.stopAt) {
|
|
46
|
+
return children;
|
|
47
|
+
}
|
|
48
|
+
|
|
28
49
|
const scopeChildren = (
|
|
29
50
|
<NamespaceScope symbol={symbol}>{children}</NamespaceScope>
|
|
30
51
|
);
|
|
31
52
|
|
|
32
|
-
if (
|
|
53
|
+
if (
|
|
54
|
+
symbol.enclosingNamespace &&
|
|
55
|
+
symbol.enclosingNamespace !== props.stopAt
|
|
56
|
+
) {
|
|
33
57
|
return wrapWithScope(symbol.enclosingNamespace, scopeChildren);
|
|
34
58
|
}
|
|
35
59
|
|