mirror of
https://github.com/dolthub/dolt.git
synced 2026-02-05 10:31:30 -06:00
As arv pointed out, the parser should no longer generate TypeRefs of UnionKind, so I made it stop doing that. Getting rid of UnionKind has the side effect of making UnionDesc no longer capable of satisfying TypeDesc, so one can no longer create a TypeRef that holds a UnionDesc. That's correct for production, but I'd been using Field structs (which contain a TypeRef) to define my test cases. Since I still need to test that the parser correctly handles named union fields in structs, and Field structs are no longer capable of expressing that, I needed to create a new testField struct and some attendant types to allow me to write all my test cases.
Noms type language parser
The parser for the Noms type language is currently generated using Pigeon (https://github.com/PuerkitoBio/pigeon) and goimports. To get the packages needed to work on the parser, run
go get -u github.com/PuerkitoBio/pigeon github.com/bradfitz/goimports
Once these are set up, simply run go generate to generate go code for the parser.