Internal_Static Readonly Internal_String with a dump of the AST representation starting from this node. This representation corresponds to the internal Java representation of the ClavaAst, where the node names correspond to Java classes. To get an equivalent representation with join point names, use the attribute 'dump'
Returns an array with the children of the node, considering null nodes
String that uniquely identifies this node
The name of the Java class of this node, which is similar to the equivalent node in Clang AST
Returns the number of children of the node, considering null nodes
The bit width of the type returned by this join point, in relation to the definitions of its Translation Unit, or undefined if there is no type or bitwidth defined, or if the join point is not in a TranslationUnit
String list of the names of the join points that form a path from the root to this node
Returns an array with the children of the node, ignoring null nodes
The names of the kinds of all clauses in the pragma, or empty array if no clause is defined
String with the code represented by this node
An integer expression, or undefined if no 'collapse' clause is defined
An integer expression, or undefined if no 'collapse' clause is defined
The starting column of the current node in the original code
Everything that is after the name of the pragma
Everything that is after the name of the pragma
The variable names of all copyin clauses, or empty array if no copyin clause is defined
The variable names of all copyin clauses, or empty array if no copyin clause is defined
Returns the node that declares the scope of this node
JS object associated with this node, containing parsed data of #pragma clava data when the node can be a target of pragmas. This is a special object, managed internally, and cannot be reassigned, to change its contents requires using key-value pairs. If the node can be the target of a pragma, the information stored in this object is persisted between rebuilds.
JS object associated with this node, containing parsed data of #pragma clava data when the node can be a target of pragmas. This is a special object, managed internally, and cannot be reassigned, to change its contents requires using key-value pairs. If the node can be the target of a pragma, the information stored in this object is persisted between rebuilds.
One of 'shared' or 'none', or undefined if no 'default' clause is defined
One of 'shared' or 'none', or undefined if no 'default' clause is defined
The depth of this join point in the AST. If it is the root join point returns 0, if it is a child of the root node returns 1, etc.
Retrieves all descendants of the join point
The ending column of the current node in the original code
The ending line of the current node in the original code
The name of the file where the code of this node is located, if available
The complete path to the file where the code of this node comes from
The variable names of all firstprivate clauses, or empty array if no firstprivate clause is defined
The variable names of all firstprivate clauses, or empty array if no firstprivate clause is defined
True if the node has children, false otherwise
True if this node has a parent
True, if the join point has a type
Returns comments that are not explicitly in the AST, but embedded in other nodes
Returns comments that are not explicitly in the AST, but embedded in other nodes
True if this is a Cilk node (i.e., cilk_spawn, cilk_sync or cilk_for)
True, if the join point is inside a header (e.g., if condition, for, while)
True, if the join point is inside a loop header (e.g., for, while)
True, if the join point is part of a system header file
True if any descendant or the node itself was defined as a macro
Id that is based on the position of the node in the code, and should remain stable between compilations (warning: only a few nodes - file, function, loop - currently support it)
A list of the properties currently supported by this node. Can be used as parameter of the attribute 'getValue'
The kind of the directive
The kind of the directive
The variable names of all lastprivate clauses, or empty array if no lastprivate clause is defined
The variable names of all lastprivate clauses, or empty array if no lastprivate clause is defined
Returns the node that came before this node, or undefined if there is none
The starting line of the current node in the original code
A string with information about the file and code position of this node, if available
The name of the pragma. E.g. for #pragma foo bar, returns 'foo'
The name of the pragma. E.g. for #pragma foo bar, returns 'foo'
Returns the number of children of the node, ignoring null nodes
An integer expression, or undefined if no 'num_threads' clause is defined
An integer expression, or undefined if no 'num_threads' clause is defined
An integer expression, or undefined if no 'ordered' clause with a parameter is defined
An integer expression, or undefined if no 'ordered' clause with a parameter is defined
If this join point was not originally from the parsed AST, returns the first join point of the original AST that contributed to its origin
Returns the parent node in the AST, or undefined if it is the root node
Returns the node that declares the scope that is a parent of the scope of this node
The pragmas associated with this node
The variable names of all private clauses, or empty array if no private clause is defined
The variable names of all private clauses, or empty array if no private clause is defined
One of 'master', 'close' or 'spread', or undefined if no 'proc_bind' clause is defined
One of 'master', 'close' or 'spread', or undefined if no 'proc_bind' clause is defined
The reduction kinds in the reductions clauses of the this pragma, or empty array if no reduction is defined
Returns the node that comes after this node, or undefined if there is none
Returns the 'program' joinpoint
An integer expression, or undefined if no 'schedule' clause with chunk size is defined
An integer expression, or undefined if no 'schedule' clause with chunk size is defined
One of 'static', 'dynamic', 'guided', 'auto' or 'runtime', or undefined if no 'schedule' clause is defined
One of 'static', 'dynamic', 'guided', 'auto' or 'runtime', or undefined if no 'schedule' clause is defined
A list with possible values of 'monotonic', 'nonmonotonic' or 'simd', or undefined if no 'schedule' clause with modifiers is defined
A list with possible values of 'monotonic', 'nonmonotonic' or 'simd', or undefined if no 'schedule' clause with modifiers is defined
The nodes of the scope of the current join point. If this node has a body (e.g., loop, function) corresponds to the children of the body. Otherwise, returns an empty array
The variable names of all shared clauses, or empty array if no shared clause is defined
The variable names of all shared clauses, or empty array if no shared clause is defined
Returns an array with the siblings that came before this node
Returns an array with the siblings that come after this node
Converts this join point to a statement, or returns undefined if it was not possible
The first node below the pragma that is not a comment or another pragma. Example of pragma targets are statements and declarations
True, if this node is a Java instance of the given name, which corresponds to a simple Java class name of an AST node. For an equivalent function for join point names, use 'instanceOf(joinPointName)'
Performs a copy of the node and its children, but not of the nodes in its fields
Clears all properties from the .data object
Performs a copy of the node and its children, including the nodes in their fields (only the first level of field nodes, this function is not recursive)
Removes the node associated to this joinpoint from the AST
Looks for an ancestor joinpoint name, walking back on the AST
Returns the child of the node at the given index, considering null nodes
Looks for an ancestor joinpoint name, walking back on the joinpoint chain
Returns the child of the node at the given index, ignoring null nodes
Retrieves the descendants of the given type, including the node itself
Looks in the descendants for the first node of the given type
String with the full Java class name of the type of the Java field with the provided name
Java Class instance with the type of the given key
The variable names for the given reduction kind, or empty array if no reduction of that kind is defined
All the nodes below the target node, including the target node, up until a pragma with the name given by argument 'endPragma'. If no end pragma is found, returns the same result as if not providing the argument
OptionalendPragma: stringRetrives values that have been associated to nodes of the AST with 'setUserField'
The value associated with the given property key
True if the directive has at least one clause of the given clause kind, false otherwise
True, if the given join point or AST node is the same (== test) as the current join point AST node
True if it is legal to use the given clause kind in this directive, false otherwise
List with the values of fields that are join points, recursively
Adds a message that will be printed to the user after weaving finishes. Identical messages are removed
Removes the children of this node
Removes any clause of the given kind from the OpenMP pragma
Sets the value of the collapse clause of an OpenMP pragma
Sets the value of the collapse clause of an OpenMP pragma
Sets the variables of a copyin clause of an OpenMP pragma
Setting data directly is not supported, this action just emits a warning and does nothing
Sets the value of the default clause of an OpenMP pragma
Sets the variables of a firstprivate clause of an OpenMP pragma
Sets the commented that are embedded in a node
Sets the commented that are embedded in a node
Sets the directive kind of the OpenMP pragma. Any unsupported clauses will be discarded
Sets the variables of a lastprivate clause of an OpenMP pragma
Sets the value of the num_threads clause of an OpenMP pragma
Sets the value of the ordered clause of an OpenMP pragma
Optionalparameters: stringSets the variables of a private clause of an OpenMP pragma
Sets the value of the proc_bind clause of an OpenMP pragma
Sets the variables for a given kind of a reduction clause of an OpenMP pragma
Sets the value of the chunck size in the schedule clause of an OpenMP pragma. Can only be called if there is already a schedule clause in the directive, otherwise throws an exception
Sets the value of the chunck size in the schedule clause of an OpenMP pragma. Can only be called if there is already a schedule clause in the directive, otherwise throws an exception
Sets the value of the schedule clause of an OpenMP pragma
Sets the value of the modifiers in the schedule clause of an OpenMP pragma. Can only be called if there is already a schedule clause in the directive, otherwise throws an exception
Sets the variables of a shared clause of an OpenMP pragma
Associates arbitrary values to nodes of the AST
Overload which accepts a map
Sets the value associated with the given property key
Replaces this join point with a comment with the same contents as .code
Represents an OpenMP pragma (e.g., #pragma omp parallel)