clang  6.0.0svn
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::LookupResult Class Reference

Represents the results of name lookup. More...

#include "clang/Sema/Lookup.h"

Classes

class  Filter
 A class for iterating through a result set and possibly filtering out results. More...
 

Public Types

enum  LookupResultKind {
  NotFound = 0, NotFoundInCurrentInstantiation, Found, FoundOverloaded,
  FoundUnresolvedValue, Ambiguous
}
 
enum  AmbiguityKind { AmbiguousBaseSubobjectTypes, AmbiguousBaseSubobjects, AmbiguousReference, AmbiguousTagHiding }
 
enum  TemporaryToken { Temporary }
 A little identifier for flagging temporary lookup results. More...
 
typedef UnresolvedSetImpl::iterator iterator
 

Public Member Functions

 LookupResult (Sema &SemaRef, const DeclarationNameInfo &NameInfo, Sema::LookupNameKind LookupKind, Sema::RedeclarationKind Redecl=Sema::NotForRedeclaration)
 
 LookupResult (Sema &SemaRef, DeclarationName Name, SourceLocation NameLoc, Sema::LookupNameKind LookupKind, Sema::RedeclarationKind Redecl=Sema::NotForRedeclaration)
 
 LookupResult (TemporaryToken _, const LookupResult &Other)
 Creates a temporary lookup result, initializing its core data using the information from another result. More...
 
 LookupResult (const LookupResult &)=delete
 
LookupResultoperator= (const LookupResult &)=delete
 
 LookupResult (LookupResult &&Other)
 
LookupResultoperator= (LookupResult &&Other)
 
 ~LookupResult ()
 
const DeclarationNameInfogetLookupNameInfo () const
 Gets the name info to look up. More...
 
void setLookupNameInfo (const DeclarationNameInfo &NameInfo)
 Sets the name info to look up. More...
 
DeclarationName getLookupName () const
 Gets the name to look up. More...
 
void setLookupName (DeclarationName Name)
 Sets the name to look up. More...
 
Sema::LookupNameKind getLookupKind () const
 Gets the kind of lookup to perform. More...
 
bool isForRedeclaration () const
 True if this lookup is just looking for an existing declaration. More...
 
bool isForExternalRedeclaration () const
 True if this lookup is just looking for an existing declaration to link against a declaration with external linkage. More...
 
Sema::RedeclarationKind redeclarationKind () const
 
void setAllowHidden (bool AH)
 Specify whether hidden declarations are visible, e.g., for recovery reasons. More...
 
bool isHiddenDeclarationVisible (NamedDecl *ND) const
 Determine whether this lookup is permitted to see hidden declarations, such as those in modules that have not yet been imported. More...
 
void setHideTags (bool Hide)
 Sets whether tag declarations should be hidden by non-tag declarations during resolution. More...
 
bool isAmbiguous () const
 
bool isSingleResult () const
 Determines if this names a single result which is not an unresolved value using decl. More...
 
bool isOverloadedResult () const
 Determines if the results are overloaded. More...
 
bool isUnresolvableResult () const
 
LookupResultKind getResultKind () const
 
AmbiguityKind getAmbiguityKind () const
 
const UnresolvedSetImplasUnresolvedSet () const
 
iterator begin () const
 
iterator end () const
 
bool empty () const
 Return true if no decls were found. More...
 
CXXBasePathsgetBasePaths () const
 Return the base paths structure that's associated with these results, or null if none is. More...
 
NamedDeclgetAcceptableDecl (NamedDecl *D) const
 Retrieve the accepted (re)declaration of the given declaration, if there is one. More...
 
unsigned getIdentifierNamespace () const
 Returns the identifier namespace mask for this lookup. More...
 
bool isClassLookup () const
 Returns whether these results arose from performing a lookup into a class. More...
 
CXXRecordDeclgetNamingClass () const
 Returns the 'naming class' for this lookup, i.e. More...
 
void setNamingClass (CXXRecordDecl *Record)
 Sets the 'naming class' for this lookup. More...
 
QualType getBaseObjectType () const
 Returns the base object type associated with this lookup; important for [class.protected]. More...
 
void setBaseObjectType (QualType T)
 Sets the base object type for this lookup. More...
 
void addDecl (NamedDecl *D)
 Add a declaration to these results with its natural access. More...
 
void addDecl (NamedDecl *D, AccessSpecifier AS)
 Add a declaration to these results with the given access. More...
 
void addAllDecls (const LookupResult &Other)
 Add all the declarations from another set of lookup results. More...
 
