clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::UnresolvedLookupExpr Class Reference

A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. More...

#include <ExprCXX.h>

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

List of all members.

Public Member Functions

bool requiresADL () const
bool isOverloaded () const
 True if this lookup is overloaded.
CXXRecordDeclgetNamingClass () const
SourceLocation getLocStart () const LLVM_READONLY
SourceLocation getLocEnd () const LLVM_READONLY
child_range children ()

Static Public Member Functions

static UnresolvedLookupExprCreate (const ASTContext &C, CXXRecordDecl *NamingClass, NestedNameSpecifierLoc QualifierLoc, const DeclarationNameInfo &NameInfo, bool ADL, bool Overloaded, UnresolvedSetIterator Begin, UnresolvedSetIterator End)
static UnresolvedLookupExprCreate (const ASTContext &C, CXXRecordDecl *NamingClass, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, const DeclarationNameInfo &NameInfo, bool ADL, const TemplateArgumentListInfo *Args, UnresolvedSetIterator Begin, UnresolvedSetIterator End)
static UnresolvedLookupExprCreateEmpty (const ASTContext &C, bool HasTemplateKWAndArgsInfo, unsigned NumTemplateArgs)
static bool classof (const Stmt *T)

Friends

class ASTStmtReader

Detailed Description

A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration.

This arises in several ways: we might be waiting for argument-dependent lookup; the name might resolve to an overloaded function; and eventually: the lookup might have included a function template.

These never include UnresolvedUsingValueDecls, which are always class members and therefore appear only in UnresolvedMemberLookupExprs.

Definition at line 2487 of file ExprCXX.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 2575 of file ExprCXX.h.

static bool clang::UnresolvedLookupExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::OverloadExpr.

Definition at line 2577 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

static UnresolvedLookupExpr* clang::UnresolvedLookupExpr::Create ( const ASTContext C,
CXXRecordDecl NamingClass,
NestedNameSpecifierLoc  QualifierLoc,
const DeclarationNameInfo NameInfo,
bool  ADL,
bool  Overloaded,
UnresolvedSetIterator  Begin,
UnresolvedSetIterator  End 
) [inline, static]
UnresolvedLookupExpr * UnresolvedLookupExpr::Create ( const ASTContext C,
CXXRecordDecl NamingClass,
NestedNameSpecifierLoc  QualifierLoc,
SourceLocation  TemplateKWLoc,
const DeclarationNameInfo NameInfo,
bool  ADL,
const TemplateArgumentListInfo Args,
UnresolvedSetIterator  Begin,
UnresolvedSetIterator  End 
) [static]
UnresolvedLookupExpr * UnresolvedLookupExpr::CreateEmpty ( const ASTContext C,
bool  HasTemplateKWAndArgsInfo,
unsigned  NumTemplateArgs 
) [static]

Gets the 'naming class' (in the sense of C++0x [class.access.base]p5) of the lookup. This is the scope that was looked in to find these results.

Reimplemented from clang::OverloadExpr.

Definition at line 2562 of file ExprCXX.h.

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

True if this lookup is overloaded.

Definition at line 2557 of file ExprCXX.h.

True if this declaration should be extended by argument-dependent lookup.

Definition at line 2554 of file ExprCXX.h.

Referenced by clang::Sema::AddOverloadedCallCandidates(), clang::Sema::buildOverloadedCallSet(), and isParenthesizedADLCallee().


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::OverloadExpr.

Definition at line 2523 of file ExprCXX.h.


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