ref: Add VDL codegen for VDLRead(vdl.Decoder) method of each type

This CL adds codegen support to the vdl compiler for the VDLRead
method, which is used for fast decoding via the vom.XDecoder.
The VDLRead approach is simpler and much faster than the old
vdl.Target interface approach, since it doesn't require any
reflection, and doesn't need to allocate new Targets.  Eventually
vdl.Target and all of its associated codegen will be removed.

The only feature missing from this CL is support for the Any
type, which needs both vdl.Value and vom.RawBytes support for
VDLRead.  Those features will be added in a later CL.

MultiPart: 3/5

Change-Id: I052ba239f5d72da3bea633277f186f13c25da51b
39 files changed
tree: 225624b213126f52e2086b6da802dc2a709c8b1f
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

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.