bool wasNotFoundInCurrentInstantiation () const
 Determine whether no result was found because we could not search into dependent base classes of the current instantiation. More...
 
void setNotFoundInCurrentInstantiation ()
 Note that while no result was found in the current instantiation, there were dependent base classes that could not be searched. More...
 
bool isShadowed () const
 Determine whether the lookup result was shadowed by some other declaration that lookup ignored. More...
 
void setShadowed ()
 Note that we found and ignored a declaration while performing lookup. More...
 
void resolveKind ()
 Resolves the result kind of the lookup, possibly hiding decls. More...
 
void resolveKindAfterFilter ()
 Re-resolves the result kind of the lookup after a set of removals has been performed. More...
 
template<class DeclClass >
DeclClass * getAsSingle () const
 
NamedDeclgetFoundDecl () const
 Fetch the unique decl found by this lookup. More...
 
NamedDeclgetRepresentativeDecl () const
 Fetches a representative decl. Useful for lazy diagnostics. More...
 
bool isSingleTagDecl () const
 Asks if the result is a single tag decl. More...
 
void setAmbiguousBaseSubobjectTypes (CXXBasePaths &P)
 Make these results show that the name was found in base classes of different types. More...
 
void setAmbiguousBaseSubobjects (CXXBasePaths &P)
 Make these results show that the name was found in distinct base classes of the same type. More...
 
void setAmbiguousQualifiedTagHiding ()
 Make these results show that the name was found in different contexts and a tag decl was hidden by an ordinary decl in a different context. More...
 
void clear ()
 Clears out any current state. More...
 
void clear (Sema::LookupNameKind Kind)
 Clears out any current state and re-initializes for a different kind of lookup. More...
 
void setRedeclarationKind (Sema::RedeclarationKind RK)
 Change this lookup's redeclaration kind. More...
 
void dump ()
 
void print (raw_ostream &)
 
void suppressDiagnostics ()
 Suppress the diagnostics that would normally fire because of this lookup. More...
 
bool isSuppressingDiagnostics () const
 Determines whether this lookup is suppressing diagnostics. More...
 
void setContextRange (SourceRange SR)
 Sets a 'context' source range. More...
 
SourceRange getContextRange () const
 Gets the source range of the context of this name; for C++ qualified lookups, this is the source range of the scope specifier. More...
 
SourceLocation getNameLoc () const
 Gets the location of the identifier. More...
 
SemagetSema () const
 Get the Sema object that this lookup result is searching with. More...
 
Filter makeFilter ()
 Create a filter for this result set. More...
 
void setFindLocalExtern (bool FindLocalExtern)
 

Static Public Member Functions

static bool isVisible (Sema &SemaRef, NamedDecl *D)
 Determine whether the given declaration is visible to the program. More...
 

Detailed Description

Represents the results of name lookup.

An instance of the LookupResult class captures the results of a single name lookup, which can return no result (nothing found), a single declaration, a set of overloaded functions, or an ambiguity. Use the getKind() method to determine which of these results occurred for a given lookup.

Definition at line 32 of file Lookup.h.

Member Typedef Documentation

◆ iterator

Definition at line 129 of file Lookup.h.

Member Enumeration Documentation

◆ AmbiguityKind

Enumerator
AmbiguousBaseSubobjectTypes 

Name lookup results in an ambiguity because multiple entities that meet the lookup criteria were found in subobjects of different types.

For example:

struct A { void f(int); }
struct B { void f(double); }
struct C : A, B { };
void test(C c) {
c.f(0); // error: A::f and B::f come from subobjects of different
// types. overload resolution is not performed.
}
AmbiguousBaseSubobjects 

Name lookup results in an ambiguity because multiple nonstatic entities that meet the lookup criteria were found in different subobjects of the same type.

For example:

struct A { int x; };
struct B : A { };
struct C : A { };
struct D : B, C { };
int test(D d) {
return d.x; // error: 'x' is found in two A subobjects (of B and C)
}
AmbiguousReference 

Name lookup results in an ambiguity because multiple definitions of entity that meet the lookup criteria were found in different declaration contexts.

namespace A {
int i;
namespace B { int i; }
int test() {
using namespace B;
return i; // error 'i' is found in namespace A and A::B
}
}
AmbiguousTagHiding 

Name lookup results in an ambiguity because an entity with a tag name was hidden by an entity with an ordinary name from a different context.

