class ObjCTypeParamType

Declaration

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

Description

Represents a type parameter type in Objective C. It can take a list of protocols.

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

Inherits from: Type, ObjCProtocolQualifiers, FoldingSetBase::Node

Member Variables

private unsigned int NumProtocols
The number of protocols stored on this type.
private clang::ObjCTypeParamDecl* OTPDecl

Inherited from Type:

protected

Method Overview

  • private ObjCTypeParamType(const clang::ObjCTypeParamDecl * D, clang::QualType can, ArrayRef<clang::ObjCProtocolDecl *> protocols)
  • public void Profile(llvm::FoldingSetNodeID & ID)
  • public static void Profile(llvm::FoldingSetNodeID & ID, const clang::ObjCTypeParamDecl * OTPDecl, clang::QualType CanonicalType, ArrayRef<clang::ObjCProtocolDecl *> protocols)
  • public static bool classof(const clang::Type * T)
  • public clang::QualType desugar() const
  • public clang::ObjCTypeParamDecl * getDecl() const
  • private unsigned int getNumProtocolsImpl() const
  • private clang::ObjCProtocolDecl ** getProtocolStorageImpl()
  • public bool isSugared() const
  • private void setNumProtocolsImpl(unsigned int N)

Inherited from FoldingSetBase::Node:

Inherited from Type:

Inherited from ExtQualsTypeCommonBase:

    Methods

    ObjCTypeParamType(
        const clang::ObjCTypeParamDecl* D,
        clang::QualType can,
        ArrayRef<clang::ObjCProtocolDecl*> protocols)

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

    Parameters

    const clang::ObjCTypeParamDecl* D
    clang::QualType can
    ArrayRef<clang::ObjCProtocolDecl*> protocols

    void Profile(llvm::FoldingSetNodeID& ID)

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

    Parameters

    llvm::FoldingSetNodeID& ID

    static void Profile(
        llvm::FoldingSetNodeID& ID,
        const clang::ObjCTypeParamDecl* OTPDecl,
        clang::QualType CanonicalType,
        ArrayRef<clang::ObjCProtocolDecl*> protocols)

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

    Parameters

    llvm::FoldingSetNodeID& ID
    const clang::ObjCTypeParamDecl* OTPDecl
    clang::QualType CanonicalType
    ArrayRef<clang::ObjCProtocolDecl*> protocols

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

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

    Parameters

    const clang::Type* T

    clang::QualType desugar() const

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

    clang::ObjCTypeParamDecl* getDecl() const

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

    unsigned int getNumProtocolsImpl() const

    Description

    Return the number of qualifying protocols in this interface type, or 0 if there are none.

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

    clang::ObjCProtocolDecl** getProtocolStorageImpl()

    Description

    The protocols are stored after the ObjCTypeParamType node. In the canonical type, the list of protocols are sorted alphabetically and uniqued.

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

    bool isSugared() const

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

    void setNumProtocolsImpl(unsigned int N)

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

    Parameters

    unsigned int N