SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



unionTypeT(#id, #rawType, [#type_1,...])

Represents the union type in a multi-catch.

History
  • JTransformer 4.0: Added

Arguments

#id: id
the unique ID assigned to this fact.

#rawType: Types
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,…]: Types
the ids of all the types in the union.

Sample Java Source

try {
  ...
} catch (ClassCastException | NullPointerException e) {
  ...
}

Its PEF Representation

tryT(Try, _, _, [], _, [Catch], null),
catchT(Catch, Try, _, Param, _),
paramT(Param, Catch, UnionType, e),
unionTypeT(UnionType, RefToRuntimeException, [RefToClassCastException, RefToNullPointerException]).

AST Specification

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])
]).
research/jtransformer/api/java/pefs/4.2/uniontypet.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2023