namespace A { struct Foo {}; }
namespace B { void Foo(); }
namespace C {
using namespace A;
using namespace B;
}
void test() {
C::Foo(); // error: tag 'A::Foo' is hidden by an object in a
// different namespace
}

Definition at line 62 of file Lookup.h.

◆ LookupResultKind

Enumerator
NotFound 

No entity found met the criteria.

NotFoundInCurrentInstantiation 

No entity found met the criteria within the current instantiation,, but there were dependent base classes of the current instantiation that could not be searched.

Found 

Name lookup found a single declaration that met the criteria.

getFoundDecl() will return this declaration.

FoundOverloaded 

Name lookup found a set of overloaded functions that met the criteria.

FoundUnresolvedValue 

Name lookup found an unresolvable value declaration and cannot yet complete.

This only happens in C++ dependent contexts with dependent using declarations.

Ambiguous 

Name lookup results in an ambiguity; use getAmbiguityKind to figure out what kind of ambiguity we have.

Definition at line 34 of file Lookup.h.

◆ TemporaryToken

A little identifier for flagging temporary lookup results.

Enumerator
Temporary 

Definition at line 125 of file Lookup.h.

Constructor & Destructor Documentation

◆ LookupResult() [1/5]

clang::LookupResult::LookupResult ( Sema SemaRef,
const DeclarationNameInfo NameInfo,
Sema::LookupNameKind  LookupKind,
Sema::RedeclarationKind  Redecl = Sema::NotForRedeclaration 
)
inline

Definition at line 131 of file Lookup.h.

Referenced by LookupResult().

◆ LookupResult() [2/5]

clang::LookupResult::LookupResult ( Sema SemaRef,
DeclarationName  Name,
SourceLocation  NameLoc,
Sema::LookupNameKind  LookupKind,
Sema::RedeclarationKind  Redecl = Sema::NotForRedeclaration 
)
inline

Definition at line 154 of file Lookup.h.

◆ LookupResult() [3/5]

clang::LookupResult::LookupResult ( TemporaryToken  _,
const LookupResult Other 
)
inline

Creates a temporary lookup result, initializing its core data using the information from another result.

Diagnostics are always disabled.

Definition at line 177 of file Lookup.h.

References LookupResult(), and operator=().

◆ LookupResult() [4/5]

clang::LookupResult::LookupResult ( const LookupResult )
delete

◆ LookupResult() [5/5]

clang::LookupResult::LookupResult ( LookupResult &&  Other)
inline

Definition at line 198 of file Lookup.h.

◆ ~LookupResult()

clang::LookupResult::~LookupResult ( )
inline

Definition at line 239 of file Lookup.h.

Member Function Documentation

◆ addAllDecls()

void clang::LookupResult::addAllDecls ( const LookupResult Other)
inline

Add all the declarations from another set of lookup results.

Definition at line 442 of file Lookup.h.

References clang::UnresolvedSetImpl::append(), clang::UnresolvedSetImpl::begin(), clang::UnresolvedSetImpl::end(), and Found.

◆ addDecl() [1/2]

void clang::LookupResult::addDecl ( NamedDecl D)
inline

◆ addDecl() [2/2]

void clang::LookupResult::addDecl ( NamedDecl D,
AccessSpecifier  AS 
)
inline

Add a declaration to these results with the given access.

Does not test the acceptance criteria.

Definition at line 435 of file Lookup.h.

References clang::UnresolvedSetImpl::addDecl(), and Found.

◆ asUnresolvedSet()

const UnresolvedSetImpl& clang::LookupResult::asUnresolvedSet ( ) const
inline

Definition at line 334 of file Lookup.h.

Referenced by clang::Sema::BuildLiteralOperatorCall().

◆ begin()

iterator clang::LookupResult::begin ( ) const
inline

◆ clear() [1/2]

void clang::LookupResult::clear ( )
inline

◆ clear() [2/2]

void clang::LookupResult::clear ( Sema::LookupNameKind  Kind)
inline

Clears out any current state and re-initializes for a different kind of lookup.

Definition at line 568 of file Lookup.h.

References clear().

◆ dump()

LLVM_DUMP_METHOD void LookupResult::dump ( )

Definition at line 665 of file SemaLookup.cpp.

References clang::Decl::dump().

Referenced by setRedeclarationKind().

◆ empty()

bool clang::LookupResult::empty ( ) const
inline

◆ end()

iterator clang::LookupResult::end ( ) const
inline

◆ getAcceptableDecl()

NamedDecl* clang::LookupResult::getAcceptableDecl ( NamedDecl D) const
inline

