SDA SE Wiki

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

User Tools

Site Tools



extendsT(#id, #parent, #super)

Represents the immediate subtype/supertype relation. Transitive super-/subtyping is expressed by the predicate subtype(#subClass, #superClass).

Arguments

#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.

Sample Java Source

public class HelloWorld extends HelloUniverse {            //#class
 ...
}

...
public class HelloUniverse {                               //#extendedClass
  ...	
}

Its PEF Representation

extendsT(#extends, #class, #extendedClass).
classT(#class, 'null', 'HelloWorld', [], _).
classT(#extendedClass, 'null', 'HelloUniverse', [], _).

AST Specification

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

SEWiki, © 2019