clang API Documentation

Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::ValueDecl Class Reference

#include <Decl.h>

Inheritance diagram for clang::ValueDecl:
Inheritance graph
[legend]
Collaboration diagram for clang::ValueDecl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

QualType getType () const
void setType (QualType newType)
bool isWeak () const
 Determine whether this symbol is weakly-imported, or declared with the weak or weak-ref attr.

Static Public Member Functions

static bool classof (const Decl *D)
static bool classofKind (Kind K)

Protected Member Functions

 ValueDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T)

Detailed Description

ValueDecl - Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it is a function designator) or an enum constant.

Definition at line 487 of file Decl.h.


Constructor & Destructor Documentation

clang::ValueDecl::ValueDecl ( Kind  DK,
DeclContext DC,
SourceLocation  L,
DeclarationName  N,
QualType  T 
) [inline, protected]

Definition at line 492 of file Decl.h.


Member Function Documentation

static bool clang::ValueDecl::classof ( const Decl D) [inline, static]
static bool clang::ValueDecl::classofKind ( Kind  K) [inline, static]
QualType clang::ValueDecl::getType ( ) const [inline]

Definition at line 496 of file Decl.h.

Referenced by clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCUDAExecConfigExpr(), clang::Sema::ActOnDefs(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnForEachDeclStmt(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitializerError(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnMethodDeclaration(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOpenMPCopyinClause(), clang::Sema::ActOnOpenMPCopyprivateClause(), clang::Sema::ActOnOpenMPFirstprivateClause(), clang::Sema::ActOnOpenMPIdExpression(), clang::Sema::ActOnOpenMPLastprivateClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnOpenMPPrivateClause(), clang::Sema::ActOnOpenMPSharedClause(), clang::Sema::ActOnParamDefaultArgumentError(), clang::Sema::ActOnPropertyImplDecl(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnVariableDeclarator(), clang::InitializationSequence::AddAddressOverloadResolutionStep(), addAsFieldToClosureType(), addBlockPointerConversion(), clang::Sema::AddConversionCandidate(), AddFunctionParameterChunks(), addFunctionPointerConversion(), AddFunctionTypeQualsToCompletionString(), clang::Sema::AddInitializerToDecl(), clang::CodeGen::CodeGenFunction::AddInitializerToStaticVarDecl(), addInstantiatedParametersToScope(), clang::Sema::AddKnownFunctionAttributes(), clang::Sema::AddMethodCandidate(), clang::Sema::AddOverloadCandidate(), clang::ASTContext::adjustDeducedFunctionResultType(), clang::Sema::AdjustDestructorExceptionSpec(), clang::ASTContext::adjustExceptionSpec(), adjustFunctionTypeForInstantiation(), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration(), clang::CodeGen::CodeGenTypes::arrangeObjCMethodDeclaration(), clang::ASTDeclReader::attachPreviousDeclImpl(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinOffsetOf(), clang::CodeGen::CodeGenFunction::BuildByRefType(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclaratorGroup(), BuildFieldReferenceExpr(), BuildImplicitBaseInitializer(), BuildImplicitMemberInitializer(), clang::Sema::buildInitCaptureField(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVariableInstantiation(), clang::Sema::ImplicitExceptionSpecification::CalledDecl(), clang::canCalleeThrow(), clang::Sema::CheckAddressOfOperand(), checkARCPropertyImpl(), checkAttrArgsAreCapabilityObjs(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckConditionVariable(), CheckConstantExpression(), CheckConstexprCtorInitializer(), CheckConstexprParameterTypes(), clang::Sema::CheckConstructor(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), CheckForDanglingReferenceOrPointer(), CheckForReference(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), CheckICE(), clang::Sema::CheckImplementationIvars(), checkIsValidOpenCLKernelParameter(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckMain(), clang::Sema::CheckMessageArgumentTypes(), CheckMethodOverrideParam(), clang::Sema::CheckMSVCRTEntryPoint(), clang::Sema::CheckNontrivialField(), CheckNonTypeTemplatePartialSpecializationArgs(), checkObjCDealloc(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckOverrideControl(), clang::Sema::CheckOverridingFunctionAttributes(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckOverridingFunctionReturnType(), clang::Sema::CheckParmsForFunctionDef(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::threadSafety::ClassifyDiagnostic(), clang::Sema::CodeCompleteCall(), clang::Sema::CodeCompleteInitializer(), CollectFieldInitializer(), commonEmitCXXMemberOrOperatorCall(), clang::Sema::CompleteConstructorCall(), CompleteNonViableCandidate(), computeBlockInfo(), clang::Sema::ComputeDefaultedCopyAssignmentExceptionSpec(), clang::Sema::ComputeDefaultedCopyCtorExceptionSpec(), clang::Sema::ComputeDefaultedMoveAssignmentExceptionSpec(), clang::PredefinedExpr::ComputeName(), considerVariable(), clang::Sema::containsUnexpandedParameterPacks(), CopyObject(), clang::CXXDefaultInitExpr::Create(), create_dispatch_once(), create_dispatch_sync(), create_OSAtomicCompareAndSwap(), CreateFunctionRefExpr(), createObjCPropertyGetter(), clang::ASTContext::DeclMustBeEmitted(), DeduceNonTypeTemplateArgument(), clang::Sema::DeduceTemplateArguments(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitCopyConstructor(), clang::Sema::DefineImplicitDefaultConstructor(), clang::Sema::DefineImplicitDestructor(), clang::Sema::DefineImplicitLambdaToFunctionPointerConversion(), clang::Sema::DefineImplicitMoveAssignment(), clang::Sema::DefineImplicitMoveConstructor(), describeCall(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseArityMismatch(), clang::Sema::DiagnoseAutoDeductionFailure(), DiagnoseBadTarget(), DiagnoseInvalidRedeclaration(), DiagnoseSelfAssignment(), DiagnoseUninitializedUse(), DoMarkVarDeclReferenced(), DumpCXXRecordLayout(), emitArgumentDemotion(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitAutoVarCleanups(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::emitAutoVarTypeCleanup(), EmitAutoVarWithLifetime(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenModule::EmitConstantInit(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(), EmitDeclDestroy(), EmitDeclInit(), EmitDeclInvariant(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitDeleteCall(), clang::CodeGen::CodeGenFunction::EmitEndEHSpec(), clang::CodeGen::CodeGenFunction::EmitExprAsInit(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), EmitFunctionDeclLValue(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), EmitGlobalNamedRegister(), EmitGlobalVarDeclLValue(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), EmitMemberInitializer(), clang::CodeGen::CGCXXABI::EmitMemberPointer(), EmitNullConstant(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::EmitOMPThreadPrivateVarDefinition(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitReplacement(), clang::CodeGen::CodeGenFunction::EmitRValueForField(), clang::CodeGen::CodeGenFunction::EmitStartEHSpec(), clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), enterBlockScope(), clang::CodeGen::CodeGenFunction::EnterDtorCleanups(), clang::Expr::EvaluateAsInitializer(), clang::Sema::EvaluateImplicitExceptionSpec(), EvaluateUnaryTypeTrait(), EvalVal(), FieldHasTrivialDestructorBody(), clang::Sema::FinalizeDeclaration(), clang::Sema::FinalizeVarWithDestructor(), clang::Sema::FindAllocationFunctions(), clang::Sema::FindAssociatedClassesAndNamespaces(), findRetainCycleOwner(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::FixOverloadedFunctionReference(), FormatFunctionParameter(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), GenOpenCLArgMetadata(), clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalVar(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), getCallingConvMangling(), clang::CXXConversionDecl::getConversionType(), clang::FunctionDecl::getCorrespondingUnsizedGlobalDeallocationFunction(), clang::CFGImplicitDtor::getDestructorDecl(), GetFormalType(), GetFullTypeForDeclarator(), clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(), clang::ento::ExprEngine::getInitialState(), GetNumNonZeroBytesInInit(), clang::FunctionDecl::getNumParams(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ParmVarDecl::getOriginalType(), clang::CXXMethodDecl::getRefQualifier(), getRegionForConstructedObject(), GetTypeOfFunction(), clang::CXXMethodDecl::getTypeQualifiers(), getTypeString(), clang::ento::VarRegion::getValueType(), clang::ento::FieldRegion::getValueType(), clang::ento::ObjCIvarRegion::getValueType(), clang::ento::MemRegionManager::getVarRegion(), clang::CodeGen::CodeGenModule::GetWeakRefReference(), handleAnalyzerNoReturnAttr(), clang::consumed::ConsumedStmtVisitor::handleCall(), handleCleanupAttr(), handleGlobalAttr(), handleNonNullAttrParameter(), handleNSConsumedAttr(), handleObjCPreciseLifetimeAttr(), handleTransparentUnionAttr(), handleX86ForceAlignArgPointerAttr(), clang::threadSafety::hasCppPointerType(), HasExplicitOwnershipAttr(), HasNoThrowOperator(), hasSimilarParameters(), clang::Sema::inferObjCARCLifetime(), InitCatchParam(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), InitializationHasSideEffects(), clang::InitializedEntity::InitializeParameter(), InjectAnonymousStructOrUnionMembers(), clang::Sema::InstantiateExceptionSpec(), IsAcceptableNonMemberOperatorCandidate(), clang::FieldDecl::isAnonymousStructOrUnion(), isAtLeastAsSpecializedAs(), clang::CXXMethodDecl::isConst(), IsConstructorDelegationValid(), clang::CXXConstructorDecl::isConvertingConstructor(), clang::CXXMethodDecl::isCopyAssignmentOperator(), clang::CXXConstructorDecl::isCopyConstructor(), clang::Sema::isCopyElisionCandidate(), clang::CXXConstructorDecl::isCopyOrMoveConstructor(), isEmptyField(), isFirstArgumentCompatibleWithType(), clang::Sema::isInitListConstructor(), isIntegerLikeType(), clang::CXXMethodDecl::isMoveAssignmentOperator(), clang::CXXConstructorDecl::isMoveConstructor(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), isNonPlacementDeallocationFunction(), clang::FunctionDecl::isNoReturn(), clang::Sema::IsOverload(), clang::NonTypeTemplateParmDecl::isPackExpansion(), clang::ParmVarDecl::isParameterPack(), clang::ASTContext::isPromotableBitField(), isReferenceToNonConstCapture(), clang::FunctionDecl::isReplaceableGlobalAllocationFunction(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), isSameEntity(), isSameTemplateParameter(), clang::CXXConstructorDecl::isSpecializationCopyingObject(), IsStandardConversion(), IsStructurallyEquivalent(), isTrackedVar(), clang::VarDecl::isUsableInConstantExpressions(), clang::CXXMethodDecl::isUsualDeallocationFunction(), isVarDeclStrongDefinition(), isVariableCapturable(), IsVariableNonDependentAndAConstantExpression(), clang::FunctionDecl::isVariadic(), clang::CXXMethodDecl::isVolatile(), clang::CodeGen::CodeGenFunction::LoadObjCSelf(), LookupDirect(), clang::Sema::LookupInObjCMethod(), LookupMemberExpr(), clang::CodeGen::CGBitFieldInfo::MakeInfo(), clang::MangleContext::mangleName(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), clang::Sema::MarkDeducedTemplateParameters(), clang::Sema::MarkFunctionReferenced(), MatchTemplateParameterKind(), maybeEmitZeroInitializationFixit(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeVarDeclExceptionSpecs(), clang::Sema::MergeVarDeclTypes(), MightInstantiateTo(), clang::Sema::NoteHiddenVirtualMethods(), clang::Sema::NoteOverloadCandidate(), clang::ASTContext::ObjCMethodsAreEqual(), clang::ento::CallEvent::param_type_begin(), clang::ObjCMethodDecl::param_type_begin(), clang::ento::CallEvent::param_type_end(), clang::ObjCMethodDecl::param_type_end(), clang::InitializationSequence::Perform(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformMoveOrCopyInitialization(), PopulateKeysForFields(), print_elem(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessMemberDtor(), RebuildLambdaScopeInfo(), clang::TreeTransform< Derived >::RebuildMemberExpr(), RefersToRValueRef(), clang::CodeGen::SanitizerMetadata::reportGlobalToASan(), ReportOriginalDSA(), clang::Sema::ResolveExceptionSpec(), rewriteToObjCProperty(), clang::threadSafety::ThreadSafetyAnalyzer::runAnalysis(), setImpliedPropertyAttributeForReadOnlyProperty(), clang::Sema::SetIvarInitializers(), clang::Sema::SetParamDefaultArgument(), clang::CXXNewExpr::shouldNullCheckAllocation(), clang::Sema::SpecialMemberIsTrivial(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::TemplateDeclInstantiator::SubstFunctionType(), clang::Sema::SubstituteExplicitTemplateArguments(), SuggestInitializationFixit(), threadSafetyCheckIsPointer(), clang::TreeTransform< Derived >::TransformFunctionTypeParams(), clang::threadSafety::SExprBuilder::translateAttrExpr(), clang::arcmt::trans::BlockObjCVariableTraverser::traverseBody(), tryCaptureAsConstant(), clang::Sema::tryCaptureVariable(), clang::CodeGen::CodeGenFunction::tryEmitAsConstant(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), TryListConversion(), TryReferenceInit(), VariableCanNeverBeAConstantExpression(), clang::threadSafety::BuildLockset::VisitCallExpr(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::ASTNodeImporter::VisitImplicitParamDecl(), clang::ASTNodeImporter::VisitIndirectFieldDecl(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::FindLastStoreBRVisitor::VisitNode(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ASTNodeImporter::VisitNonTypeTemplateParmDecl(), clang::ASTNodeImporter::VisitObjCIvarDecl(), clang::ASTNodeImporter::VisitParmVarDecl(), clang::consumed::ConsumedStmtVisitor::VisitParmVarDecl(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ASTDeclWriter::VisitValueDecl(), clang::ASTNodeImporter::VisitVarDecl(), clang::consumed::ConsumedStmtVisitor::VisitVarDecl(), clang::ASTNodeImporter::VisitVarTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl().

Determine whether this symbol is weakly-imported, or declared with the weak or weak-ref attr.

Definition at line 3758 of file Decl.cpp.

References clang::Decl::attrs(), and clang::Decl::isWeakImported().

Referenced by clang::VarDecl::checkInitIsICE(), clang::Sema::DiagnoseAlwaysNonNullPointer(), EvalPointerValueAsBool(), evaluateVarDeclInit(), IsWeakLValue(), and VariableCanNeverBeAConstantExpression().

void clang::ValueDecl::setType ( QualType  newType) [inline]

Definition at line 497 of file Decl.h.

Referenced by clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnFields(), clang::Sema::ActOnForEachDeclStmt(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::AddInitializerToDecl(), addInstantiatedParametersToScope(), clang::ASTContext::adjustDeducedFunctionResultType(), clang::Sema::AdjustDestructorExceptionSpec(), clang::ASTContext::adjustExceptionSpec(), checkARCPropertyImpl(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckParameter(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CompleteVarTemplateSpecializationDecl(), clang::Sema::DeclareImplicitCopyAssignment(), clang::Sema::DeclareImplicitCopyConstructor(), clang::Sema::DeclareImplicitDefaultConstructor(), clang::Sema::DeclareImplicitDestructor(), clang::Sema::DeclareImplicitMoveAssignment(), clang::Sema::DeclareImplicitMoveConstructor(), FinishForRangeVarDecl(), GetFullTypeForDeclarator(), clang::Sema::inferObjCARCLifetime(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeVarDeclTypes(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), SpecializeCorrespondingLambdaCallOperatorAndInvoker(), clang::ASTNodeImporter::VisitFunctionDecl(), and clang::ASTDeclReader::VisitValueDecl().


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