d: add api.value.type union support

The union of the values is handled by the backend.
In D, unions can hold classes, structs, etc., so this is more similar
to the C++ api.value.type variant.

* data/skeletons/d.m4, data/skeletons/lalr1.d: Here.
* tests/calc.at, tests/local.at: Test it.
This commit is contained in:
Akim Demaille
2021-01-21 21:45:45 +01:00
parent a9c2549c27
commit ae0889d805
4 changed files with 124 additions and 11 deletions

View File

@@ -206,7 +206,7 @@ public struct ]b4_location_type[
private immutable bool yy_location_is_class = false;
]])])m4_ifdef([b4_user_union_members], [private union YYSemanticType
]])])[]b4_value_type_setup[]m4_ifdef([b4_user_union_members], [private union YYSemanticType
{
b4_user_union_members
};],