clang API Documentation
#include "clang/Sema/SemaInternal.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/ScopeInfo.h"
#include "llvm/ADT/SmallString.h"
Go to the source code of this file.
Functions | |
static ObjCMethodDecl * | LookupMethodInReceiverType (Sema &S, Selector sel, const ObjCPropertyRefExpr *PRE) |
static void | CheckKeyForObjCARCConversion (Sema &S, QualType ContainerT, Expr *Key) |
static Expr * | stripOpaqueValuesFromPseudoObjectRef (Sema &S, Expr *E) |
static void CheckKeyForObjCARCConversion | ( | Sema & | S, |
QualType | ContainerT, | ||
Expr * | Key | ||
) | [static] |
CheckKeyForObjCARCConversion - This routine suggests bridge casting of CF objects used as dictionary subscript key objects.
Definition at line 1096 of file SemaPseudoObject.cpp.
References clang::Sema::CCK_ImplicitConversion, clang::Sema::CheckObjCARCConversion(), clang::Sema::Context, clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::Stmt::getSourceRange(), clang::ASTContext::Idents, clang::QualType::isNull(), clang::Sema::LookupMethodInObjectType(), clang::ObjCMethodDecl::parameters(), and clang::ASTContext::Selectors.
static ObjCMethodDecl* LookupMethodInReceiverType | ( | Sema & | S, |
Selector | sel, | ||
const ObjCPropertyRefExpr * | PRE | ||
) | [static] |
Look up a method in the receiver type of an Objective-C property reference.
Definition at line 510 of file SemaPseudoObject.cpp.
References clang::Type::castAs(), clang::Sema::Context, clang::Sema::CurContext, clang::Type::getAs(), clang::ObjCPropertyRefExpr::getBase(), clang::ObjCMethodDecl::getClassInterface(), clang::ObjCPropertyRefExpr::getClassReceiver(), clang::DeclContext::getNonClosureAncestor(), clang::ASTContext::getObjCInterfaceType(), clang::ObjCObjectPointerType::getPointeeType(), clang::ObjCPropertyRefExpr::getSuperReceiverType(), clang::Expr::getType(), clang::ObjCPropertyRefExpr::isClassReceiver(), clang::ObjCObjectPointerType::isObjCClassType(), clang::ObjCPropertyRefExpr::isObjectReceiver(), clang::Sema::isSelfExpr(), clang::ObjCPropertyRefExpr::isSuperReceiver(), and clang::Sema::LookupMethodInObjectType().
static Expr* stripOpaqueValuesFromPseudoObjectRef | ( | Sema & | S, |
Expr * | E | ||
) | [static] |
Given a pseudo-object reference, rebuild it without the opaque values. Basically, undo the behavior of rebuildAndCaptureObject. This should never operate in-place.
Definition at line 1580 of file SemaPseudoObject.cpp.
References clang::MSPropertyRefExpr::getBaseExpr(), clang::OpaqueValueExpr::getSourceExpr(), and clang::Expr::IgnoreParens().
Referenced by clang::Sema::recreateSyntacticForm().