A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1DeclarationName.html below:

clang: clang::DeclarationName Class Reference

The name of a declaration. More...

#include "clang/AST/DeclarationName.h"

enum   NameKind {
  Identifier = StoredIdentifier , ObjCZeroArgSelector = StoredObjCZeroArgSelector , ObjCOneArgSelector = StoredObjCOneArgSelector , CXXConstructorName = StoredCXXConstructorName ,
  CXXDestructorName = StoredCXXDestructorName , CXXConversionFunctionName = StoredCXXConversionFunctionName , CXXOperatorName = StoredCXXOperatorName , CXXDeductionGuideName ,
  CXXLiteralOperatorName , CXXUsingDirective , ObjCMultiArgSelector
}   The kind of the name stored in this DeclarationName. More...
    DeclarationName ()   Construct an empty declaration name.
    DeclarationName (const IdentifierInfo *II)   Construct a declaration name from an IdentifierInfo *.
    DeclarationName (Selector Sel)   Construct a declaration name from an Objective-C selector.
    operator bool () const   Evaluates true when this declaration name is non-empty.
  bool  isEmpty () const   Evaluates true when this declaration name is empty.
  bool  isIdentifier () const   Predicate functions for querying what type of name this is.
  bool  isObjCZeroArgSelector () const   bool  isObjCOneArgSelector () const   NameKind  getNameKind () const   Determine what kind of name this is.
  bool  isDependentName () const   Determines whether the name itself is dependent, e.g., because it involves a C++ type that is itself dependent.
  std::string  getAsString () const   Retrieve the human-readable string for this name.
  IdentifierInfogetAsIdentifierInfo () const   Retrieve the IdentifierInfo * stored in this declaration name, or null if this declaration name isn't a simple identifier.
  uintptr_t  getAsOpaqueInteger () const   Get the representation of this declaration name as an opaque integer.
  void *  getAsOpaquePtr () const   Get the representation of this declaration name as an opaque pointer.
  QualType  getCXXNameType () const   If this name is one of the C++ names (of a constructor, destructor, or conversion function), return the type associated with that name.
  TemplateDeclgetCXXDeductionGuideTemplate () const   If this name is the name of a C++ deduction guide, return the template associated with that name.
  OverloadedOperatorKind  getCXXOverloadedOperator () const   If this name is the name of an overloadable operator in C++ (e.g., operator+), retrieve the kind of overloaded operator.
  const IdentifierInfogetCXXLiteralIdentifier () const   If this name is the name of a literal operator, retrieve the identifier associated with it.
  Selector  getObjCSelector () const   Get the Objective-C selector stored in this declaration name.
  void *  getFETokenInfo () const   Get and set FETokenInfo.
  void  setFETokenInfo (void *T)   void  print (raw_ostream &OS, const PrintingPolicy &Policy) const   void  dump () const  

The name of a declaration.

In the common case, this just stores an IdentifierInfo pointer to a normal name. However, it also provides encodings for Objective-C selectors (optimizing zero- and one-argument selectors, which make up 78% percent of all selectors in Cocoa.h), special C++ names for constructors, destructors, and conversion functions, and C++ overloaded operators.

Definition at line 144 of file DeclarationName.h.

◆ NameKind

The kind of the name stored in this DeclarationName.

The first 7 enumeration values are stored inline and correspond to frequently used kinds. The rest is stored in DeclarationNameExtra and correspond to infrequently used kinds.

Enumerator Identifier  ObjCZeroArgSelector  ObjCOneArgSelector  CXXConstructorName  CXXDestructorName  CXXConversionFunctionName  CXXOperatorName  CXXDeductionGuideName  CXXLiteralOperatorName  CXXUsingDirective  ObjCMultiArgSelector 

Definition at line 208 of file DeclarationName.h.

◆ DeclarationName() [1/3] clang::DeclarationName::DeclarationName ( ) inline ◆ DeclarationName() [2/3] ◆ DeclarationName() [3/3] clang::DeclarationName::DeclarationName ( Selector  Sel ) inline

Construct a declaration name from an Objective-C selector.

Definition at line 365 of file DeclarationName.h.

◆ compare()

Definition at line 44 of file DeclarationName.cpp.

