such that it does not lower case the staring property
name if getter name (after "get" prefix) starts with
two upper case letters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190539
91177308-0d34-0410-b5e6-
96231b3b80d8
PropertyNameStringRef = PropertyNameStringRef.drop_front(LengthOfPrefix);
PropertyNameString = PropertyNameStringRef;
std::string NewPropertyNameString = PropertyNameString;
- NewPropertyNameString[0] = toLowercase(NewPropertyNameString[0]);
+ bool NoLowering = (isUppercase(NewPropertyNameString[0]) &&
+ NewPropertyNameString.size() > 1 &&
+ isUppercase(NewPropertyNameString[1]));
+ if (!NoLowering)
+ NewPropertyNameString[0] = toLowercase(NewPropertyNameString[0]);
PropertyString += NewPropertyNameString;
}
else
- (BOOL)is3bar; // watch out
- (NSString *)get3foo; // watch out
+
+- (BOOL) getM;
+- (BOOL) getMA;
+- (BOOL) getALL;
+- (BOOL) getMANY;
+- (BOOL) getSome;
@end
- (BOOL)is3bar; // watch out
- (NSString *)get3foo; // watch out
+
+@property(nonatomic, getter=getM, readonly) BOOL m;
+@property(nonatomic, getter=getMA, readonly) BOOL MA;
+@property(nonatomic, getter=getALL, readonly) BOOL ALL;
+@property(nonatomic, getter=getMANY, readonly) BOOL MANY;
+@property(nonatomic, getter=getSome, readonly) BOOL some;
@end