aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/serializer
Commit message (Collapse)AuthorAgeFilesLines
* pkg/serializer: support primitive user types in interfacesDmitry Vyukov2020-04-252-11/+31
| | | | | | | | | | | | Add handling of user types that has underlying primitive types. Consider: type T int var obj interface{} = T(42) T has kind reflect.Int. But if we serialize obj as just "42", it will be turned into plain int. Detect this case and serialize obj as "T(42)".
* pkg/serializer: test result in the testDmitry Vyukov2020-04-251-3/+49
| | | | | Make the test actually test what we expect and extend slightly for few interesting cases.
* pkg/serializer: do not write field names if it won't save spaceDmitry Vyukov2020-01-262-7/+22
| | | | | | | If we are going to write all values, don't write field names. This only increases size of generated files. The change reduces size of generated files by 5.8% (62870496-59410354=3460142 bytes saved).
* pkg/serializer: refactorDmitry Vyukov2018-08-021-56/+68
| | | | | | | Factor out serialization of pointers, slices and structs into separate functions. Update #538
* .gometalinter.json: enable gofmtDmitry Vyukov2018-07-311-1/+1
| | | | | | | The part that we want from gofmt is simplify (-s). Fix all code that needs fixing. Update #538
* all: fix gometalinter warningsDmitry Vyukov2018-03-082-5/+1
| | | | Fix typos, non-canonical code, remove dead code, etc.
* all: initial support for fuchsiaDmitry Vyukov2017-09-201-3/+9
| | | | | | Nothing works, but builds. Update #191
* sys: compile all supported targets into the packageDmitry Vyukov2017-09-151-1/+2
| | | | | Currently we compile in only GOOS/GOARCH target. Compile in all targets so that they can be selected at runtime.
* pkg/ifuzz: use serializerDmitry Vyukov2017-09-041-0/+4
| | | | Simplifies code and reduces size of generated code from 820K to 310K.
* pkg/compiler: check and generate typesDmitry Vyukov2017-09-022-0/+209
Move most of the logic from sysgen to pkg/compiler. Update #217