Commit graph

162 commits

Author SHA1 Message Date
Sönke Ludwig 84d6c8da80 Rename "type" to "kind".
Although there will be situations where the enum names equal the name of the types stored in a TaggedAlgebraic, "type" is often not the right term. It's also possible to define multiple fields of the same type, but with different names. "Kind" is used now as a more generic alternative.
2015-08-27 11:00:16 +02:00
Sönke Ludwig 591b45ca8f Use a JSON package recipe for now. 2015-08-17 19:05:57 +02:00
Sönke Ludwig d02baa57ac Add opBinaryRight forwarding. 2015-08-17 15:53:47 +02:00
Sönke Ludwig f8835076f8 Improve operator forwarding.
- Added @disableIndex to disable opIndex forwarding for certain fields
- Added field/properly forwarding
- Fixed binary operator overloading
- Allow implicit conversions when trying to match return types to TaggedAlgebraic during operator return type deduction
2015-08-17 15:49:32 +02:00
Sönke Ludwig 8fba150b03 Add limited support for operations where the RHS is a TaggedAlgebraic. 2015-08-14 11:24:54 +02:00
Sönke Ludwig d38c8d472d Add some more tests. 2015-08-13 23:43:09 +02:00
Sönke Ludwig f06a793dae Add support for opCall forwarding and add default assignment operator. 2015-08-13 16:11:30 +02:00
Sönke Ludwig d901bfa810 Add UFCS functions get and hasType. 2015-08-13 15:59:50 +02:00
Sönke Ludwig e53ae02ec6 Fix postblit/destructor handling and partially fix compilation on DMD 2.067.1.
Also allow to use a struct instead of a union to pass the fields to TaggedAlgebraic (because union doesn't allow fields with postblit/destructor).
2015-08-13 15:30:32 +02:00
Sönke Ludwig ed96f7652f Comment-in descruct() call. 2015-08-13 12:53:31 +02:00
Sönke Ludwig dab3cf383e Make SDLang parser happy. 2015-08-13 11:59:58 +02:00
Sönke Ludwig 2e8d0b29dd Initial commit of a first working version. 2015-08-13 11:54:39 +02:00