Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Represents the immediate subtype/supertype relation. Transitive super-/subtyping is expressed by the predicate subtype(#subClass, #superClass).
#id: id
The unique id of this fact.
#parent: classT
ID of an object type (class or interface)
#super: classT, parameterizedTypeT
ID of a classTor a parameterizedTypeT referencing the direct supertype (superclass or superinterface).
Note: Interfaces that have no explicit super-interface in the source code have the class java.lang.Object as direct supertype.
public class HelloWorld extends HelloUniverse { //#class ... } ... public class HelloUniverse { //#extendedClass ... }
extendsT(#extends, #class, #extendedClass). classT(#class, 'null', 'HelloWorld', [], _). classT(#extendedClass, 'null', 'HelloUniverse', [], _).
ast_node_type_spec(extendsT,[ ast_arg(id, mult(1,1,no ), id, [extendsT]), ast_arg(parent,mult(1,1,no ), id, [classT]), ast_arg(super, mult(1,1,no ), id, [classT, parameterizedTypeT]) ]).