virtual child_iterator child_end();
};
-/// ObjCIsaExpr - Represent X->isa and X.isa (similiar in spirit to MemberExpr).
+/// ObjCIsaExpr - Represent X->isa and X.isa when X is an ObjC 'id' type.
+/// (similiar in spirit to MemberExpr).
class ObjCIsaExpr : public Expr {
/// Base - the expression for the base object pointer.
Stmt *Base;
}
// We have an 'id' type. Rather than fall through, we check if this
// is a reference to 'isa'.
- if (&Member == &Context.Idents.get("isa"))
+ if (Member.isStr("isa"))
return Owned(new (Context) ObjCIsaExpr(BaseExpr, true, MemberLoc,
Context.getObjCIdType()));
}
// Handle the following exceptional case (*Obj).isa.
if (OpKind == tok::period &&
BaseType->isSpecificBuiltinType(BuiltinType::ObjCId) &&
- &Member == &Context.Idents.get("isa"))
+ Member.isStr("isa"))
return Owned(new (Context) ObjCIsaExpr(BaseExpr, false, MemberLoc,
Context.getObjCIdType()));