class DependentAddressSpaceType

Declaration

class DependentAddressSpaceType : public Type, public Node { /* full declaration omitted */ };

Description

Represents an extended address space qualifier where the input address space value is dependent. Non-dependent address spaces are not represented with a special Type subclass; they are stored on an ExtQuals node as part of a QualType. For example:

Declared at: clang/include/clang/AST/Type.h:3219

Inherits from: Type, FoldingSetBase::Node

Member Variables

private const clang::ASTContext& Context
private clang::Expr* AddrSpaceExpr
private clang::QualType PointeeType
private clang::SourceLocation loc

Inherited from Type:

protected

Method Overview

  • private DependentAddressSpaceType(const clang::ASTContext & Context, clang::QualType PointeeType, clang::QualType can, clang::Expr * AddrSpaceExpr, clang::SourceLocation loc)
  • public void Profile(llvm::FoldingSetNodeID & ID)
  • public static void Profile(llvm::FoldingSetNodeID & ID, const clang::ASTContext & Context, clang::QualType PointeeType, clang::Expr * AddrSpaceExpr)
  • public static bool classof(const clang::Type * T)
  • public clang::QualType desugar() const
  • public clang::Expr * getAddrSpaceExpr() const
  • public clang::SourceLocation getAttributeLoc() const
  • public clang::QualType getPointeeType() const
  • public bool isSugared() const

Inherited from FoldingSetBase::Node:

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    DependentAddressSpaceType(
        const clang::ASTContext& Context,
        clang::QualType PointeeType,
        clang::QualType can,
        clang::Expr* AddrSpaceExpr,
        clang::SourceLocation loc)

    Declared at: clang/include/clang/AST/Type.h:3227

    Parameters

    const clang::ASTContext& Context
    clang::QualType PointeeType
    clang::QualType can
    clang::Expr* AddrSpaceExpr
    clang::SourceLocation loc

    void Profile(llvm::FoldingSetNodeID& ID)

    Declared at: clang/include/clang/AST/Type.h:3243

    Parameters

    llvm::FoldingSetNodeID& ID

    static void Profile(
        llvm::FoldingSetNodeID& ID,
        const clang::ASTContext& Context,
        clang::QualType PointeeType,
        clang::Expr* AddrSpaceExpr)

    Declared at: clang/include/clang/AST/Type.h:3247

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::ASTContext& Context
    clang::QualType PointeeType
    clang::Expr* AddrSpaceExpr

    static bool classof(const clang::Type* T)

    Declared at: clang/include/clang/AST/Type.h:3239

    Parameters

    const clang::Type* T

    clang::QualType desugar() const

    Declared at: clang/include/clang/AST/Type.h:3237

    clang::Expr* getAddrSpaceExpr() const

    Declared at: clang/include/clang/AST/Type.h:3232

    clang::SourceLocation getAttributeLoc() const

    Declared at: clang/include/clang/AST/Type.h:3234

    clang::QualType getPointeeType() const

    Declared at: clang/include/clang/AST/Type.h:3233

    bool isSugared() const

    Declared at: clang/include/clang/AST/Type.h:3236