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).
#class: classT
ID of an object type (class or interface)
#extendedClass: classT
ID of 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(#class, #extendedClass). classT(#class, 'null', 'HelloWorld', _). classT(#extendedClass, 'null', 'HelloUniverse', _).
ast_relation('Java',extendsT,[ ast_arg(sub, mult(1,1,no ), id, [classT]), ast_arg(super, mult(1,1,no ), id, [classT]) ]).