Retrieve the accepted (re)declaration of the given declaration, if there is one.

Definition at line 364 of file Lookup.h.

References getSema(), isHiddenDeclarationVisible(), clang::Decl::isInIdentifierNamespace(), and isVisible().

Referenced by LookupDirect(), and LookupVisibleDecls().

◆ getAmbiguityKind()

AmbiguityKind clang::LookupResult::getAmbiguityKind ( ) const
inline

Definition at line 329 of file Lookup.h.

References isAmbiguous().

◆ getAsSingle()

template<class DeclClass >
DeclClass* clang::LookupResult::getAsSingle ( ) const
inline

◆ getBaseObjectType()

QualType clang::LookupResult::getBaseObjectType ( ) const
inline

Returns the base object type associated with this lookup; important for [class.protected].

Most lookups do not have an associated base object.

Definition at line 418 of file Lookup.h.

◆ getBasePaths()

CXXBasePaths* clang::LookupResult::getBasePaths ( ) const
inline

Return the base paths structure that's associated with these results, or null if none is.

Definition at line 346 of file Lookup.h.

◆ getContextRange()

SourceRange clang::LookupResult::getContextRange ( ) const
inline

Gets the source range of the context of this name; for C++ qualified lookups, this is the source range of the scope specifier.

Definition at line 603 of file Lookup.h.

◆ getFoundDecl()

NamedDecl* clang::LookupResult::getFoundDecl ( ) const
inline

Fetch the unique decl found by this lookup.

Asserts that one was found.

This is intended for users who have examined the result kind and are certain that there is only one result.

Definition at line 520 of file Lookup.h.

References begin(), Found, and getResultKind().

