commit | 7f4ccf7cf59d66c81b79eaf8f4d98fc3ae954df2 | [log] [tgz] |
---|---|---|
author | Aaron Zinman <aaron@azinman.com> | Tue Apr 05 10:55:19 2016 -0700 |
committer | Benjamin Prosnitz <bprosnitz@google.com> | Wed Apr 06 22:36:11 2016 +0000 |
tree | ae23193bbb1d2db624e5ec87bf10819631f9d016 | |
parent | 4f920be61c24cc620d8a07dfadab83af9c7c2879 [diff] |
VDL codegen for Swift. The codegen is largely complete. The following are missing: - Generating const values for type Any - vdl.Type support for VOM reflection/introspection - TypeObject support, which requires vdl.Type - Param support for Errors - RPC support, which requires VOM. - Proper integration with Xcode Reach: - A post-process code re-formatter to make the generated code have the correct spacing, etc. Notes: - Currently v23 won't compile until we have support for migrating away from v23's types that use reserved words in Swift. This will come in another CL. - We don't support the fixed length VDL type explicitly -- instead that gets deferred to VOM. The reason is that Swift's type system cannot express a fixed length array, so we can only error at runtime. If we are to error at runtime, then we must either wrap arrays and monitor their length, or use getter/setters to monitor the length there, or enforce at VOM. The last option is currently preferrable as it allows for VDL generated code to be more idiomatic by directly using Arrays. This might change in the future. MultiPart: 3/4 Change-Id: I6c5bdb65f15751e605d98863e5ecb89571344b80
This repository contains a reference implementation of the Vanadium APIs.
Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.