On 22 Oct 2013, at 18:43, Jordan Rose <[email protected]> wrote:
Oops, yes, that was careless. This part of the code handles situations like: if ([obj respondsToSelector:@selector(doVersion20Stuff)] == YES) { // do version 20 stuff } If the Assumption bool was not matched to the boolean operator, then the following case would also set version check status: if ([obj respondsToSelector:@selector(doVersion20Stuff)] == NO) { // don't do version 20 stuff }
Yes, I did originally have the highlight range, but I could not work out a way to get this from the ImplicitNullDerefEvent, so I removed it.
Not sure I get you here, isn't only 'class' a unary selector? I changed this to breaking early if there is more than 1 arg, and using the selector name for the first slot only.
Well spotted. I have added a helper method to extract the ObjCSelectorExpr in the case of a SEL variable, it is very ugly code though, is there an easier way to do this? see selectorForArgument().
I suppose I was simply trying to restrict the version checks as much as possible. I could not think of a valid case that would require walking further through the symbols children. I have removed it anyway, as I also cannot think of a case it helps.
So, latest patch attached, I hope I got all the aesthetic things sorted. Richard |
unavailable-2410.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
