class MatrixTypeLoc

Declaration

class MatrixTypeLoc : public ConcreteTypeLoc { /* full declaration omitted */ };

Description

A metaprogramming base class for TypeLoc classes which correspond to a particular Type subclass. It is accepted for a single TypeLoc class to correspond to multiple Type classes. TypeLocs with non-constant amounts of local data should override getExtraLocalDataSize(); getExtraLocalData() will then point to this extra memory. TypeLocs with an inner type should define QualType getInnerType() const and getInnerTypeLoc() will then point to this inner type's location data. A word about hierarchies: this template is not designed to be derived from multiple times in a hierarchy. It is also not designed to be used for classes where subtypes might provide different amounts of source information. It should be subclassed only at the deepest portion of the hierarchy where all children have identical source information; if that's an abstract type, then further descendents should inherit from InheritingConcreteTypeLoc instead.

Declared at: clang/include/clang/AST/TypeLoc.h:1866

Inherits from: ConcreteTypeLoc

Method Overview

Methods

clang::Expr* getAttrColumnOperand() const

Description

The attribute's column operand, if it has one. float __attribute__((matrix_type(4, 2))) ^

Declared at: clang/include/clang/AST/TypeLoc.h:1884

clang::SourceLocation getAttrNameLoc() const

Description

The location of the attribute name, i.e. float __attribute__((matrix_type(4, 2))) ^~~~~~~~~~~~~~~~~

Declared at: clang/include/clang/AST/TypeLoc.h:1872

clang::SourceRange getAttrOperandParensRange()
    const

Description

The location of the parentheses around the operand, if there is an operand. float __attribute__((matrix_type(4, 2))) ^ ^

Declared at: clang/include/clang/AST/TypeLoc.h:1891

clang::Expr* getAttrRowOperand() const

Description

The attribute's row operand, if it has one. float __attribute__((matrix_type(4, 2))) ^

Declared at: clang/include/clang/AST/TypeLoc.h:1878

clang::SourceRange getLocalSourceRange() const

Declared at: clang/include/clang/AST/TypeLoc.h:1898

void initializeLocal(clang::ASTContext& Context,
                     clang::SourceLocation loc)

Declared at: clang/include/clang/AST/TypeLoc.h:1904

Parameters

clang::ASTContext& Context
clang::SourceLocation loc

void setAttrColumnOperand(clang::Expr* e)

Declared at: clang/include/clang/AST/TypeLoc.h:1885

Parameters

clang::Expr* e

void setAttrNameLoc(clang::SourceLocation loc)

Declared at: clang/include/clang/AST/TypeLoc.h:1873

Parameters

clang::SourceLocation loc

void setAttrOperandParensRange(
    clang::SourceRange range)

Declared at: clang/include/clang/AST/TypeLoc.h:1894

Parameters

clang::SourceRange range

void setAttrRowOperand(clang::Expr* e)

Declared at: clang/include/clang/AST/TypeLoc.h:1879

Parameters

clang::Expr* e