Commit Graph

11 Commits

Author SHA1 Message Date
Kartikaya Gupta 5f6b223237 Add ostream header to all generated .cpp files.
Ideally we'd just do this when we need it, but the ostream derivation
will be controlled by both global config and per-structure config, so
it's hard to know exactly when we need it and when we don't.
2020-10-01 12:22:51 +02:00
Emilio Cobos Álvarez 297be51686 Refactor rename-rules to make more sense.
Option<RenameRule> doesn't make sense anywhere because there's a
RenameRule::None itself, which is also default.

This simplifies a bit the rename rules code, and removes one weird
"default-to-gecko-case" that seems snuck by.
2020-09-22 13:01:52 +02:00
Emilio Cobos Álvarez ee21bfc1f0 ir: Simplify and make slightly more efficient the ToCondition trait. 2020-02-02 18:29:29 +01:00
Emilio Cobos Álvarez b2e224354b Use placement new for constructing in tagged unions' helper methods.
Using operator= is not quite sound in presence of destructors and operator
overloading.

It's perfectly fine to assume that the left-hand-side of an operator= expression
is valid memory, however we're using uninitialized memory here, that may not be
the case.

Use placement new to properly construct tagged unions. I don't need this with
any urgency, but it's the right thing to do in presence of complex types, and
the current code seems a bomb waiting to explode :)
2019-05-10 18:15:39 +02:00
Jeff Muizelaar b718662520 Support references better
This adds better support for references in the type system
and uses them for enumeration helpers instead of string
concatenation.
2019-01-03 14:14:42 -06:00
Dan Robertson 304f752c06 Add support for VaList functions 2019-01-03 09:46:55 -06:00
Alexis Beingessner cabe1055c4 Add tests for optional enum convenience constructors 2018-04-25 13:40:58 -05:00
Ingvar Stepanyan bd494d4646 Simplify enum variant handling 2018-01-29 11:36:59 -06:00
Kartikaya Gupta 2ccaa3e956 Add a derive_constructor option to generate struct constructors 2018-01-25 12:22:01 -06:00
Ingvar Stepanyan 8fddc5d0a9 Emit generics as native templates in C++ 2017-11-18 14:40:42 -06:00
Ryan Hunt 6a02ec4a7f Commit test expectations 2017-11-09 18:04:22 -05:00