Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(C#) - Basic types, Lists, Results & Variants (#807)
* feat(c#): Multi-return support Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * wip * simple lists codegen passing * fix warning * multi return passing * passes ret-areas * passes simple-functions and zero-size-tuple * fixes regression with tcp-interop * integers passing * passes keywords * remove old code * Merge branch 'main' into wip Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * use new tuple work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * fix up codegen tests Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * fmt and remove debug line Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Use internal for imports function Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Fix up test implemetation (not complete yet) Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * handle empyt array Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Copy data from parameter properly Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * List Exports now work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * All export tests work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Fix up strings with changes to lists Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Start on list imports Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Basic list imports work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * List<string> works Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * more imports work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * list results work Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * All the tests pass 🚀 Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Fix up return area code-gen Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * fix up records test Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Simplify the Return area code Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * fix return area imports Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * clean up allocs Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Now passes variants and result tests. Still an issue with return pointer alignment and missing cleanup function. * added todo * Debugging issues with variant lower Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * only write the affected bytes and do not extra bytes write to the following memory addresses * Fixed bug wit float conversion and return area alignment * removed trailing space * fixees incorrect type name for results and variants * Converted option to generic * Changes tests to use option generic * Use stack based return area for imports but don't set the generic return area size/alignment Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * uncomment debug statement Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Add in the new bitcases Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Remove extra copy Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Update crates/csharp/src/lib.rs Co-authored-by: yowl <scott.waye@hubse.com> * Update crates/csharp/src/lib.rs Co-authored-by: yowl <scott.waye@hubse.com> * rename and fix ca2018 Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Update return pointer to match c version on imports Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Use local return varaible Signed-off-by: James Sturtevant <jsturtevant@gmail.com> * Fix types Signed-off-by: James Sturtevant <jsturtevant@gmail.com> --------- Signed-off-by: James Sturtevant <jsturtevant@gmail.com> Co-authored-by: James Sturtevant <jsturtevant@gmail.com> Co-authored-by: Timmy Silesmo <timmy@raybrowser.com> Co-authored-by: yowl <scott.waye@hubse.com>
- Loading branch information