}
// Handle properties on ObjC 'Class' types.
- if (OpKind == tok::period && (BaseType->isObjCClassType())) {
+ if (OpKind == tok::period && BaseType->isObjCClassType()) {
// Also must look for a getter name which uses property syntax.
Selector Sel = PP.getSelectorTable().getNullarySelector(&Member);
if (ObjCMethodDecl *MD = getCurMethodDecl()) {
// Either ptr - int or ptr - ptr.
if (lex->getType()->isPointerType() ||
lex->getType()->isObjCObjectPointerType()) {
- QualType lpointee;
- if (const PointerType *LHSPTy = lex->getType()->getAsPointerType())
- lpointee = LHSPTy->getPointeeType();
- else if (const ObjCObjectPointerType *OPT =
- lex->getType()->getAsObjCObjectPointerType())
- lpointee = OPT->getPointeeType();
+ QualType lpointee = lex->getType()->getPointeeType();
// The LHS must be an completely-defined object type.
<< lType << rType << lex->getSourceRange() << rex->getSourceRange();
}
if (lType->isObjCQualifiedIdType() && rType->isObjCQualifiedIdType()) {
- if (ObjCQualifiedIdTypesAreCompatible(lType, rType, true)) {
- ImpCastExprToType(rex, lType);
- return ResultTy;
- } else {
+ if (!ObjCQualifiedIdTypesAreCompatible(lType, rType, true))
Diag(Loc, diag::warn_incompatible_qualified_id_operands)
<< lType << rType << lex->getSourceRange() << rex->getSourceRange();
- ImpCastExprToType(rex, lType);
- return ResultTy;
- }
+ ImpCastExprToType(rex, lType);
+ return ResultTy;
}
ImpCastExprToType(rex, lType);
return ResultTy;