clang 22.0.0git
clang::TypeSourceInfo Class Reference

A container of type source information. More...

#include "clang/AST/TypeBase.h"

Public Member Functions

QualType getType () const
 Return the type wrapped by this type source info.
TypeLoc getTypeLoc () const
 Return the TypeLoc wrapper for the type source info.
void overrideType (QualType T)
 Override the type stored in this TypeSourceInfo. Use with caution!

Friends

class ASTContext

Detailed Description

A container of type source information.

A client can read the relevant info using TypeLoc wrappers, e.g:

TypeLoc TL = TypeSourceInfo->getTypeLoc();
void print(raw_ostream &OS, const SourceManager &SM) const
Base wrapper for a particular "section" of type source info.
Definition TypeLoc.h:59
SourceLocation getBeginLoc() const
Get the begin source location.
Definition TypeLoc.cpp:193
Public enums and private classes that are part of the SourceManager implementation.

Definition at line 8256 of file TypeBase.h.

Member Function Documentation

◆ getType()

QualType clang::TypeSourceInfo::getType ( ) const
inline

Return the type wrapped by this type source info.

Definition at line 8267 of file TypeBase.h.

Referenced by clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnDecompositionDeclarator(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::SemaObjC::actOnObjCTypeParam(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperVarDecl(), clang::Sema::ActOnPackExpansion(), clang::Sema::ActOnParamDeclarator(), clang::SemaObjC::ActOnProperty(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnTag(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnTypeName(), clang::Sema::ActOnTypeParameter(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::Sema::AddAlignedAttr(), AddInitializerToDiag(), clang::ASTRecordWriter::AddTypeSourceInfo(), adjustFunctionTypeForInstantiation(), clang::applyObjCTypeArgs(), clang::Sema::BuildArrayTypeTrait(), clang::Sema::BuildBuiltinBitCastExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExceptionDeclaration(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::Sema::BuildPseudoDestructorExpr(), buildTypeForLambdaCallOperator(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::CheckAlignasTypeArgument(), clang::Sema::CheckBaseSpecifier(), CheckConvertibilityForTypeTraits(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPtrComparisonWithNullChar(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CompleteVarTemplateSpecializationDecl(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::computeDependence(), clang::Sema::ConvertVectorExpr(), clang::NonTypeTemplateParmDecl::Create(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::Sema::deduceVarTypeFromInitializer(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), EmitDiagForCXXThrowInNonThrowingFunc(), EvaluateBinaryTypeTrait(), EvaluateUnaryTypeTrait(), clang::Sema::findInheritingConstructor(), clang::UnaryExprOrTypeTraitExpr::getArgumentType(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVar(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVarTemplate(), getLambdaType(), clang::ParmVarDecl::getOriginalType(), clang::CXXUnresolvedConstructExpr::getTypeAsWritten(), handleAlignedAttr(), clang::Sema::HandleDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), hasDeducedReturnType(), clang::ASTImporter::Import(), clang::InitializedEntity::InitializeCompoundLiteralInit(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::InstantiateMemInitializers(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), clang::interp::InterpretOffsetOf(), IsEquivalentFriend(), clang::Sema::IsPointerInterconvertibleBaseOf(), IsStructurallyEquivalent(), print_initializer(), printArgument(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), RebuildDeclaratorInCurrentInstantiation(), clang::TreeTransform< AdjustConstraintDepth >::RebuildObjCMessageExpr(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), clang::Sema::SubstParmVarDecl(), clang::TreeTransform< Derived >::TransformDeclarationNameInfo(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::TreeTransform< Derived >::TransformTemplateArgument(), clang::TreeTransform< Derived >::TransformType(), clang::TreeTransform< Derived >::TransformType(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), TryToFixInvalidVariablyModifiedTypeSourceInfo(), clang::Sema::tryToFixVariablyModifiedVarType(), clang::TextNodeDumper::Visit(), clang::JSONNodeDumper::VisitCXXTypeidExpr(), clang::ASTDeclWriter::VisitDeclaratorDecl(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitFriendDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitGenericSelectionExpr(), clang::JSONNodeDumper::VisitSYCLUniqueStableNameExpr(), and clang::TextNodeDumper::VisitSYCLUniqueStableNameExpr().

◆ getTypeLoc()

TypeLoc clang::TypeSourceInfo::getTypeLoc ( ) const
inline

Return the TypeLoc wrapper for the type source info.

Return the TypeLoc for a type source info.

Definition at line 272 of file TypeLoc.h.

Referenced by clang::Sema::ActOnAliasDeclaration(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnFriendTypeDecl(), clang::SemaObjC::ActOnMethodParmDeclaration(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::SemaObjC::actOnObjCProtocolQualifierType(), clang::SemaObjC::actOnObjCTypeArgsAndProtocolQualifiers(), clang::SemaObjC::actOnObjCTypeParam(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::Sema::ActOnTag(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::ActOnTemplateTypeArgument(), clang::Sema::ActOnTypeName(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAlignedAttr(), addFunctionPointerConversion(), clang::ASTRecordWriter::AddTypeSourceInfo(), clang::TemplateDeclInstantiator::adjustForRewrite(), clang::SemaObjC::AdjustParameterTypeForObjCAutoRefCount(), AnalyzeBitFieldAssignment(), clang::applyObjCTypeArgs(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::Sema::AttachTypeConstraint(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinBitCastExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::SemaObjC::BuildClassMessage(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildDelegatingInitializer(), clang::Sema::BuildMemInitializer(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildVAArgExpr(), CheckAbstractClassUsage(), CheckAbstractClassUsage(), CheckAbstractClassUsage(), clang::Sema::CheckBaseSpecifier(), clang::Sema::CheckConversionDeclarator(), CheckConvertibilityForTypeTraits(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckEnumUnderlyingType(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::checkLifetimeCaptureBy(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckParameter(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkThisInStaticMemberFunctionExceptionSpec(), clang::Sema::checkThisInStaticMemberFunctionType(), checkTypeParamListConsistency(), clang::Sema::CreateGenericSelectionExpr(), clang::CreateHLSLAttributedResourceType(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::SemaObjC::CreatePropertyDecl(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::Sema::deduceVarTypeFromInitializer(), DiagnoseCalleeStaticArrayParam(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), EvaluateBinaryTypeTrait(), EvaluateUnaryTypeTrait(), clang::comments::DeclInfo::fill(), clang::Sema::findInheritingConstructor(), findTypeLocationForBlockDecl(), clang::CXXFunctionalCastExpr::getBeginLoc(), clang::CXXTemporaryObjectExpr::getBeginLoc(), GetFullTypeForDeclarator(), clang::comments::getFunctionTypeLoc(), clang::FunctionDecl::getFunctionTypeLoc(), getPointee2TypeText(), clang::getPointeeTypeText(), clang::ObjCMessageExpr::getReceiverRange(), clang::Sema::getReturnTypeLoc(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::ASTContext::getTemplateSpecializationTypeInfo(), clang::ASTContext::getTrivialTypeSourceInfo(), getTypeRange(), clang::TypeLocBuilder::getTypeSourceInfo(), GetTypeSourceInfoForDeclarator(), clang::DeclaratorDecl::getTypeSpecEndLoc(), clang::DeclaratorDecl::getTypeSpecStartLoc(), handleAlignedAttr(), handlePreferredTypeAttr(), clang::SemaHLSL::handleResourceTypeAttr(), clang::sema::implicitObjectParamIsLifetimeBound(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::index::IndexingContext::indexTypeSourceInfo(), clang::Sema::InstantiateFunctionDefinition(), InventTemplateParameter(), clang::Decl::isFlexibleArrayMemberLike(), clang::Sema::IsPointerInterconvertibleBaseOf(), clang::Sema::LazyProcessLifetimeCaptureByParams(), clang::PseudoDestructorTypeStorage::PseudoDestructorTypeStorage(), clang::ASTRecordReader::readTypeSourceInfo(), clang::TemplateDeclInstantiator::SubstFunctionType(), clang::Sema::SubstParmVarDecl(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::TreeTransform< Derived >::TransformType(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), clang::RecursiveASTVisitor< Derived >::TraverseConceptTypeRequirement(), and TryToFixInvalidVariablyModifiedTypeSourceInfo().

◆ overrideType()

void clang::TypeSourceInfo::overrideType ( QualType T)
inline

Override the type stored in this TypeSourceInfo. Use with caution!

Definition at line 8273 of file TypeBase.h.

References clang::T.

◆ ASTContext

friend class ASTContext
friend

Definition at line 8259 of file TypeBase.h.

References ASTContext.

Referenced by ASTContext.


The documentation for this class was generated from the following files: