Static
accessCreates an access specifier (e.g., public:), for classes.
One of public, protected, private or none.
Static
arrayCreates an array access from the given base that represents an array, and several subscripts.
Must provide at least one subscript, base expression must be of type array, and have a defined number of dimensions. The number of subscripts must be lower or equal than the number of dimensions of the array type.
Rest
...subscripts: Expression[]Static
assignStatic
binaryCreates a new join point 'binaryOp'.
The binary operator kind.
The left hand of the binary operator. If a string, it is converted to a literal expression.
The right hand of the binary operator. If a string, it is converted to a literal expression.
The return type of the operator. If a string, it is converted to a literal type.
Static
builtinStatic
callCreates a new join point 'call'.
The function for which the call will refer to.
Rest
...callArgs: Expression[]The arguments of the function.
Static
callCreates a new join point 'call'.
The name of the function to call.
The return type of the function.
Rest
...callArgs: Expression[]The arguments of the function.
Static
classStatic
commentStatic
compoundStatic
constStatic
cRepresents an explicit C-style cast (e.g., (double) a).
Static
cxxStatic
declStatic
declStatic
doubleThe number that will be a double literal.
Static
emptyStatic
equalsInternal
True, if the two AST nodes are equal (internal representation. Not actual Joinpoint types), in the sense that the underlying AST nodes are also equal, according to their .equals() method (might return true for different AST nodes).
Static
exprStatic
exprStatic
fieldStatic
fileCreates a new join point 'file'.
Name of the source file. If filename represents a path to an already existing file, literally adds the contents of the file to the join point.
The path of the new file, relative to the output folder. Absolute paths are not allowed. This path will be required when including the file (e.g., #include "
Static
fileName of the source file.
The contents of the source file.
The path of the new file, relative to the output folder. Absolute paths are not allowed. This path will be required when including the file (e.g., #include "
Static
forCreates a new 'for' statement join point.
Optional
$init: string | StatementThe initialization of the for statement. If a string, it is converted to a literal expression.
Optional
$condition: string | StatementThe condition of the for statement. If a string, it is converted to a literal expression.
Optional
$inc: string | StatementThe increment of the for statement. If a string, it is converted to a literal expression.
Optional
$body: string | StatementThe body of the for statement.
Static
functionCreates a new join point 'function'. // TODO update docs
Static
functionCreates a new join point 'function'.
The name of the function.
The type of the function.
Static
functionCreates a new join point 'functionType'.
Static
gotoStatic
ifCreates a new join point 'if'.
The condition of the if statement. If a string, it is converted to a literal expression.
Optional
$then: StatementThe body of the if
Optional
$else: StatementThe body of the else
Static
initCreates a initialization list expression (initList) from the values.
Must provide at least one value, the element type of the initList will be the same as the type of the first element.
Rest
...values: Expression[]Static
integerThe number that will be a integer literal.
Static
labelStatic
labelStatic
ompStatic
paramStatic
parenthesisCreates a new join point 'expr' representing a parenthesis expression.
The expression inside the parenthesis. If a string, it is converted to a literal expression.
Static
pointerStatic
pointerStatic
programStatic
returnOptional
$expr: ExpressionAn expression to return.
Static
scopeStatic
stmtStatic
structa struct for the type
An elaborated type for the given struct.
Static
switchCreates a new join point 'switch'
Rest
...cases: Expression[]Static
ternaryCreates a new join point 'ternaryOp'
The condition of the operator
The result when $cond evaluates to true
The result when $cond evaluates to false
The type of the operation
The newly created join point
Static
toStatic
typeTries to convert the given source into a join point, or throws an exception if it is not possible.
If source is a string:
If source is a join point:
A join point representing a type.
Static
typedefThe underlying type of the typedef.
The name of the typedef.
Static
typedefA typedef declaration.
Static
typeStatic
unaryCreates a new join point 'unaryOp'.
The unary operator kind.
The sub-expression of the unary operator. If a string, it is converted to a literal expression.
Optional
$type: string | TypeThe return type of the operator. If undefined, tries to infer the correct type based on the type of the $expr (inference might not be implemented for all operators).
Creates a new join point 'unaryOp'.
The unary operator kind.
The sub-expression of the unary operator. If a string, it is converted to a literal expression.
The return type of the operator that will be converted to a literal type.
Static
varStatic
varStatic
variableStatic
varStatic
varStatic
while
Utility methods related with the creation of new join points.