SDA SE WikiSoftware Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents the union type in a multi-catch.
#id: id
the unique ID assigned to this fact.
#rawType: Type reference
the id of the implicit type of the union. This type is not visible in the source-code (it's the common supertype of all the types in the union).
[#type_1,…]: Type reference
the ids of all the types in the union.
try {
...
} catch (ClassCastException | NullPointerException e) {
...
}
tryT(Try, _, _, [], _, [Catch], null), catchT(Catch, Try, _, Param, _), paramT(Param, Catch, UnionType, e), unionTypeT(UnionType, RefToRuntimeException, [RefToClassCastException, RefToNullPointerException]).
ast_node_type_spec(unionTypeT,[
ast_arg(id, mult(1,1,no ), id, [unionTypeT]),
ast_arg(rawType, mult(1,1,no ), id, [type_inst]),
ast_arg(types, mult(0,*,no ), id, [type_inst])
]).