@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
|
@@ -43,9 +43,11 @@ it("references types in a parent namespace", () => {
|
|
|
43
43
|
);
|
|
44
44
|
|
|
45
45
|
expect(tree).toRenderTo(`
|
|
46
|
-
namespace Test
|
|
46
|
+
namespace Test
|
|
47
|
+
{
|
|
47
48
|
class TestClass;
|
|
48
|
-
namespace Nested
|
|
49
|
+
namespace Nested
|
|
50
|
+
{
|
|
49
51
|
TestClass;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
@@ -69,9 +71,11 @@ it("references types in a child namespace", () => {
|
|
|
69
71
|
);
|
|
70
72
|
|
|
71
73
|
expect(tree).toRenderTo(`
|
|
72
|
-
namespace Test
|
|
74
|
+
namespace Test
|
|
75
|
+
{
|
|
73
76
|
Nested.TestClass;
|
|
74
|
-
namespace Nested
|
|
77
|
+
namespace Nested
|
|
78
|
+
{
|
|
75
79
|
class TestClass;
|
|
76
80
|
}
|
|
77
81
|
}
|
|
@@ -96,10 +100,12 @@ it("references types in a different top-level namespace declared in the same fil
|
|
|
96
100
|
expect(tree).toRenderTo(`
|
|
97
101
|
using TestCode2;
|
|
98
102
|
|
|
99
|
-
namespace TestCode1
|
|
103
|
+
namespace TestCode1
|
|
104
|
+
{
|
|
100
105
|
TestClass
|
|
101
106
|
}
|
|
102
|
-
namespace TestCode2
|
|
107
|
+
namespace TestCode2
|
|
108
|
+
{
|
|
103
109
|
class TestClass;
|
|
104
110
|
}
|
|
105
111
|
`);
|
|
@@ -125,12 +131,14 @@ it("references types in a different top-level namespace declared in a different
|
|
|
125
131
|
"test.cs": `
|
|
126
132
|
using TestCode2;
|
|
127
133
|
|
|
128
|
-
namespace TestCode1
|
|
134
|
+
namespace TestCode1
|
|
135
|
+
{
|
|
129
136
|
TestClass;
|
|
130
137
|
}
|
|
131
138
|
`,
|
|
132
139
|
"other.cs": `
|
|
133
|
-
namespace TestCode2
|
|
140
|
+
namespace TestCode2
|
|
141
|
+
{
|
|
134
142
|
class TestClass;
|
|
135
143
|
}
|
|
136
144
|
`,
|
|
@@ -156,9 +164,42 @@ it("can be referenced by refkey", () => {
|
|
|
156
164
|
expect(tree).toRenderTo(`
|
|
157
165
|
using TestCode2;
|
|
158
166
|
|
|
159
|
-
namespace TestCode2
|
|
167
|
+
namespace TestCode2
|
|
168
|
+
{
|
|
160
169
|
class TestClass;
|
|
161
170
|
}
|
|
162
171
|
TestClass;
|
|
163
172
|
`);
|
|
164
173
|
});
|
|
174
|
+
|
|
175
|
+
it("references types across sibling namespaces under the same parent", () => {
|
|
176
|
+
const classRef = refkey();
|
|
177
|
+
|
|
178
|
+
const tree = (
|
|
179
|
+
<Output>
|
|
180
|
+
<SourceFile path="test.cs">
|
|
181
|
+
<Namespace name="Parent">
|
|
182
|
+
<Namespace name="Models">
|
|
183
|
+
<ClassDeclaration name="User" refkey={classRef} />
|
|
184
|
+
</Namespace>
|
|
185
|
+
<hbr />
|
|
186
|
+
<Namespace name="Services">{classRef};</Namespace>
|
|
187
|
+
</Namespace>
|
|
188
|
+
</SourceFile>
|
|
189
|
+
</Output>
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
expect(tree).toRenderTo(`
|
|
193
|
+
namespace Parent
|
|
194
|
+
{
|
|
195
|
+
namespace Models
|
|
196
|
+
{
|
|
197
|
+
class User;
|
|
198
|
+
}
|
|
199
|
+
namespace Services
|
|
200
|
+
{
|
|
201
|
+
Models.User;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
`);
|
|
205
|
+
});
|
|
@@ -232,3 +232,92 @@ describe("format", () => {
|
|
|
232
232
|
`);
|
|
233
233
|
});
|
|
234
234
|
});
|
|
235
|
+
|
|
236
|
+
describe("accessor bodies", () => {
|
|
237
|
+
it("renders get with body", () => {
|
|
238
|
+
expect(
|
|
239
|
+
<Wrapper>
|
|
240
|
+
<Property public name="Name" type="string" get={<>return _name;</>} />
|
|
241
|
+
</Wrapper>,
|
|
242
|
+
).toRenderTo(`
|
|
243
|
+
public class TestClass
|
|
244
|
+
{
|
|
245
|
+
public string Name
|
|
246
|
+
{
|
|
247
|
+
get { return _name; }
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
`);
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
it("renders set with body", () => {
|
|
254
|
+
expect(
|
|
255
|
+
<Wrapper>
|
|
256
|
+
<Property
|
|
257
|
+
public
|
|
258
|
+
name="Value"
|
|
259
|
+
type="int"
|
|
260
|
+
get
|
|
261
|
+
set={<>_value = value;</>}
|
|
262
|
+
/>
|
|
263
|
+
</Wrapper>,
|
|
264
|
+
).toRenderTo(`
|
|
265
|
+
public class TestClass
|
|
266
|
+
{
|
|
267
|
+
public int Value
|
|
268
|
+
{
|
|
269
|
+
get;
|
|
270
|
+
set { _value = value; }
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
`);
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
it("renders both get and set with bodies", () => {
|
|
277
|
+
expect(
|
|
278
|
+
<Wrapper>
|
|
279
|
+
<Property
|
|
280
|
+
public
|
|
281
|
+
name="MinValue"
|
|
282
|
+
type="T"
|
|
283
|
+
get={<>return _minValue.HasValue ? _minValue.Value : default(T);</>}
|
|
284
|
+
set={<>_minValue = value;</>}
|
|
285
|
+
/>
|
|
286
|
+
</Wrapper>,
|
|
287
|
+
).toRenderTo(`
|
|
288
|
+
public class TestClass
|
|
289
|
+
{
|
|
290
|
+
public T MinValue
|
|
291
|
+
{
|
|
292
|
+
get { return _minValue.HasValue ? _minValue.Value : default(T); }
|
|
293
|
+
set { _minValue = value; }
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
`);
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
it("breaks long accessor body across lines", () => {
|
|
300
|
+
expect(
|
|
301
|
+
<TestNamespace printWidth={40}>
|
|
302
|
+
<ClassDeclaration name="Test">
|
|
303
|
+
<Property
|
|
304
|
+
public
|
|
305
|
+
name="Value"
|
|
306
|
+
type="int"
|
|
307
|
+
get={<>return _someVeryLongFieldName;</>}
|
|
308
|
+
/>
|
|
309
|
+
</ClassDeclaration>
|
|
310
|
+
</TestNamespace>,
|
|
311
|
+
).toRenderTo(`
|
|
312
|
+
class Test
|
|
313
|
+
{
|
|
314
|
+
public int Value
|
|
315
|
+
{
|
|
316
|
+
get {
|
|
317
|
+
return _someVeryLongFieldName;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
`);
|
|
322
|
+
});
|
|
323
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Block,
|
|
2
3
|
Children,
|
|
3
4
|
createSymbolSlot,
|
|
4
5
|
List,
|
|
@@ -54,11 +55,49 @@ export interface PropertyProps extends AccessModifiers, PropertyModifiers {
|
|
|
54
55
|
/** Property type */
|
|
55
56
|
type: Children;
|
|
56
57
|
|
|
57
|
-
/**
|
|
58
|
-
|
|
58
|
+
/**
|
|
59
|
+
* If property should have a getter. Pass `true` for an auto-property getter (`get;`),
|
|
60
|
+
* or pass children for a getter with a body.
|
|
61
|
+
*
|
|
62
|
+
* @example auto-property
|
|
63
|
+
* ```tsx
|
|
64
|
+
* <Property name="Name" type="string" get set />
|
|
65
|
+
* ```
|
|
66
|
+
* Produces: `string Name { get; set; }`
|
|
67
|
+
*
|
|
68
|
+
* @example with body
|
|
69
|
+
* ```tsx
|
|
70
|
+
* <Property name="Name" type="string" get={<>return _name;</>} set />
|
|
71
|
+
* ```
|
|
72
|
+
* Produces:
|
|
73
|
+
* ```csharp
|
|
74
|
+
* string Name
|
|
75
|
+
* {
|
|
76
|
+
* get { return _name; }
|
|
77
|
+
* set;
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
get?: boolean | Children;
|
|
59
82
|
|
|
60
|
-
/**
|
|
61
|
-
|
|
83
|
+
/**
|
|
84
|
+
* If property should have a setter. Pass `true` for an auto-property setter (`set;`),
|
|
85
|
+
* or pass children for a setter with a body.
|
|
86
|
+
*
|
|
87
|
+
* @example with body
|
|
88
|
+
* ```tsx
|
|
89
|
+
* <Property name="Value" type="int" get set={<>_value = value;</>} />
|
|
90
|
+
* ```
|
|
91
|
+
* Produces:
|
|
92
|
+
* ```csharp
|
|
93
|
+
* int Value
|
|
94
|
+
* {
|
|
95
|
+
* get;
|
|
96
|
+
* set { _value = value; }
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
set?: boolean | Children;
|
|
62
101
|
|
|
63
102
|
/** If property should only be set on the type creation */
|
|
64
103
|
init?: boolean;
|
|
@@ -133,14 +172,42 @@ export function Property(props: PropertyProps) {
|
|
|
133
172
|
`Cannot use 'init' and 'set' together on property '${name}'`,
|
|
134
173
|
);
|
|
135
174
|
}
|
|
136
|
-
|
|
175
|
+
|
|
176
|
+
const hasAccessorBody =
|
|
177
|
+
(props.get && props.get !== true) || (props.set && props.set !== true);
|
|
178
|
+
|
|
137
179
|
return (
|
|
138
180
|
<MemberDeclaration symbol={propertySymbol}>
|
|
139
181
|
<DocWhen doc={props.doc} />
|
|
140
182
|
<AttributeList attributes={props.attributes} endline />
|
|
141
183
|
{modifiers}
|
|
142
184
|
<TypeSlot>{props.type}</TypeSlot>
|
|
143
|
-
{props.nullable && "?"} <MemberName />
|
|
185
|
+
{props.nullable && "?"} <MemberName />
|
|
186
|
+
{hasAccessorBody ?
|
|
187
|
+
<AccessorBlock get={props.get} set={props.set} init={props.init} />
|
|
188
|
+
: <AutoAccessors
|
|
189
|
+
get={props.get}
|
|
190
|
+
set={props.set}
|
|
191
|
+
init={props.init}
|
|
192
|
+
initializer={props.initializer}
|
|
193
|
+
/>
|
|
194
|
+
}
|
|
195
|
+
</MemberDeclaration>
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
interface AutoAccessorsProps {
|
|
200
|
+
get?: boolean | Children;
|
|
201
|
+
set?: boolean | Children;
|
|
202
|
+
init?: boolean;
|
|
203
|
+
initializer?: Children;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
function AutoAccessors(props: AutoAccessorsProps) {
|
|
207
|
+
return (
|
|
208
|
+
<group>
|
|
209
|
+
{" "}
|
|
210
|
+
{"{ "}
|
|
144
211
|
<List joiner=" ">
|
|
145
212
|
{props.get && "get;"}
|
|
146
213
|
{props.set && "set;"}
|
|
@@ -148,20 +215,48 @@ export function Property(props: PropertyProps) {
|
|
|
148
215
|
</List>
|
|
149
216
|
{" }"}
|
|
150
217
|
{props.initializer && (
|
|
151
|
-
|
|
218
|
+
<>
|
|
219
|
+
{" ="}
|
|
220
|
+
<indent>
|
|
221
|
+
<line />
|
|
222
|
+
{props.initializer};
|
|
223
|
+
</indent>
|
|
224
|
+
</>
|
|
152
225
|
)}
|
|
153
|
-
</
|
|
226
|
+
</group>
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
interface AccessorBlockProps {
|
|
231
|
+
get?: boolean | Children;
|
|
232
|
+
set?: boolean | Children;
|
|
233
|
+
init?: boolean;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function AccessorBlock(props: AccessorBlockProps) {
|
|
237
|
+
return (
|
|
238
|
+
<Block newline>
|
|
239
|
+
<List hardline>
|
|
240
|
+
{props.get && <Accessor keyword="get" body={props.get} />}
|
|
241
|
+
{props.set && <Accessor keyword="set" body={props.set} />}
|
|
242
|
+
{props.init && "init;"}
|
|
243
|
+
</List>
|
|
244
|
+
</Block>
|
|
154
245
|
);
|
|
155
246
|
}
|
|
156
247
|
|
|
157
|
-
|
|
248
|
+
interface AccessorProps {
|
|
249
|
+
keyword: string;
|
|
250
|
+
body: boolean | Children;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function Accessor(props: AccessorProps) {
|
|
254
|
+
if (props.body === true) {
|
|
255
|
+
return <>{props.keyword};</>;
|
|
256
|
+
}
|
|
158
257
|
return (
|
|
159
|
-
|
|
160
|
-
{
|
|
161
|
-
|
|
162
|
-
<line />
|
|
163
|
-
{props.children};
|
|
164
|
-
</indent>
|
|
165
|
-
</group>
|
|
258
|
+
<>
|
|
259
|
+
{props.keyword} <Block inline>{props.body}</Block>
|
|
260
|
+
</>
|
|
166
261
|
);
|
|
167
262
|
}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
Children,
|
|
9
9
|
computed,
|
|
10
10
|
SourceFile as CoreSourceFile,
|
|
11
|
+
createScope,
|
|
11
12
|
List,
|
|
12
13
|
Scope,
|
|
13
14
|
Show,
|
|
@@ -45,10 +46,18 @@ export interface SourceFileProps extends CSharpFormatOptions {
|
|
|
45
46
|
|
|
46
47
|
/** A C# source file exists within the context of a namespace contains using statements and declarations */
|
|
47
48
|
export function SourceFile(props: SourceFileProps) {
|
|
48
|
-
const
|
|
49
|
+
const binder = useBinder();
|
|
50
|
+
const sourceFileScope = createScope(
|
|
51
|
+
CSharpSourceFileScope,
|
|
52
|
+
props.path,
|
|
53
|
+
undefined,
|
|
54
|
+
{
|
|
55
|
+
binder,
|
|
56
|
+
},
|
|
57
|
+
);
|
|
49
58
|
|
|
50
59
|
const nsContext = useNamespaceContext();
|
|
51
|
-
const globalNs = getGlobalNamespace(
|
|
60
|
+
const globalNs = getGlobalNamespace(binder);
|
|
52
61
|
const nsSymbol = nsContext ? nsContext.symbol : globalNs;
|
|
53
62
|
const usings = computed(() => {
|
|
54
63
|
return (
|
|
@@ -96,10 +105,7 @@ export function SourceFile(props: SourceFileProps) {
|
|
|
96
105
|
: <>
|
|
97
106
|
namespace <NamespaceName symbol={nsSymbol} />
|
|
98
107
|
{sourceFileScope.hasBlockNamespace ?
|
|
99
|
-
|
|
100
|
-
{" "}
|
|
101
|
-
<Block>{content}</Block>
|
|
102
|
-
</>
|
|
108
|
+
<Block newline>{content}</Block>
|
|
103
109
|
: <>
|
|
104
110
|
;<hbr />
|
|
105
111
|
<hbr />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Binder, useBinder } from "@alloy-js/core";
|
|
1
|
+
import { Binder, createSymbol, useBinder } from "@alloy-js/core";
|
|
2
2
|
import { NamespaceSymbol } from "../symbols/namespace.js";
|
|
3
3
|
|
|
4
4
|
export function useGlobalNamespace() {
|
|
@@ -7,12 +7,17 @@ export function useGlobalNamespace() {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
const globalNamespaces = new WeakMap<Binder, NamespaceSymbol>();
|
|
10
|
-
let defaultGlobalNamespace =
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
let defaultGlobalNamespace = createSymbol(
|
|
11
|
+
NamespaceSymbol,
|
|
12
|
+
"global",
|
|
13
|
+
undefined,
|
|
14
|
+
{
|
|
15
|
+
isGlobal: true,
|
|
16
|
+
},
|
|
17
|
+
);
|
|
13
18
|
|
|
14
19
|
export function resetGlobalNamespace() {
|
|
15
|
-
defaultGlobalNamespace =
|
|
20
|
+
defaultGlobalNamespace = createSymbol(NamespaceSymbol, "global", undefined, {
|
|
16
21
|
isGlobal: true,
|
|
17
22
|
});
|
|
18
23
|
}
|
|
@@ -25,7 +30,7 @@ export function getGlobalNamespace(binder: Binder | undefined) {
|
|
|
25
30
|
let namespace = globalNamespaces.get(binder);
|
|
26
31
|
|
|
27
32
|
if (!namespace) {
|
|
28
|
-
namespace =
|
|
33
|
+
namespace = createSymbol(NamespaceSymbol, "global", undefined, {
|
|
29
34
|
binder,
|
|
30
35
|
isGlobal: true,
|
|
31
36
|
});
|
package/src/create-library.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Binder,
|
|
3
|
+
createSymbol,
|
|
3
4
|
LibrarySymbolReference,
|
|
4
5
|
namekey,
|
|
5
6
|
refkey,
|
|
@@ -124,10 +125,15 @@ export function createLibrary<T extends Record<string, Descriptor>>(
|
|
|
124
125
|
name,
|
|
125
126
|
)! as NamespaceSymbol;
|
|
126
127
|
} else {
|
|
127
|
-
ownerSymbol =
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
ownerSymbol = createSymbol(
|
|
129
|
+
NamespaceSymbol,
|
|
130
|
+
namekey(name),
|
|
131
|
+
ownerSymbol!,
|
|
132
|
+
{
|
|
133
|
+
binder,
|
|
134
|
+
refkeys: refkey(),
|
|
135
|
+
},
|
|
136
|
+
);
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
139
|
|
|
@@ -214,7 +220,8 @@ function createSymbolFromDescriptor(
|
|
|
214
220
|
if (ownerSymbol.members.symbolNames.has(name)) {
|
|
215
221
|
return ownerSymbol.members.symbolNames.get(name)! as NamespaceSymbol;
|
|
216
222
|
}
|
|
217
|
-
return
|
|
223
|
+
return createSymbol(
|
|
224
|
+
NamespaceSymbol,
|
|
218
225
|
namekey(name),
|
|
219
226
|
ownerSymbol as NamespaceSymbol,
|
|
220
227
|
{
|
|
@@ -228,7 +235,8 @@ function createSymbolFromDescriptor(
|
|
|
228
235
|
case "interface":
|
|
229
236
|
case "struct":
|
|
230
237
|
case "record":
|
|
231
|
-
return
|
|
238
|
+
return createSymbol(
|
|
239
|
+
NamedTypeSymbol,
|
|
232
240
|
namekey(name),
|
|
233
241
|
ownerSymbol.members,
|
|
234
242
|
descriptor.kind,
|
|
@@ -239,7 +247,8 @@ function createSymbolFromDescriptor(
|
|
|
239
247
|
},
|
|
240
248
|
);
|
|
241
249
|
case "method":
|
|
242
|
-
return
|
|
250
|
+
return createSymbol(
|
|
251
|
+
MethodSymbol,
|
|
243
252
|
namekey(name),
|
|
244
253
|
ownerSymbol.members,
|
|
245
254
|
descriptor.methodKind,
|
|
@@ -250,7 +259,7 @@ function createSymbolFromDescriptor(
|
|
|
250
259
|
);
|
|
251
260
|
case "field":
|
|
252
261
|
case "property":
|
|
253
|
-
return
|
|
262
|
+
return createSymbol(CSharpSymbol, namekey(name), ownerSymbol.members, {
|
|
254
263
|
binder,
|
|
255
264
|
refkeys: refkey(),
|
|
256
265
|
type:
|
|
@@ -262,7 +271,7 @@ function createSymbolFromDescriptor(
|
|
|
262
271
|
lazyMemberInitializer,
|
|
263
272
|
});
|
|
264
273
|
case "generic":
|
|
265
|
-
return
|
|
274
|
+
return createSymbol(CSharpSymbol, namekey(name), ownerSymbol.members, {
|
|
266
275
|
binder,
|
|
267
276
|
refkeys: refkey(),
|
|
268
277
|
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether the provided name is a valid C# identifier (without `@` prefix).
|
|
3
|
+
* Does not account for keyword conflicts — use {@link isCSharpKeyword} for that.
|
|
4
|
+
*
|
|
5
|
+
* @param name - The name to validate.
|
|
6
|
+
* @returns true if the name matches C# identifier rules (letter or underscore start, word chars after).
|
|
7
|
+
*/
|
|
8
|
+
export function isValidCSharpIdentifier(name: string): boolean {
|
|
9
|
+
return /^[A-Za-z_]\w*$/.test(name);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Transforms an arbitrary string into a valid C# identifier by replacing
|
|
14
|
+
* invalid characters. The result may still be a C# keyword — callers
|
|
15
|
+
* should combine with keyword escaping if needed.
|
|
16
|
+
*
|
|
17
|
+
* - If the first character is not a letter or underscore, a `_` prefix is added.
|
|
18
|
+
* - Subsequent non-word characters are replaced with `_`.
|
|
19
|
+
* - Empty strings become `_`.
|
|
20
|
+
*
|
|
21
|
+
* @param name - The string to sanitize.
|
|
22
|
+
* @returns A string that satisfies C# identifier character rules.
|
|
23
|
+
*/
|
|
24
|
+
export function sanitizeCSharpIdentifier(name: string): string {
|
|
25
|
+
if (name.length === 0) return "_";
|
|
26
|
+
|
|
27
|
+
const chars: string[] = [];
|
|
28
|
+
for (let i = 0; i < name.length; i++) {
|
|
29
|
+
const ch = name[i];
|
|
30
|
+
if (i === 0) {
|
|
31
|
+
if (/[A-Za-z_]/.test(ch)) {
|
|
32
|
+
chars.push(ch);
|
|
33
|
+
} else {
|
|
34
|
+
chars.push("_");
|
|
35
|
+
// Keep the original char if it's a word char (e.g., digit)
|
|
36
|
+
if (/\w/.test(ch)) {
|
|
37
|
+
chars.push(ch);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
chars.push(/\w/.test(ch) ? ch : "_");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return chars.join("");
|
|
45
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,8 @@ export * from "./access.jsx";
|
|
|
2
2
|
export * from "./components/index.js";
|
|
3
3
|
export * from "./contexts/format-options.js";
|
|
4
4
|
export * from "./create-library.js";
|
|
5
|
+
export * from "./identifier-utils.js";
|
|
6
|
+
export * from "./keywords.js";
|
|
5
7
|
export * from "./modifiers.js";
|
|
6
8
|
export * from "./name-policy.js";
|
|
7
9
|
export * from "./scopes/index.js";
|