Hierarchy (view full)

Constructors

Properties

_javaObject: any
_defaultAttributeInfo: {
    jpMapper?: {
        accessSpecifier: typeof AccessSpecifier;
        adjustedType: typeof AdjustedType;
        arrayAccess: typeof ArrayAccess;
        arrayType: typeof ArrayType;
        attribute: typeof Attribute;
        binaryOp: typeof BinaryOp;
        body: typeof Body;
        boolLiteral: typeof BoolLiteral;
        break: typeof Break;
        builtinType: typeof BuiltinType;
        call: typeof Call;
        case: typeof Case;
        cast: typeof Cast;
        cilkFor: typeof CilkFor;
        cilkSpawn: typeof CilkSpawn;
        cilkSync: typeof CilkSync;
        class: typeof Class;
        clavaException: typeof ClavaException;
        comment: typeof Comment;
        continue: typeof Continue;
        cudaKernelCall: typeof CudaKernelCall;
        decl: typeof Decl;
        declarator: typeof Declarator;
        declStmt: typeof DeclStmt;
        deleteExpr: typeof DeleteExpr;
        elaboratedType: typeof ElaboratedType;
        empty: typeof Empty;
        emptyStmt: typeof EmptyStmt;
        enumDecl: typeof EnumDecl;
        enumeratorDecl: typeof EnumeratorDecl;
        enumType: typeof EnumType;
        expression: typeof Expression;
        exprStmt: typeof ExprStmt;
        field: typeof Field;
        file: typeof FileJp;
        floatLiteral: typeof FloatLiteral;
        function: typeof FunctionJp;
        functionType: typeof FunctionType;
        gotoStmt: typeof GotoStmt;
        if: typeof If;
        implicitValue: typeof ImplicitValue;
        include: typeof Include;
        initList: typeof InitList;
        intLiteral: typeof IntLiteral;
        joinpoint: typeof Joinpoint;
        labelDecl: typeof LabelDecl;
        labelStmt: typeof LabelStmt;
        literal: typeof Literal;
        loop: typeof Loop;
        marker: typeof Marker;
        memberAccess: typeof MemberAccess;
        memberCall: typeof MemberCall;
        method: typeof Method;
        namedDecl: typeof NamedDecl;
        newExpr: typeof NewExpr;
        omp: typeof Omp;
        op: typeof Op;
        param: typeof Param;
        parenExpr: typeof ParenExpr;
        parenType: typeof ParenType;
        pointerType: typeof PointerType;
        pragma: typeof Pragma;
        program: typeof Program;
        qualType: typeof QualType;
        record: typeof RecordJp;
        returnStmt: typeof ReturnStmt;
        scope: typeof Scope;
        statement: typeof Statement;
        struct: typeof Struct;
        switch: typeof Switch;
        tag: typeof Tag;
        tagType: typeof TagType;
        templateSpecializationType: typeof TemplateSpecializationType;
        ternaryOp: typeof TernaryOp;
        this: typeof This;
        type: typeof Type;
        typedefDecl: typeof TypedefDecl;
        typedefNameDecl: typeof TypedefNameDecl;
        typedefType: typeof TypedefType;
        unaryExprOrType: typeof UnaryExprOrType;
        unaryOp: typeof UnaryOp;
        undefinedType: typeof UndefinedType;
        vardecl: typeof Vardecl;
        variableArrayType: typeof VariableArrayType;
        varref: typeof Varref;
        wrapperStmt: typeof WrapperStmt;
    };
    map?: DefaultAttributeMap;
    name: null | string;
    type?: PrivateMapper;
} = ...

Accessors

  • get actions(): string[]
  • Returns string[]

  • get ast(): string
  • 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 string

  • get astName(): string
  • The name of the Java class of this node, which is similar to the equivalent node in Clang AST

    Returns string

  • get attributes(): string[]
  • Returns string[]

  • get bitWidth(): number
  • 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

    Returns number

  • get chain(): string[]
  • String list of the names of the join points that form a path from the root to this node

    Returns string[]

  • get data(): object
  • 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.

    Returns object

  • set data(value): void
  • 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.

    Parameters

    • value: object

    Returns void

  • get depth(): number
  • 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.

    Returns number

  • get dump(): string
  • Returns string

  • get isInsideHeader(): boolean
  • True, if the join point is inside a header (e.g., if condition, for, while)

    Returns boolean

  • get isInsideLoopHeader(): boolean
  • True, if the join point is inside a loop header (e.g., for, while)

    Returns boolean

  • get javaFields(): string[]
  • The names of the Java fields of this node. Can be used as key of the attribute 'javaValue'

    Returns string[]

    used attribute 'keys' instead, together with 'getValue'

  • get joinPointType(): string
  • Returns string

  • get jpId(): string
  • 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)

    Returns string

  • get keys(): string[]
  • A list of the properties currently supported by this node. Can be used as parameter of the attribute 'getValue'

    Returns string[]

  • get location(): string
  • A string with information about the file and code position of this node, if available

    Returns string

  • get node(): object
  • Returns object

  • get scopeNodes(): Joinpoint[]
  • 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

    Returns Joinpoint[]

  • get selects(): string[]
  • Returns string[]

  • get super(): LaraJoinPoint
  • Returns LaraJoinPoint

  • get typeFields(): Record<string, any>
  • Maps names of join point fields that represent type join points, to their respective values

    Returns Record<string, any>

Methods

  • 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)'

    Parameters

    • className: string

    Returns boolean

  • Parameters

    • attribute: string
    • value: object

    Returns void

  • Parameters

    Returns boolean

  • Parameters

    • position: "replace" | "after" | "before"
    • code: string

    Returns LaraJoinPoint

  • Parameters

    Returns LaraJoinPoint

  • Parameters

    • name: string

    Returns boolean

  • Parameters

    • names: string[]

    Returns boolean

  • Returns string