SDA SE Wiki

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

User Tools

Site Tools



extendsT(#class, #extendedClass)

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

Arguments

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

Sample Java Source

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

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

Its PEF Representation

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

AST Specification

ast_relation('Java',extendsT,[
     ast_arg(sub,   mult(1,1,no ), id,   [classT]), 
     ast_arg(super, mult(1,1,no ), id,   [classT]) 
]).
research/jtransformer/api/java/pefs/2.9/extendst.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2023