SDA SE WikiSoftware 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])
]).