beyondnet
beyondnet copied to clipboard
Current State
Target Languages
- [x] Unmanaged C#
- [x] C
- [x] Swift
- [ ] Kotlin (In progress)
- [ ] Rust
- [ ] go (There's a sample in the repo that uses manual C to go bindings)
Types
- [x] Classes
- [x] Structs
- [x] Enums
- [x] Primitives
- [x] Booleans
- [x] Interfaces
- [x] Delegates
- [x] Events
- [x] "Typed" Arrays
- [x] Multidimensional Arrays
- [x]
outmethod parameters - [x]
refarguments - [ ]
refarguments in delegates - [x]
refreturn values - [ ]
refreturn values in delegates - [x]
inarguments - [ ]
inarguments in delegates - [x] Generic Methods (Only experimental support)
- [x] Generic Types (Only experimental support)
- [x] Tuples (Comes free with generic types support)
- [x] Nullable structs (ie.
Guid?/Nullable<Guid>) - [ ] Nullable primitives
- [ ] Nullable enums
- [ ] Managed Pointers (ie.
char*)
Language Constructs
- [x] Constructors
- [x] Destructors
- [x] Methods
- [x] Extension Methods
- [x] Properties (Getters/Setters)
- [x] Fields (Getters/Setters)
- [x] Exception handling
- [x] Overloads
- [x] Type Conversion (Casting/
as) - [x] Type checks (
is) - [x] Boxing/Unboxing of primitives (Int32 <-> System.Object)
- [x] Indexers
- [x] Nullability
- [ ] Async stuff
Target Platforms for automatic build support
- [x] macOS ARM64
- [x] macOS x64
- [x] iOS ARM64
- [x] iOS Simulator ARM64
- [x] iOS Simulator x64
- [ ] tvOS ARM64
- [ ] watchOS (?)
- [ ] visionOS ARM64
- [ ] visionOS Simulator ARM64
- [ ] Android
- [ ] Linux ARM64
- [ ] Linux x64
Misc
- [ ] Stable ABI (We're far from the point where we can ensure that the generated code will be binary compatible from one version of the generator to the next)
@damianmehers have you seen this repo?