xref: /aosp_15_r20/external/clang/test/FixIt/fixit-objc-message.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// Objective-C recovery
2*67e74705SXin Li// RUN: cp %s %t
3*67e74705SXin Li// RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c %t
4*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c %t
5*67e74705SXin Li
6*67e74705SXin Li// Objective-C++ recovery
7*67e74705SXin Li// RUN: cp %s %t
8*67e74705SXin Li// RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c++ %t
9*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c++ %t
10*67e74705SXin Li
11*67e74705SXin Li@interface A
12*67e74705SXin Li- (int)method1:(int)x second:(float)y;
13*67e74705SXin Li+ (int)method2:(int)x second:(double)y;
14*67e74705SXin Li- (int)getBlah;
15*67e74705SXin Li@end
16*67e74705SXin Li
17*67e74705SXin Livoid f(A *a, int i, int j) {
18*67e74705SXin Li  a method1:5+2 second:+(3.14159)];
19*67e74705SXin Li  a method1:[a method1:3 second:j] second:i++]
20*67e74705SXin Li  a getBlah];
21*67e74705SXin Li
22*67e74705SXin Li  int array[17];
23*67e74705SXin Li  (void)array[a method1:5+2 second:+(3.14159)]];
24*67e74705SXin Li  (A method2:5+2 second:3.14159]);
25*67e74705SXin Li  A method2:5+2 second:3.14159]
26*67e74705SXin Li  if (A method2:5+2 second:3.14159]) { }
27*67e74705SXin Li}
28*67e74705SXin Li
29*67e74705SXin Li@interface B : A
30*67e74705SXin Li- (int)method1:(int)x second:(float)y;
31*67e74705SXin Li@end
32*67e74705SXin Li
33*67e74705SXin Li@implementation B
34*67e74705SXin Li- (int)method1:(int)x second:(float)y {
35*67e74705SXin Li  super method1:x second:y];
36*67e74705SXin Li  return super getBlah];
37*67e74705SXin Li}
38*67e74705SXin Li@end
39