References compare(), compareInt(), CXXConstructorName, CXXConversionFunctionName, CXXDeductionGuideName, CXXDestructorName, CXXLiteralOperatorName, CXXOperatorName, CXXUsingDirective, getCXXDeductionGuideTemplate(), getCXXLiteralIdentifier(), getCXXNameType(), getCXXOverloadedOperator(), clang::NamedDecl::getDeclName(), clang::IdentifierInfo::getName(), clang::Selector::getNameForSlot(), getNameKind(), clang::Selector::getNumArgs(), getObjCSelector(), Identifier, ObjCMultiArgSelector, ObjCOneArgSelector, and ObjCZeroArgSelector.

Referenced by CmpProtocolNames(), and compare().

◆ dump() ◆ getAsIdentifierInfo() IdentifierInfo * clang::DeclarationName::getAsIdentifierInfo ( ) const inline

Retrieve the IdentifierInfo * stored in this declaration name, or null if this declaration name isn't a simple identifier.

Definition at line 420 of file DeclarationName.h.

Referenced by actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperDirectiveVarDecl(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CorrectTypo(), clang::Sema::CorrectTypoDelayed(), clang::UnresolvedUsingTypenameDecl::Create(), DiagnoseDirectIsaAccess(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::TypoCorrection::getCorrectionAsIdentifierInfo(), clang::SemaObjC::HandleExprPropertyRefExpr(), clang::ASTImporter::Import(), isCXXSharedPtrDtor(), isEnableIf(), IsStructurallyEquivalent(), clang::Sema::LookupBuiltin(), LookupMemberExpr(), clang::tooling::stdlib::Recognizer::operator()(), print(), and TryTypoCorrectionForCall().

◆ getAsOpaqueInteger() uintptr_t clang::DeclarationName::getAsOpaqueInteger ( ) const inline ◆ getAsOpaquePtr() void * clang::DeclarationName::getAsOpaquePtr ( ) const inline

Get the representation of this declaration name as an opaque pointer.

Definition at line 430 of file DeclarationName.h.

◆ getAsString() std::string DeclarationName::getAsString ( ) const

Retrieve the human-readable string for this name.

Definition at line 227 of file DeclarationName.cpp.

References clang::Result.

Referenced by clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::CheckUsingDeclQualifier(), clang::Sema::CorrectTypo(), clang::Sema::diagnoseExprIntendedAsTemplateName(), diagnoseInstanceReference(), clang::LookupResult::dump(), clang::ento::FunctionCodeRegion::dumpToStream(), clang::TypoCorrection::getAsString(), getPrintableNameForEntity(), clang::JSONNodeDumper::VisitCXXDependentScopeMemberExpr(), and clang::JSONNodeDumper::VisitUnresolvedLookupExpr().

◆ getCXXDeductionGuideTemplate() TemplateDecl * clang::DeclarationName::getCXXDeductionGuideTemplate ( ) const inline ◆ getCXXLiteralIdentifier() const IdentifierInfo * clang::DeclarationName::getCXXLiteralIdentifier ( ) const inline ◆ getCXXNameType() QualType clang::DeclarationName::getCXXNameType ( ) const inline

If this name is one of the C++ names (of a constructor, destructor, or conversion function), return the type associated with that name.

Definition at line 449 of file DeclarationName.h.

Referenced by compare(), clang::DeclarationNameInfo::containsUnexpandedParameterPack(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::ASTImporter::Import(), isDependentName(), clang::DeclarationNameInfo::isInstantiationDependent(), IsStructurallyEquivalent(), LookupDirect(), and print().

◆ getCXXOverloadedOperator()

If this name is the name of an overloadable operator in C++ (e.g., operator+), retrieve the kind of overloaded operator.

Definition at line 472 of file DeclarationName.h.

References clang::OO_None.

Referenced by actOnOMPReductionKindClause(), clang::Sema::AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::CheckEquivalentExceptionSpec(), compare(), CompleteNonViableCandidate(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::diagnoseUnavailableAlignedAllocation(), EmitDiagForCXXThrowInNonThrowingFunc(), clang::Sema::getDefaultedFunctionKind(), clang::FunctionDecl::getOverloadedOperator(), clang::ASTImporter::Import(), clang::OverloadCandidateSet::OperatorRewriteInfo::isAcceptableCandidate(), clang::sema::isNormalAssignmentOperator(), clang::OverloadCandidateSet::OperatorRewriteInfo::isRewrittenOperator(), clang::CXXMethodDecl::isStatic(), IsStructurallyEquivalent(), print(), resolveAllocationOverload(), clang::Sema::SetDeclDefaulted(), shouldSkipInBacktrace(), and clang::interp::Compiler< Emitter >::VisitCallExpr().

◆ getEmptyMarker() ◆ getFETokenInfo() void * clang::DeclarationName::getFETokenInfo ( ) const inline

Get and set FETokenInfo.

The language front-end is allowed to associate arbitrary metadata with some kinds of declaration names, including normal identifiers and C++ constructors, destructors, and conversion functions.

Definition at line 502 of file DeclarationName.h.

◆ getFromOpaqueInteger() ◆ getFromOpaquePtr() static DeclarationName clang::DeclarationName::getFromOpaquePtr ( void *  P ) inlinestatic ◆ getNameKind() NameKind clang::DeclarationName::getNameKind ( ) const inline

Determine what kind of name this is.

Definition at line 394 of file DeclarationName.h.

Referenced by clang::Sema::BuildMemberPointerType(), clang::Sema::BuildUsingDeclaration(), compare(), clang::DeclarationNameInfo::containsUnexpandedParameterPack(), clang::CXXDestructorDecl::Create(), clang::CXXConversionDecl::Create(), clang::CXXConstructorDecl::Create(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::Sema::HideUsingShadowDecl(), clang::ASTImporter::Import(), clang::ASTNodeImporter::ImportDeclarationNameLoc(), clang::DeclarationNameInfo::isInstantiationDependent(), IsStructurallyEquivalent(), LookupDirect(), LookupMemberExpr(), print(), clang::DeclarationNameInfo::printName(), and clang::RecursiveASTVisitor< Derived >::TraverseDeclarationNameInfo().

◆ getObjCSelector() Selector clang::DeclarationName::getObjCSelector ( ) const inline ◆ getTombstoneMarker() ◆ getUsingDirectiveName() ◆ isDependentName() bool DeclarationName::isDependentName ( ) const ◆ isEmpty() bool clang::DeclarationName::isEmpty ( ) const inline ◆ isIdentifier() bool clang::DeclarationName::isIdentifier ( ) const inline

Predicate functions for querying what type of name this is.

Definition at line 385 of file DeclarationName.h.

Referenced by buildLambdaCaptureFixit(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::Sema::FindHiddenVirtualMethods(), clang::SemaObjC::HandleExprPropertyRefExpr(), clang::dataflow::hasOptionalClassName(), clang::dataflow::isCheckLikeMethod(), clang::dataflow::isFullyQualifiedNamespaceEqualTo(), clang::CXXMethodDecl::isLambdaStaticInvoker(), clang::ento::smartptr::isStdSmartPtr(), methodHasName(), and clang::threadSafety::til::Project::slotName().

◆ isObjCOneArgSelector() bool clang::DeclarationName::isObjCOneArgSelector ( ) const inline ◆ isObjCZeroArgSelector() bool clang::DeclarationName::isObjCZeroArgSelector ( ) const inline ◆ operator bool() clang::DeclarationName::operator bool ( ) const inlineexplicit

Evaluates true when this declaration name is non-empty.

Definition at line 377 of file DeclarationName.h.

◆ print() void DeclarationName::print ( raw_ostream &  OS, const PrintingPolicyPolicy  ) const

Definition at line 130 of file DeclarationName.cpp.

References clang::PrintingPolicy::adjustForCPlusPlus(), CXXConstructorName, CXXConversionFunctionName, CXXDeductionGuideName, CXXDestructorName, CXXLiteralOperatorName, CXXOperatorName, CXXUsingDirective, clang::Type::getAs(), getAsIdentifierInfo(), getCXXDeductionGuideTemplate(), getCXXLiteralIdentifier(), getCXXNameType(), getCXXOverloadedOperator(), clang::NamedDecl::getDeclName(), clang::IdentifierInfo::getName(), getNameKind(), getObjCSelector(), clang::getOpenMPVariantManglingSeparatorStr(), clang::getOperatorSpelling(), Identifier, ObjCMultiArgSelector, ObjCOneArgSelector, ObjCZeroArgSelector, clang::Selector::print(), print(), and printCXXConstructorDestructorName().

Referenced by clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString(), clang::operator<<(), print(), clang::NamedDecl::printName(), clang::DeclarationNameInfo::printName(), and clang::index::printSymbolName().

◆ setFETokenInfo() void clang::DeclarationName::setFETokenInfo ( void *  T ) inline ◆ DeclarationNameTable ◆ NamedDecl ◆ operator!=

Determine whether the specified names are different.

Definition at line 523 of file DeclarationName.h.

◆ operator==

Determine whether the specified names are identical.

Definition at line 518 of file DeclarationName.h.

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


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4