clang
9.0.0
|
#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) |
Look up a method in the receiver type of an Objective-C property reference. More... | |
static void | CheckKeyForObjCARCConversion (Sema &S, QualType ContainerT, Expr *Key) |
CheckKeyForObjCARCConversion - This routine suggests bridge casting of CF objects used as dictionary subscript key objects. More... | |
static Expr * | stripOpaqueValuesFromPseudoObjectRef (Sema &S, Expr *E) |
Given a pseudo-object reference, rebuild it without the opaque values. More... | |
CheckKeyForObjCARCConversion - This routine suggests bridge casting of CF objects used as dictionary subscript key objects.
Definition at line 1126 of file SemaPseudoObject.cpp.
References clang::Sema::CCK_ImplicitConversion, clang::Sema::CheckObjCConversion(), clang::Sema::CheckSubscriptingKind(), clang::Sema::Context, clang::ObjCMethodDecl::Create(), clang::ParmVarDecl::Create(), clang::Sema::Diag(), clang::ExprError(), clang::IdentifierTable::get(), clang::Type::getAs(), clang::Expr::getExprLoc(), clang::Sema::getLangOpts(), clang::ASTContext::getObjCIdType(), clang::Type::getPointeeType(), clang::SelectorTable::getSelector(), clang::Stmt::getSourceRange(), clang::ASTContext::getTranslationUnitDecl(), clang::Expr::getType(), i, clang::ASTContext::Idents, clang::Type::isIntegralOrEnumerationType(), clang::QualType::isNull(), clang::Type::isObjCIdType(), clang::Type::isObjCObjectPointerType(), clang::Sema::LookupInstanceMethodInGlobalPool(), clang::Sema::LookupMethodInObjectType(), clang::Sema::OS_Array, clang::Sema::OS_Error, clang::ObjCMethodDecl::parameters(), clang::ObjCMethodDecl::Required, clang::SC_None, clang::ASTContext::Selectors, clang::ASTContext::UnsignedLongTy, and clang::ASTContext::VoidTy.
|
static |
Look up a method in the receiver type of an Objective-C property reference.
Definition at line 555 of file SemaPseudoObject.cpp.
References clang::Sema::AA_Assigning, clang::Sema::BuildBinOp(), clang::Sema::BuildClassMessageImplicit(), clang::Sema::BuildInstanceMessageImplicit(), clang::Sema::BuildUnaryOp(), clang::Type::castAs(), clang::Sema::checkRetainCycles(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::checkUnsafeExprAssigns(), clang::SelectorTable::constructSetterSelector(), clang::Sema::Context, clang::Sema::CurContext, clang::Sema::Diag(), clang::Sema::DiagnoseAssignmentResult(), clang::Sema::DiagnosePropertyAccessorMismatch(), clang::Sema::DiagnoseUseOfDecl(), clang::Sema::Diags, clang::ExprError(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::IdentifierTable::get(), clang::ObjCMessageExpr::getArg(), clang::Type::getAs(), clang::ObjCPropertyRefExpr::getBase(), clang::Stmt::getBeginLoc(), clang::ObjCMethodDecl::getClassInterface(), clang::ObjCPropertyRefExpr::getClassReceiver(), clang::Sema::getCurFunction(), clang::Sema::getCurLexicalContext(), clang::DeclContext::getDeclKind(), clang::ObjCPropertyDecl::getGetterName(), clang::Selector::getIdentifierInfoForSlot(), clang::Preprocessor::getIdentifierTable(), clang::Sema::getLangOpts(), clang::Decl::getLocation(), clang::IdentifierInfo::getName(), clang::NamedDecl::getName(), clang::DeclContext::getNonClosureAncestor(), clang::SelectorTable::getNullarySelector(), clang::ASTContext::getObjCInterfaceType(), clang::QualType::getObjCLifetime(), clang::ObjCObjectPointerType::getPointeeType(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ObjCPropertyDecl::getQueryKind(), clang::ObjCMethodDecl::getSelector(), clang::Preprocessor::getSelectorTable(), clang::ObjCPropertyDecl::getSetterName(), clang::Stmt::getSourceRange(), clang::ObjCPropertyRefExpr::getSuperReceiverType(), clang::Expr::getType(), clang::ObjCPropertyDecl::getType(), clang::ASTContext::Idents, clang::Expr::IgnoreParens(), clang::Sema::ImpCastExprToType(), clang::BinaryOperator::isAssignmentOp(), clang::ObjCPropertyRefExpr::isClassReceiver(), clang::UnaryOperator::isDecrementOp(), clang::DiagnosticsEngine::isIgnored(), clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), clang::isLowercase(), clang::Type::isLValueReferenceType(), clang::ObjCObjectPointerType::isObjCClassType(), clang::DeclContext::isObjCContainer(), clang::ObjCPropertyRefExpr::isObjectReceiver(), clang::Type::isRecordType(), clang::Sema::isSelfExpr(), clang::ObjCPropertyRefExpr::isSuperReceiver(), clang::Sema::isUnevaluatedContext(), clang::Sema::LookupMethodInObjectType(), clang::sema::FunctionScopeInfo::markSafeWeakUse(), clang::ObjCPropertyDecl::OBJC_PR_weak, clang::Qualifiers::OCL_Weak, clang::Parameter, clang::Sema::PP, clang::sema::FunctionScopeInfo::recordUseOfWeak(), result, clang::ObjCMessageExpr::setArg(), clang::QualType::substObjCMemberType(), clang::toLowercase(), and clang::toUppercase().
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 1631 of file SemaPseudoObject.cpp.
Referenced by clang::Sema::recreateSyntacticForm().