Packages, Compilation Units and Imports | Annotations | Declarations | Type Elements & Relations | Expressions | Statements | Body Level Attributes |
|---|
typeTestT (#id, #parent, #encl, #type, #expression)
represents the instanceof expression.
Arguments
#id: id
the unique ID assigned to this fact.
#parent: id
ID of the parent node.
#encl: methodT, constructorT, classInitializerT
ID of the fact that represents the enclosing method.
#type: Type reference
the id of the reference to the right operand of this instanceof expression
#expression: expression
left operand of this instanceof expression
Sample Java Source
if (test instanceof TestChild) return;
Its PEF Representation
ifT(#ifT_ID, #Parent, _, #Condition, #ThenPart, 'null'). typeTestT(#Condition, #ifT_ID, _, #typeref, #expression). identT(#expression, Condition, _, 'test', _). returnT(#ThenPart, ID, _, 'null').
AST Specification
ast_node_def('Java',typeTestT,[
ast_arg(id, mult(1,1,no ), id, [typeTestT]), % <-- convention!!!
ast_arg(parent, mult(1,1,no ), id, [id]), % <-- convention!!!
ast_arg(encl, mult(1,1,no ), id, [methodT, constructorT, classInitializerT]),
ast_arg(type, mult(1,1,no ), id, [typeInst]),
ast_arg(expr, mult(1,1,no ), id, [expressionType])
]).


