annotate clang/test/SemaObjC/cocoa-api-usage.m @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-arc %s -fsyntax-only -Wobjc-cocoa-api -verify
anatofuz
parents:
diff changeset
2 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-arc -x objective-c %s.fixed -fsyntax-only
anatofuz
parents:
diff changeset
3 // RUN: cp %s %t.m
anatofuz
parents:
diff changeset
4 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-arc %t.m -fixit -Wobjc-cocoa-api
anatofuz
parents:
diff changeset
5 // RUN: diff %s.fixed %t.m
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 typedef signed char BOOL;
anatofuz
parents:
diff changeset
8 #define nil ((void*) 0)
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 @interface NSObject
anatofuz
parents:
diff changeset
11 + (id)alloc;
anatofuz
parents:
diff changeset
12 @end
anatofuz
parents:
diff changeset
13
anatofuz
parents:
diff changeset
14 @interface NSString : NSObject
anatofuz
parents:
diff changeset
15 + (id)stringWithString:(NSString *)string;
anatofuz
parents:
diff changeset
16 - (id)initWithString:(NSString *)aString;
anatofuz
parents:
diff changeset
17 @end
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 @interface NSArray : NSObject
anatofuz
parents:
diff changeset
20 - (id)objectAtIndex:(unsigned long)index;
anatofuz
parents:
diff changeset
21 - (id)objectAtIndexedSubscript:(int)index;
anatofuz
parents:
diff changeset
22 @end
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 @interface NSArray (NSArrayCreation)
anatofuz
parents:
diff changeset
25 + (id)array;
anatofuz
parents:
diff changeset
26 + (id)arrayWithObject:(id)anObject;
anatofuz
parents:
diff changeset
27 + (id)arrayWithObjects:(const id [])objects count:(unsigned long)cnt;
anatofuz
parents:
diff changeset
28 + (id)arrayWithObjects:(id)firstObj, ...;
anatofuz
parents:
diff changeset
29 + (id)arrayWithArray:(NSArray *)array;
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 - (id)initWithObjects:(const id [])objects count:(unsigned long)cnt;
anatofuz
parents:
diff changeset
32 - (id)initWithObjects:(id)firstObj, ...;
anatofuz
parents:
diff changeset
33 - (id)initWithArray:(NSArray *)array;
anatofuz
parents:
diff changeset
34
anatofuz
parents:
diff changeset
35 - (id)objectAtIndex:(unsigned long)index;
anatofuz
parents:
diff changeset
36 @end
anatofuz
parents:
diff changeset
37
anatofuz
parents:
diff changeset
38 @interface NSMutableArray : NSArray
anatofuz
parents:
diff changeset
39 - (void)replaceObjectAtIndex:(unsigned long)index withObject:(id)anObject;
anatofuz
parents:
diff changeset
40 - (void)setObject:(id)object atIndexedSubscript:(int)index;
anatofuz
parents:
diff changeset
41 @end
anatofuz
parents:
diff changeset
42
anatofuz
parents:
diff changeset
43 @interface NSDictionary : NSObject
anatofuz
parents:
diff changeset
44 - (id)objectForKeyedSubscript:(id)key;
anatofuz
parents:
diff changeset
45 @end
anatofuz
parents:
diff changeset
46
anatofuz
parents:
diff changeset
47 @interface NSDictionary (NSDictionaryCreation)
anatofuz
parents:
diff changeset
48 + (id)dictionary;
anatofuz
parents:
diff changeset
49 + (id)dictionaryWithObject:(id)object forKey:(id)key;
anatofuz
parents:
diff changeset
50 + (id)dictionaryWithObjects:(const id [])objects forKeys:(const id [])keys count:(unsigned long)cnt;
anatofuz
parents:
diff changeset
51 + (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
anatofuz
parents:
diff changeset
52 + (id)dictionaryWithDictionary:(NSDictionary *)dict;
anatofuz
parents:
diff changeset
53 + (id)dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys;
anatofuz
parents:
diff changeset
54
anatofuz
parents:
diff changeset
55 - (id)initWithObjects:(const id [])objects forKeys:(const id [])keys count:(unsigned long)cnt;
anatofuz
parents:
diff changeset
56 - (id)initWithObjectsAndKeys:(id)firstObject, ...;
anatofuz
parents:
diff changeset
57 - (id)initWithDictionary:(NSDictionary *)otherDictionary;
anatofuz
parents:
diff changeset
58 - (id)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys;
anatofuz
parents:
diff changeset
59
anatofuz
parents:
diff changeset
60 - (id)objectForKey:(id)aKey;
anatofuz
parents:
diff changeset
61 @end
anatofuz
parents:
diff changeset
62
anatofuz
parents:
diff changeset
63 @interface NSMutableDictionary : NSDictionary
anatofuz
parents:
diff changeset
64 - (void)setObject:(id)anObject forKey:(id)aKey;
anatofuz
parents:
diff changeset
65 - (void)setObject:(id)object forKeyedSubscript:(id)key;
anatofuz
parents:
diff changeset
66 @end
anatofuz
parents:
diff changeset
67
anatofuz
parents:
diff changeset
68 @interface NSNumber : NSObject
anatofuz
parents:
diff changeset
69 @end
anatofuz
parents:
diff changeset
70
anatofuz
parents:
diff changeset
71 @interface NSNumber (NSNumberCreation)
anatofuz
parents:
diff changeset
72 + (NSNumber *)numberWithInt:(int)value;
anatofuz
parents:
diff changeset
73 @end
anatofuz
parents:
diff changeset
74
anatofuz
parents:
diff changeset
75 #define M(x) (x)
anatofuz
parents:
diff changeset
76 #define PAIR(x) @#x, [NSNumber numberWithInt:(x)]
anatofuz
parents:
diff changeset
77 #define TWO(x) ((x), (x))
anatofuz
parents:
diff changeset
78
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
79 void foo(void) {
150
anatofuz
parents:
diff changeset
80 NSString *str = M([NSString stringWithString:@"foo"]); // expected-warning {{redundant}}
anatofuz
parents:
diff changeset
81 str = [[NSString alloc] initWithString:@"foo"]; // expected-warning {{redundant}}
anatofuz
parents:
diff changeset
82 NSArray *arr = [NSArray arrayWithArray:@[str]]; // expected-warning {{redundant}}
anatofuz
parents:
diff changeset
83 NSDictionary *dict = [NSDictionary dictionaryWithDictionary:@{str: arr}]; // expected-warning {{redundant}}
anatofuz
parents:
diff changeset
84 }