Referenced by clang::Sema::ActOnNamespaceAliasDef(), clang::Sema::ActOnOpenMPIdExpression(), clang::Sema::BuildDeclarationNameExpr(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::checkObjCBridgeRelatedComponents(), getAsSingle(), clang::Sema::getShadowedDeclaration(), isSingleTagDecl(), clang::Sema::LookupInObjCMethod(), LookupPotentialTypoResult(), and clang::Sema::MergeVarDecl().

◆ getIdentifierNamespace()

unsigned clang::LookupResult::getIdentifierNamespace ( ) const
inline

Returns the identifier namespace mask for this lookup.

Definition at line 380 of file Lookup.h.

Referenced by findOuterContext().

◆ getLookupKind()

Sema::LookupNameKind clang::LookupResult::getLookupKind ( ) const
inline

Gets the kind of lookup to perform.

Definition at line 265 of file Lookup.h.

Referenced by attemptRecovery(), LookupBuiltin(), clang::Sema::LookupInSuper(), and TryNamespaceTypoCorrection().

◆ getLookupName()

DeclarationName clang::LookupResult::getLookupName ( ) const
inline

◆ getLookupNameInfo()

const DeclarationNameInfo& clang::LookupResult::getLookupNameInfo ( ) const
inline

◆ getNameLoc()

SourceLocation clang::LookupResult::getNameLoc ( ) const
inline

◆ getNamingClass()

CXXRecordDecl* clang::LookupResult::getNamingClass ( ) const
inline

Returns the 'naming class' for this lookup, i.e.

the class which was looked into to find these results.

C++0x [class.access.base]p5: The access to a member is affected by the class in which the member is named. This naming class is the class in which the member name was looked up and found. [Note: this class can be explicit, e.g., when a qualified-id is used, or implicit, e.g., when a class member access operator (5.2.5) is used (including cases where an implicit "this->" is added). If both a class member access operator and a qualified-id are used to name the member (as in p->T::m), the class naming the member is the class named by the nested-name-specifier of the qualified-id (that is, T). – end note ]

This is set by the lookup routines when they find results in a class.

Definition at line 406 of file Lookup.h.

Referenced by clang::Sema::CheckLookupAccess(), and resolveAllocationOverload().

◆ getRepresentativeDecl()

NamedDecl* clang::LookupResult::getRepresentativeDecl ( ) const
inline

◆ getResultKind()

LookupResultKind clang::LookupResult::getResultKind ( ) const
inline

◆ getSema()

Sema& clang::LookupResult::getSema ( ) const
inline

Get the Sema object that this lookup result is searching with.

Definition at line 615 of file Lookup.h.

Referenced by getAcceptableDecl(), isResultTypeOrTemplate(), LookupDirect(), LookupVisibleDecls(), and setFindLocalExtern().

◆ isAmbiguous()

bool clang::LookupResult::isAmbiguous ( ) const
inline

◆ isClassLookup()

bool clang::LookupResult::isClassLookup ( ) const
inline

Returns whether these results arose from performing a lookup into a class.

Definition at line 386 of file Lookup.h.

Referenced by setFindLocalExtern().

◆ isForExternalRedeclaration()

bool clang::LookupResult::isForExternalRedeclaration ( ) const
inline

True if this lookup is just looking for an existing declaration to link against a declaration with external linkage.

Definition at line 276 of file Lookup.h.

Referenced by isHiddenDeclarationVisible().

◆ isForRedeclaration()

bool clang::LookupResult::isForRedeclaration ( ) const
inline

True if this lookup is just looking for an existing declaration.

Definition at line 270 of file Lookup.h.

Referenced by LookupBuiltin(), and LookupDirect().

◆ isHiddenDeclarationVisible()

bool clang::LookupResult::isHiddenDeclarationVisible ( NamedDecl ND) const
inline

Determine whether this lookup is permitted to see hidden declarations, such as those in modules that have not yet been imported.

Definition at line 293 of file Lookup.h.

References clang::NamedDecl::isExternallyDeclarable(), and isForExternalRedeclaration().

Referenced by getAcceptableDecl().

◆ isOverloadedResult()

bool clang::LookupResult::isOverloadedResult ( ) const
inline

Determines if the results are overloaded.

Definition at line 316 of file Lookup.h.

References FoundOverloaded, and getResultKind().

Referenced by clang::Sema::BuildMemberReferenceExpr().

◆ isShadowed()

bool clang::LookupResult::isShadowed ( ) const
inline

Determine whether the lookup result was shadowed by some other declaration that lookup ignored.

Definition at line 462 of file Lookup.h.

◆ isSingleResult()

bool clang::LookupResult::isSingleResult ( ) const
inline

◆ isSingleTagDecl()

bool clang::LookupResult::isSingleTagDecl ( ) const
inline

Asks if the result is a single tag decl.

Definition at line 533 of file Lookup.h.

References Found, getFoundDecl(), getResultKind(), P, setAmbiguousBaseSubobjects(), and setAmbiguousBaseSubobjectTypes().

◆ isSuppressingDiagnostics()

bool clang::LookupResult::isSuppressingDiagnostics ( ) const
inline

Determines whether this lookup is suppressing diagnostics.

Definition at line 591 of file Lookup.h.

◆ isUnresolvableResult()

bool clang::LookupResult::isUnresolvableResult ( ) const
inline

◆ isVisible()

static bool clang::LookupResult::isVisible ( Sema SemaRef,
NamedDecl D 
)
inlinestatic

Determine whether the given declaration is visible to the program.

Definition at line 352 of file Lookup.h.

References clang::Decl::isHidden().

Referenced by checkCorrectionVisibility(), findAcceptableDecl(), clang::TypoCorrectionConsumer::FoundDecl(), getAcceptableDecl(), and clang::Sema::hasVisibleMemberSpecialization().

◆ makeFilter()

Filter clang::LookupResult::makeFilter ( )
inline

◆ operator=() [1/2]

LookupResult& clang::LookupResult::operator= ( const LookupResult )
delete

Referenced by LookupResult().

◆ operator=() [2/2]

LookupResult& clang::LookupResult::operator= ( LookupResult &&  Other)
inline

Definition at line 216 of file Lookup.h.

◆ print()

void LookupResult::print ( raw_ostream &  Out)

Definition at line 654 of file SemaLookup.cpp.

Referenced by setRedeclarationKind().

◆ redeclarationKind()

Sema::RedeclarationKind clang::LookupResult::redeclarationKind ( ) const
inline

◆ resolveKind()

void LookupResult::resolveKind ( )

Resolves the result kind of the lookup, possibly hiding decls.

Resolves the result kind of this lookup.

This should be called in any environment where lookup might generate multiple lookup results.

Definition at line 471 of file SemaLookup.cpp.

Referenced by clang::Sema::ActOnUsingDirective(), LookupPotentialTypoResult(), resolveKindAfterFilter(), setShadowed(), and clang::TreeTransform< Derived >::TransformOverloadExprDecls().

◆ resolveKindAfterFilter()

void clang::LookupResult::resolveKindAfterFilter ( )
inline

Re-resolves the result kind of the lookup after a set of removals has been performed.

Definition at line 477 of file Lookup.h.

References Ambiguous, clang::UnresolvedSetImpl::empty(), Found, NotFound, NotFoundInCurrentInstantiation, and resolveKind().

Referenced by clang::LookupResult::Filter::done().

◆ setAllowHidden()

void clang::LookupResult::setAllowHidden ( bool  AH)
inline

Specify whether hidden declarations are visible, e.g., for recovery reasons.

Definition at line 287 of file Lookup.h.

Referenced by LookupPotentialTypoResult(), and clang::Sema::LookupVisibleDecls().

◆ setAmbiguousBaseSubobjects()

void LookupResult::setAmbiguousBaseSubobjects ( CXXBasePaths P)

Make these results show that the name was found in distinct base classes of the same type.

The given paths object is copied and invalidated.

Definition at line 638 of file SemaLookup.cpp.

References clang::CXXBasePaths::swap().

Referenced by isSingleTagDecl().

◆ setAmbiguousBaseSubobjectTypes()

void LookupResult::setAmbiguousBaseSubobjectTypes ( CXXBasePaths P)

Make these results show that the name was found in base classes of different types.

The given paths object is copied and invalidated.

Definition at line 646 of file SemaLookup.cpp.

References clang::CXXBasePaths::swap().

Referenced by isSingleTagDecl().

◆ setAmbiguousQualifiedTagHiding()

void clang::LookupResult::setAmbiguousQualifiedTagHiding ( )
inline

Make these results show that the name was found in different contexts and a tag decl was hidden by an ordinary decl in a different context.

Definition at line 552 of file Lookup.h.

References AmbiguousTagHiding.

◆ setBaseObjectType()

void clang::LookupResult::setBaseObjectType ( QualType  T)
inline

Sets the base object type for this lookup.

Definition at line 423 of file Lookup.h.

References clang::T.

Referenced by clang::Sema::BuildMemberReferenceExpr().

◆ setContextRange()

void clang::LookupResult::setContextRange ( SourceRange  SR)
inline

Sets a 'context' source range.

Definition at line 596 of file Lookup.h.

Referenced by clang::Sema::LookupParsedName().

◆ setFindLocalExtern()

void clang::LookupResult::setFindLocalExtern ( bool  FindLocalExtern)
inline

◆ setHideTags()

void clang::LookupResult::setHideTags ( bool  Hide)
inline

Sets whether tag declarations should be hidden by non-tag declarations during resolution.

The default is true.

Definition at line 300 of file Lookup.h.

Referenced by clang::Sema::CheckUsingDeclQualifier().

◆ setLookupName()

void clang::LookupResult::setLookupName ( DeclarationName  Name)
inline

Sets the name to look up.

Definition at line 260 of file Lookup.h.

Referenced by LookupPotentialTypoResult(), and resolveAllocationOverload().

◆ setLookupNameInfo()

void clang::LookupResult::setLookupNameInfo ( const DeclarationNameInfo NameInfo)
inline

Sets the name info to look up.

Definition at line 250 of file Lookup.h.

◆ setNamingClass()

void clang::LookupResult::setNamingClass ( CXXRecordDecl Record)
inline

Sets the 'naming class' for this lookup.

Definition at line 411 of file Lookup.h.

◆ setNotFoundInCurrentInstantiation()

void clang::LookupResult::setNotFoundInCurrentInstantiation ( )
inline

Note that while no result was found in the current instantiation, there were dependent base classes that could not be searched.

Definition at line 455 of file Lookup.h.

References clang::UnresolvedSetImpl::empty(), NotFound, and NotFoundInCurrentInstantiation.

Referenced by clang::Sema::LookupParsedName().

◆ setRedeclarationKind()

void clang::LookupResult::setRedeclarationKind ( Sema::RedeclarationKind  RK)
inline

Change this lookup's redeclaration kind.

Definition at line 575 of file Lookup.h.

References dump(), clang::Sema::ForExternalRedeclaration, clang::Sema::NotForRedeclaration, and print().

◆ setShadowed()

void clang::LookupResult::setShadowed ( )
inline

Note that we found and ignored a declaration while performing lookup.

Definition at line 466 of file Lookup.h.

References resolveKind().

Referenced by clang::Sema::CheckVariableDeclaration().

◆ suppressDiagnostics()

void clang::LookupResult::suppressDiagnostics ( )
inline

◆ wasNotFoundInCurrentInstantiation()

bool clang::LookupResult::wasNotFoundInCurrentInstantiation ( ) const
inline

Determine whether no result was found because we could not search into dependent base classes of the current instantiation.

Definition at line 449 of file Lookup.h.

References NotFoundInCurrentInstantiation.


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