xref: /aosp_15_r20/external/clang/test/Analysis/generics.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.ObjCGenerics,alpha.core.DynamicTypeChecker -verify -Wno-objc-method-access %s
2*67e74705SXin Li// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.ObjCGenerics,alpha.core.DynamicTypeChecker -verify -Wno-objc-method-access %s -analyzer-output=plist -o %t.plist
3*67e74705SXin Li// RUN: FileCheck --input-file %t.plist %s
4*67e74705SXin Li
5*67e74705SXin Li#if !__has_feature(objc_generics)
6*67e74705SXin Li#  error Compiler does not support Objective-C generics?
7*67e74705SXin Li#endif
8*67e74705SXin Li
9*67e74705SXin Li#if !__has_feature(objc_generics_variance)
10*67e74705SXin Li#  error Compiler does not support co- and contr-variance?
11*67e74705SXin Li#endif
12*67e74705SXin Li
13*67e74705SXin Li#define nil 0
14*67e74705SXin Litypedef unsigned long NSUInteger;
15*67e74705SXin Litypedef int BOOL;
16*67e74705SXin Li
17*67e74705SXin Li@protocol NSObject
18*67e74705SXin Li+ (id)alloc;
19*67e74705SXin Li- (id)init;
20*67e74705SXin Li@end
21*67e74705SXin Li
22*67e74705SXin Li@protocol NSCopying
23*67e74705SXin Li@end
24*67e74705SXin Li
25*67e74705SXin Li__attribute__((objc_root_class))
26*67e74705SXin Li@interface NSObject <NSObject>
27*67e74705SXin Li@end
28*67e74705SXin Li
29*67e74705SXin Li@interface NSString : NSObject <NSCopying>
30*67e74705SXin Li@end
31*67e74705SXin Li
32*67e74705SXin Li@interface NSMutableString : NSString
33*67e74705SXin Li@end
34*67e74705SXin Li
35*67e74705SXin Li@interface NSNumber : NSObject <NSCopying>
36*67e74705SXin Li@end
37*67e74705SXin Li
38*67e74705SXin Li@interface NSSet : NSObject <NSCopying>
39*67e74705SXin Li@end
40*67e74705SXin Li
41*67e74705SXin Li@interface NSArray<__covariant ObjectType> : NSObject
42*67e74705SXin Li+ (instancetype)arrayWithObjects:(const ObjectType [])objects count:(NSUInteger)count;
43*67e74705SXin Li+ (instancetype)getEmpty;
44*67e74705SXin Li+ (NSArray<ObjectType> *)getEmpty2;
45*67e74705SXin Li- (BOOL)contains:(ObjectType)obj;
46*67e74705SXin Li- (ObjectType)getObjAtIndex:(NSUInteger)idx;
47*67e74705SXin Li- (ObjectType)objectAtIndexedSubscript:(NSUInteger)idx;
48*67e74705SXin Li@property(readonly) ObjectType firstObject;
49*67e74705SXin Li@end
50*67e74705SXin Li
51*67e74705SXin Li@interface MutableArray<ObjectType> : NSArray<ObjectType>
52*67e74705SXin Li- (void)addObject:(ObjectType)anObject;
53*67e74705SXin Li@end
54*67e74705SXin Li
55*67e74705SXin Li@interface LegacyMutableArray : MutableArray
56*67e74705SXin Li@end
57*67e74705SXin Li
58*67e74705SXin Li@interface LegacySpecialMutableArray : LegacyMutableArray
59*67e74705SXin Li@end
60*67e74705SXin Li
61*67e74705SXin Li@interface BuggyMutableArray<T> : MutableArray
62*67e74705SXin Li@end
63*67e74705SXin Li
64*67e74705SXin Li@interface BuggySpecialMutableArray<T> : BuggyMutableArray<T>
65*67e74705SXin Li@end
66*67e74705SXin Li
67*67e74705SXin Li@interface MyMutableStringArray : MutableArray<NSString *>
68*67e74705SXin Li@end
69*67e74705SXin Li
70*67e74705SXin Li@interface ExceptionalArray<ExceptionType> : MutableArray<NSString *>
71*67e74705SXin Li- (ExceptionType) getException;
72*67e74705SXin Li@end
73*67e74705SXin Li
74*67e74705SXin Li@interface UnrelatedType : NSObject<NSCopying>
75*67e74705SXin Li@end
76*67e74705SXin Li
77*67e74705SXin Liint getUnknown();
78*67e74705SXin LiNSArray *getStuff();
79*67e74705SXin LiNSArray *getTypedStuff() {
80*67e74705SXin Li  NSArray<NSNumber *> *c = getStuff();
81*67e74705SXin Li  return c;
82*67e74705SXin Li}
83*67e74705SXin Li
84*67e74705SXin Livoid doStuff(NSArray<NSNumber *> *);
85*67e74705SXin Livoid withArrString(NSArray<NSString *> *);
86*67e74705SXin Livoid withArrMutableString(NSArray<NSMutableString *> *);
87*67e74705SXin Livoid withMutArrString(MutableArray<NSString *> *);
88*67e74705SXin Livoid withMutArrMutableString(MutableArray<NSMutableString *> *);
89*67e74705SXin Li
90*67e74705SXin Livoid incompatibleTypesErased(NSArray *a, NSArray<NSString *> *b,
91*67e74705SXin Li                             NSArray<NSNumber *> *c) {
92*67e74705SXin Li  a = b;
93*67e74705SXin Li  c = a; // expected-warning  {{Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'}}
94*67e74705SXin Li  [a contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
95*67e74705SXin Li  [a contains: [[NSString alloc] init]];
96*67e74705SXin Li  doStuff(a); // expected-warning {{Conversion}}
97*67e74705SXin Li}
98*67e74705SXin Li
99*67e74705SXin Livoid crossProceduralErasedTypes() {
100*67e74705SXin Li  NSArray<NSString *> *a = getTypedStuff(); // expected-warning {{Conversion}}
101*67e74705SXin Li}
102*67e74705SXin Li
103*67e74705SXin Livoid incompatibleTypesErasedReverseConversion(NSArray *a,
104*67e74705SXin Li                                              NSArray<NSString *> *b) {
105*67e74705SXin Li  b = a;
106*67e74705SXin Li  [a contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
107*67e74705SXin Li  [a contains: [[NSString alloc] init]];
108*67e74705SXin Li  doStuff(a); // expected-warning {{Conversion}}
109*67e74705SXin Li}
110*67e74705SXin Li
111*67e74705SXin Livoid idErasedIncompatibleTypesReverseConversion(id a, NSArray<NSString *> *b) {
112*67e74705SXin Li  b = a;
113*67e74705SXin Li  [a contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
114*67e74705SXin Li  [a contains: [[NSString alloc] init]];
115*67e74705SXin Li  doStuff(a); // expected-warning {{Conversion}}
116*67e74705SXin Li}
117*67e74705SXin Li
118*67e74705SXin Livoid idErasedIncompatibleTypes(id a, NSArray<NSString *> *b,
119*67e74705SXin Li                               NSArray<NSNumber *> *c) {
120*67e74705SXin Li  a = b;
121*67e74705SXin Li  c = a; // expected-warning {{Conversion}}
122*67e74705SXin Li  [a contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
123*67e74705SXin Li  [a contains: [[NSString alloc] init]];
124*67e74705SXin Li  doStuff(a); // expected-warning {{Conversion}}
125*67e74705SXin Li}
126*67e74705SXin Li
127*67e74705SXin Livoid pathSensitiveInference(MutableArray *m, MutableArray<NSString *> *a,
128*67e74705SXin Li                            MutableArray<NSMutableString *> *b) {
129*67e74705SXin Li  if (getUnknown() == 5) {
130*67e74705SXin Li    m = a;
131*67e74705SXin Li    [m contains: [[NSString alloc] init]];
132*67e74705SXin Li  } else {
133*67e74705SXin Li    m = b;
134*67e74705SXin Li    [m contains: [[NSMutableString alloc] init]];
135*67e74705SXin Li  }
136*67e74705SXin Li  [m addObject: [[NSString alloc] init]]; // expected-warning {{Conversion}}
137*67e74705SXin Li  [m addObject: [[NSMutableString alloc] init]];
138*67e74705SXin Li}
139*67e74705SXin Li
140*67e74705SXin Livoid verifyAPIusage(id a, MutableArray<NSString *> *b) {
141*67e74705SXin Li  b = a;
142*67e74705SXin Li  doStuff(a); // expected-warning {{Conversion}}
143*67e74705SXin Li}
144*67e74705SXin Li
145*67e74705SXin Livoid trustExplicitCasts(MutableArray *a,
146*67e74705SXin Li                        MutableArray<NSMutableString *> *b) {
147*67e74705SXin Li  b = (MutableArray<NSMutableString *> *)a;
148*67e74705SXin Li  [a addObject: [[NSString alloc] init]]; // expected-warning {{Conversion}}
149*67e74705SXin Li}
150*67e74705SXin Li
151*67e74705SXin Livoid subtypeOfGeneric(id d, MyMutableStringArray *a,
152*67e74705SXin Li                       MutableArray<NSString *> *b,
153*67e74705SXin Li                       MutableArray<NSNumber *> *c) {
154*67e74705SXin Li  d = a;
155*67e74705SXin Li  b = d;
156*67e74705SXin Li  c = d; // expected-warning {{Conversion}}
157*67e74705SXin Li}
158*67e74705SXin Li
159*67e74705SXin Livoid genericSubtypeOfGeneric(id d, ExceptionalArray<NSString *> *a,
160*67e74705SXin Li                             MutableArray<NSString *> *b,
161*67e74705SXin Li                             MutableArray<NSNumber *> *c) {
162*67e74705SXin Li  d = a;
163*67e74705SXin Li  [d contains: [[NSString alloc] init]];
164*67e74705SXin Li  [d contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
165*67e74705SXin Li  b = d;
166*67e74705SXin Li  c = d; // expected-warning {{Conversion}}
167*67e74705SXin Li}
168*67e74705SXin Li
169*67e74705SXin Livoid genericSubtypeOfGenericReverse(id d, ExceptionalArray<NSString *> *a,
170*67e74705SXin Li                                    MutableArray<NSString *> *b,
171*67e74705SXin Li                                    MutableArray<NSNumber *> *c) {
172*67e74705SXin Li  a = d;
173*67e74705SXin Li  [d contains: [[NSString alloc] init]];
174*67e74705SXin Li  [d contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
175*67e74705SXin Li  b = d;
176*67e74705SXin Li  c = d; // expected-warning {{Conversion}}
177*67e74705SXin Li}
178*67e74705SXin Li
179*67e74705SXin Livoid inferenceFromAPI(id a) {
180*67e74705SXin Li  // Here the type parameter is invariant. There should be a warning every time
181*67e74705SXin Li  // when the type parameter changes during the conversions.
182*67e74705SXin Li  withMutArrString(a);
183*67e74705SXin Li  withMutArrMutableString(a); // expected-warning {{Conversion}}
184*67e74705SXin Li}
185*67e74705SXin Li
186*67e74705SXin Livoid inferenceFromAPI2(id a) {
187*67e74705SXin Li  withMutArrMutableString(a);
188*67e74705SXin Li  withMutArrString(a); // expected-warning {{Conversion}}
189*67e74705SXin Li}
190*67e74705SXin Li
191*67e74705SXin Livoid inferenceFromAPIWithLegacyTypes(LegacyMutableArray *a) {
192*67e74705SXin Li  withMutArrMutableString(a);
193*67e74705SXin Li  withMutArrString(a); // expected-warning {{Conversion}}
194*67e74705SXin Li}
195*67e74705SXin Li
196*67e74705SXin Livoid inferenceFromAPIWithLegacyTypes2(LegacySpecialMutableArray *a) {
197*67e74705SXin Li  withMutArrString(a);
198*67e74705SXin Li  withMutArrMutableString(a); // expected-warning {{Conversion}}
199*67e74705SXin Li}
200*67e74705SXin Li
201*67e74705SXin Livoid inferenceFromAPIWithLegacyTypes3(__kindof NSArray<NSString *> *a) {
202*67e74705SXin Li  LegacyMutableArray *b = a;
203*67e74705SXin Li  withMutArrString(b);
204*67e74705SXin Li  withMutArrMutableString(b); // expected-warning {{Conversion}}
205*67e74705SXin Li}
206*67e74705SXin Li
207*67e74705SXin Livoid inferenceFromAPIWithBuggyTypes(BuggyMutableArray<NSMutableString *> *a) {
208*67e74705SXin Li  withMutArrString(a);
209*67e74705SXin Li  withMutArrMutableString(a); // expected-warning {{Conversion}}
210*67e74705SXin Li}
211*67e74705SXin Li
212*67e74705SXin Livoid InferenceFromAPIWithBuggyTypes2(BuggySpecialMutableArray<NSMutableString *> *a) {
213*67e74705SXin Li  withMutArrMutableString(a);
214*67e74705SXin Li  withMutArrString(a); // expected-warning {{Conversion}}
215*67e74705SXin Li}
216*67e74705SXin Li
217*67e74705SXin Livoid InferenceFromAPIWithBuggyTypes3(MutableArray<NSMutableString *> *a) {
218*67e74705SXin Li  id b = a;
219*67e74705SXin Li  withMutArrMutableString((BuggyMutableArray<NSMutableString *> *)b);
220*67e74705SXin Li  withMutArrString(b); // expected-warning {{Conversion}}
221*67e74705SXin Li}
222*67e74705SXin Li
223*67e74705SXin Livoid InferenceFromAPIWithBuggyTypes4(__kindof NSArray<NSString *> *a) {
224*67e74705SXin Li  BuggyMutableArray<NSMutableString *> *b = a;
225*67e74705SXin Li  withMutArrString(b);
226*67e74705SXin Li  withMutArrMutableString(b); // expected-warning {{Conversion}}
227*67e74705SXin Li}
228*67e74705SXin Li
229*67e74705SXin LiNSArray<NSString *> *getStrings();
230*67e74705SXin Livoid enforceDynamicRulesInsteadOfStatic(NSArray<NSNumber *> *a) {
231*67e74705SXin Li  NSArray *b = a;
232*67e74705SXin Li  // Valid uses of NSArray of NSNumbers.
233*67e74705SXin Li  b = getStrings();
234*67e74705SXin Li  // Valid uses of NSArray of NSStrings.
235*67e74705SXin Li}
236*67e74705SXin Li
237*67e74705SXin Livoid workWithProperties(NSArray<NSNumber *> *a) {
238*67e74705SXin Li  NSArray *b = a;
239*67e74705SXin Li  NSString *str = [b getObjAtIndex: 0]; // expected-warning {{Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'}}
240*67e74705SXin Li  NSNumber *num = [b getObjAtIndex: 0];
241*67e74705SXin Li  str = [b firstObject]; // expected-warning {{Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'}}
242*67e74705SXin Li  num = [b firstObject];
243*67e74705SXin Li  str = b.firstObject; // expected-warning {{Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'}}
244*67e74705SXin Li  num = b.firstObject;
245*67e74705SXin Li  str = b[0]; // expected-warning {{Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'}}
246*67e74705SXin Li  num = b[0];
247*67e74705SXin Li}
248*67e74705SXin Li
249*67e74705SXin Livoid findMethodDeclInTrackedType(id m, NSArray<NSMutableString *> *a,
250*67e74705SXin Li                                 MutableArray<NSMutableString *> *b) {
251*67e74705SXin Li  a = b;
252*67e74705SXin Li  if (getUnknown() == 5) {
253*67e74705SXin Li    m = a;
254*67e74705SXin Li    [m addObject: [[NSString alloc] init]]; // expected-warning {{Conversion}}
255*67e74705SXin Li  } else {
256*67e74705SXin Li    m = b;
257*67e74705SXin Li    [m addObject: [[NSMutableString alloc] init]];
258*67e74705SXin Li  }
259*67e74705SXin Li}
260*67e74705SXin Li
261*67e74705SXin Livoid findMethodDeclInTrackedType2(__kindof NSArray<NSString *> *a,
262*67e74705SXin Li                                  MutableArray<NSMutableString *> *b) {
263*67e74705SXin Li  a = b;
264*67e74705SXin Li  if (getUnknown() == 5) {
265*67e74705SXin Li    [a addObject: [[NSString alloc] init]]; // expected-warning {{Conversion}}
266*67e74705SXin Li  } else {
267*67e74705SXin Li    [a addObject: [[NSMutableString alloc] init]];
268*67e74705SXin Li  }
269*67e74705SXin Li}
270*67e74705SXin Li
271*67e74705SXin Livoid testUnannotatedLiterals() {
272*67e74705SXin Li  // ObjCArrayLiterals are not specialized in the AST.
273*67e74705SXin Li  NSArray *arr = @[@"A", @"B"];
274*67e74705SXin Li  [arr contains: [[NSNumber alloc] init]];
275*67e74705SXin Li}
276*67e74705SXin Li
277*67e74705SXin Livoid testAnnotatedLiterals() {
278*67e74705SXin Li  NSArray<NSString *> *arr = @[@"A", @"B"];
279*67e74705SXin Li  NSArray *arr2 = arr;
280*67e74705SXin Li  [arr2 contains: [[NSNumber alloc] init]]; // expected-warning {{Conversion}}
281*67e74705SXin Li}
282*67e74705SXin Li
283*67e74705SXin Livoid nonExistentMethodDoesNotCrash(id a, MutableArray<NSMutableString *> *b) {
284*67e74705SXin Li  a = b;
285*67e74705SXin Li  [a nonExistentMethod];
286*67e74705SXin Li}
287*67e74705SXin Li
288*67e74705SXin Livoid trackedClassVariables() {
289*67e74705SXin Li  Class c = [NSArray<NSString *> class];
290*67e74705SXin Li  NSArray<NSNumber *> *a = [c getEmpty]; // expected-warning {{Conversion}}
291*67e74705SXin Li  a = [c getEmpty2]; // expected-warning {{Conversion}}
292*67e74705SXin Li}
293*67e74705SXin Li
294*67e74705SXin Livoid nestedCollections(NSArray<NSArray<NSNumber *> *> *mat, NSArray<NSString *> *row) {
295*67e74705SXin Li  id temp = row;
296*67e74705SXin Li  [mat contains: temp]; // expected-warning {{Conversion}}
297*67e74705SXin Li}
298*67e74705SXin Li
299*67e74705SXin Livoid testMistmatchedTypeCast(MutableArray<NSMutableString *> *a) {
300*67e74705SXin Li  MutableArray *b = (MutableArray<NSNumber *> *)a;
301*67e74705SXin Li  [b addObject: [[NSNumber alloc] init]];
302*67e74705SXin Li  id c = (UnrelatedType *)a;
303*67e74705SXin Li  [c addObject: [[NSNumber alloc] init]];
304*67e74705SXin Li  [c addObject: [[NSString alloc] init]];
305*67e74705SXin Li}
306*67e74705SXin Li
307*67e74705SXin Livoid returnCollectionToIdVariable(NSArray<NSArray<NSString *> *> *arr) {
308*67e74705SXin Li  NSArray *erased = arr;
309*67e74705SXin Li  id a = [erased firstObject];
310*67e74705SXin Li  NSArray<NSNumber *> *res = a; // expected-warning {{Conversion}}
311*67e74705SXin Li}
312*67e74705SXin Li
313*67e74705SXin Livoid eraseSpecialization(NSArray<NSArray<NSString *> *> *arr) {
314*67e74705SXin Li  NSArray *erased = arr;
315*67e74705SXin Li  NSArray* a = [erased firstObject];
316*67e74705SXin Li  NSArray<NSNumber *> *res = a; // expected-warning {{Conversion}}
317*67e74705SXin Li}
318*67e74705SXin Li
319*67e74705SXin Livoid returnToUnrelatedType(NSArray<NSArray<NSString *> *> *arr) {
320*67e74705SXin Li  NSArray *erased = arr;
321*67e74705SXin Li  NSSet* a = [erased firstObject]; // expected-warning {{Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *'}}
322*67e74705SXin Li  (void)a;
323*67e74705SXin Li}
324*67e74705SXin Li
325*67e74705SXin Livoid returnToIdVariable(NSArray<NSString *> *arr) {
326*67e74705SXin Li  NSArray *erased = arr;
327*67e74705SXin Li  id a = [erased firstObject];
328*67e74705SXin Li  NSNumber *res = a; // expected-warning {{Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *'}}
329*67e74705SXin Li}
330*67e74705SXin Li
331*67e74705SXin Li@interface UnrelatedTypeGeneric<T> : NSObject<NSCopying>
332*67e74705SXin Li- (void)takesType:(T)v;
333*67e74705SXin Li@end
334*67e74705SXin Li
335*67e74705SXin Livoid testGetMostInformativeDerivedForId(NSArray<NSString *> *a,
336*67e74705SXin Li                                  UnrelatedTypeGeneric<NSString *> *b) {
337*67e74705SXin Li  id idB = b;
338*67e74705SXin Li  a = idB; // expected-warning {{Conversion from value of type 'UnrelatedTypeGeneric<NSString *> *' to incompatible type 'NSArray<NSString *> *'}}
339*67e74705SXin Li
340*67e74705SXin Li  // rdar://problem/26086914 crash here caused by symbolic type being unrelated
341*67e74705SXin Li  // to compile-time source type of cast.
342*67e74705SXin Li  id x = a; // Compile-time type is NSArray<>, Symbolic type is UnrelatedTypeGeneric<>.
343*67e74705SXin Li  [x takesType:[[NSNumber alloc] init]]; // expected-warning {{Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'}}
344*67e74705SXin Li}
345*67e74705SXin Li
346*67e74705SXin Li// CHECK: <key>diagnostics</key>
347*67e74705SXin Li// CHECK-NEXT: <array>
348*67e74705SXin Li// CHECK-NEXT:  <dict>
349*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
350*67e74705SXin Li// CHECK-NEXT:   <array>
351*67e74705SXin Li// CHECK-NEXT:    <dict>
352*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
353*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
354*67e74705SXin Li// CHECK-NEXT:     <dict>
355*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>92</integer>
356*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
357*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
358*67e74705SXin Li// CHECK-NEXT:     </dict>
359*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
360*67e74705SXin Li// CHECK-NEXT:     <array>
361*67e74705SXin Li// CHECK-NEXT:       <array>
362*67e74705SXin Li// CHECK-NEXT:        <dict>
363*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
364*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
365*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
366*67e74705SXin Li// CHECK-NEXT:        </dict>
367*67e74705SXin Li// CHECK-NEXT:        <dict>
368*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
369*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
370*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
371*67e74705SXin Li// CHECK-NEXT:        </dict>
372*67e74705SXin Li// CHECK-NEXT:       </array>
373*67e74705SXin Li// CHECK-NEXT:     </array>
374*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
375*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
376*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
377*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
378*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
379*67e74705SXin Li// CHECK-NEXT:    </dict>
380*67e74705SXin Li// CHECK-NEXT:    <dict>
381*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
382*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
383*67e74705SXin Li// CHECK-NEXT:      <array>
384*67e74705SXin Li// CHECK-NEXT:       <dict>
385*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
386*67e74705SXin Li// CHECK-NEXT:         <array>
387*67e74705SXin Li// CHECK-NEXT:          <dict>
388*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
389*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
390*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
391*67e74705SXin Li// CHECK-NEXT:          </dict>
392*67e74705SXin Li// CHECK-NEXT:          <dict>
393*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
394*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
395*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
396*67e74705SXin Li// CHECK-NEXT:          </dict>
397*67e74705SXin Li// CHECK-NEXT:         </array>
398*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
399*67e74705SXin Li// CHECK-NEXT:         <array>
400*67e74705SXin Li// CHECK-NEXT:          <dict>
401*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
402*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
403*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
404*67e74705SXin Li// CHECK-NEXT:          </dict>
405*67e74705SXin Li// CHECK-NEXT:          <dict>
406*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
407*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
408*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
409*67e74705SXin Li// CHECK-NEXT:          </dict>
410*67e74705SXin Li// CHECK-NEXT:         </array>
411*67e74705SXin Li// CHECK-NEXT:       </dict>
412*67e74705SXin Li// CHECK-NEXT:      </array>
413*67e74705SXin Li// CHECK-NEXT:    </dict>
414*67e74705SXin Li// CHECK-NEXT:    <dict>
415*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
416*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
417*67e74705SXin Li// CHECK-NEXT:      <array>
418*67e74705SXin Li// CHECK-NEXT:       <dict>
419*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
420*67e74705SXin Li// CHECK-NEXT:         <array>
421*67e74705SXin Li// CHECK-NEXT:          <dict>
422*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
423*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
424*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
425*67e74705SXin Li// CHECK-NEXT:          </dict>
426*67e74705SXin Li// CHECK-NEXT:          <dict>
427*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
428*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
429*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
430*67e74705SXin Li// CHECK-NEXT:          </dict>
431*67e74705SXin Li// CHECK-NEXT:         </array>
432*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
433*67e74705SXin Li// CHECK-NEXT:         <array>
434*67e74705SXin Li// CHECK-NEXT:          <dict>
435*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
436*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
437*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
438*67e74705SXin Li// CHECK-NEXT:          </dict>
439*67e74705SXin Li// CHECK-NEXT:          <dict>
440*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>93</integer>
441*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
442*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
443*67e74705SXin Li// CHECK-NEXT:          </dict>
444*67e74705SXin Li// CHECK-NEXT:         </array>
445*67e74705SXin Li// CHECK-NEXT:       </dict>
446*67e74705SXin Li// CHECK-NEXT:      </array>
447*67e74705SXin Li// CHECK-NEXT:    </dict>
448*67e74705SXin Li// CHECK-NEXT:    <dict>
449*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
450*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
451*67e74705SXin Li// CHECK-NEXT:     <dict>
452*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>93</integer>
453*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
454*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
455*67e74705SXin Li// CHECK-NEXT:     </dict>
456*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
457*67e74705SXin Li// CHECK-NEXT:     <array>
458*67e74705SXin Li// CHECK-NEXT:       <array>
459*67e74705SXin Li// CHECK-NEXT:        <dict>
460*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>93</integer>
461*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
462*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
463*67e74705SXin Li// CHECK-NEXT:        </dict>
464*67e74705SXin Li// CHECK-NEXT:        <dict>
465*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>93</integer>
466*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
467*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
468*67e74705SXin Li// CHECK-NEXT:        </dict>
469*67e74705SXin Li// CHECK-NEXT:       </array>
470*67e74705SXin Li// CHECK-NEXT:     </array>
471*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
472*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
473*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
474*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
475*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
476*67e74705SXin Li// CHECK-NEXT:    </dict>
477*67e74705SXin Li// CHECK-NEXT:   </array>
478*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
479*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
480*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
481*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
482*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
483*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>9632a21d129601d531e0b4585a27c686</string>
484*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
485*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>incompatibleTypesErased</string>
486*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
487*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
488*67e74705SXin Li// CHECK-NEXT:  <dict>
489*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>93</integer>
490*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
491*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
492*67e74705SXin Li// CHECK-NEXT:  </dict>
493*67e74705SXin Li// CHECK-NEXT:  </dict>
494*67e74705SXin Li// CHECK-NEXT:  <dict>
495*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
496*67e74705SXin Li// CHECK-NEXT:   <array>
497*67e74705SXin Li// CHECK-NEXT:    <dict>
498*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
499*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
500*67e74705SXin Li// CHECK-NEXT:     <dict>
501*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>92</integer>
502*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
503*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
504*67e74705SXin Li// CHECK-NEXT:     </dict>
505*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
506*67e74705SXin Li// CHECK-NEXT:     <array>
507*67e74705SXin Li// CHECK-NEXT:       <array>
508*67e74705SXin Li// CHECK-NEXT:        <dict>
509*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
510*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
511*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
512*67e74705SXin Li// CHECK-NEXT:        </dict>
513*67e74705SXin Li// CHECK-NEXT:        <dict>
514*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
515*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
516*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
517*67e74705SXin Li// CHECK-NEXT:        </dict>
518*67e74705SXin Li// CHECK-NEXT:       </array>
519*67e74705SXin Li// CHECK-NEXT:     </array>
520*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
521*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
522*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
523*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
524*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
525*67e74705SXin Li// CHECK-NEXT:    </dict>
526*67e74705SXin Li// CHECK-NEXT:    <dict>
527*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
528*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
529*67e74705SXin Li// CHECK-NEXT:      <array>
530*67e74705SXin Li// CHECK-NEXT:       <dict>
531*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
532*67e74705SXin Li// CHECK-NEXT:         <array>
533*67e74705SXin Li// CHECK-NEXT:          <dict>
534*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
535*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
536*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
537*67e74705SXin Li// CHECK-NEXT:          </dict>
538*67e74705SXin Li// CHECK-NEXT:          <dict>
539*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
540*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
541*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
542*67e74705SXin Li// CHECK-NEXT:          </dict>
543*67e74705SXin Li// CHECK-NEXT:         </array>
544*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
545*67e74705SXin Li// CHECK-NEXT:         <array>
546*67e74705SXin Li// CHECK-NEXT:          <dict>
547*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>94</integer>
548*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
549*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
550*67e74705SXin Li// CHECK-NEXT:          </dict>
551*67e74705SXin Li// CHECK-NEXT:          <dict>
552*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>94</integer>
553*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
554*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
555*67e74705SXin Li// CHECK-NEXT:          </dict>
556*67e74705SXin Li// CHECK-NEXT:         </array>
557*67e74705SXin Li// CHECK-NEXT:       </dict>
558*67e74705SXin Li// CHECK-NEXT:      </array>
559*67e74705SXin Li// CHECK-NEXT:    </dict>
560*67e74705SXin Li// CHECK-NEXT:    <dict>
561*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
562*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
563*67e74705SXin Li// CHECK-NEXT:     <dict>
564*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>94</integer>
565*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
566*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
567*67e74705SXin Li// CHECK-NEXT:     </dict>
568*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
569*67e74705SXin Li// CHECK-NEXT:     <array>
570*67e74705SXin Li// CHECK-NEXT:       <array>
571*67e74705SXin Li// CHECK-NEXT:        <dict>
572*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>94</integer>
573*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
574*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
575*67e74705SXin Li// CHECK-NEXT:        </dict>
576*67e74705SXin Li// CHECK-NEXT:        <dict>
577*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>94</integer>
578*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
579*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
580*67e74705SXin Li// CHECK-NEXT:        </dict>
581*67e74705SXin Li// CHECK-NEXT:       </array>
582*67e74705SXin Li// CHECK-NEXT:     </array>
583*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
584*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
585*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
586*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
587*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
588*67e74705SXin Li// CHECK-NEXT:    </dict>
589*67e74705SXin Li// CHECK-NEXT:   </array>
590*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
591*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
592*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
593*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
594*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
595*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>3c9499ea9f5adc148d5c4b684e3dcc5a</string>
596*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
597*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>incompatibleTypesErased</string>
598*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
599*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
600*67e74705SXin Li// CHECK-NEXT:  <dict>
601*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>94</integer>
602*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
603*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
604*67e74705SXin Li// CHECK-NEXT:  </dict>
605*67e74705SXin Li// CHECK-NEXT:  </dict>
606*67e74705SXin Li// CHECK-NEXT:  <dict>
607*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
608*67e74705SXin Li// CHECK-NEXT:   <array>
609*67e74705SXin Li// CHECK-NEXT:    <dict>
610*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
611*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
612*67e74705SXin Li// CHECK-NEXT:     <dict>
613*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>92</integer>
614*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
615*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
616*67e74705SXin Li// CHECK-NEXT:     </dict>
617*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
618*67e74705SXin Li// CHECK-NEXT:     <array>
619*67e74705SXin Li// CHECK-NEXT:       <array>
620*67e74705SXin Li// CHECK-NEXT:        <dict>
621*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
622*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
623*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
624*67e74705SXin Li// CHECK-NEXT:        </dict>
625*67e74705SXin Li// CHECK-NEXT:        <dict>
626*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>92</integer>
627*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
628*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
629*67e74705SXin Li// CHECK-NEXT:        </dict>
630*67e74705SXin Li// CHECK-NEXT:       </array>
631*67e74705SXin Li// CHECK-NEXT:     </array>
632*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
633*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
634*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
635*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
636*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;NSArray *&apos;)</string>
637*67e74705SXin Li// CHECK-NEXT:    </dict>
638*67e74705SXin Li// CHECK-NEXT:    <dict>
639*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
640*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
641*67e74705SXin Li// CHECK-NEXT:      <array>
642*67e74705SXin Li// CHECK-NEXT:       <dict>
643*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
644*67e74705SXin Li// CHECK-NEXT:         <array>
645*67e74705SXin Li// CHECK-NEXT:          <dict>
646*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
647*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
648*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
649*67e74705SXin Li// CHECK-NEXT:          </dict>
650*67e74705SXin Li// CHECK-NEXT:          <dict>
651*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>92</integer>
652*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
653*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
654*67e74705SXin Li// CHECK-NEXT:          </dict>
655*67e74705SXin Li// CHECK-NEXT:         </array>
656*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
657*67e74705SXin Li// CHECK-NEXT:         <array>
658*67e74705SXin Li// CHECK-NEXT:          <dict>
659*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
660*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
661*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
662*67e74705SXin Li// CHECK-NEXT:          </dict>
663*67e74705SXin Li// CHECK-NEXT:          <dict>
664*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
665*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
666*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
667*67e74705SXin Li// CHECK-NEXT:          </dict>
668*67e74705SXin Li// CHECK-NEXT:         </array>
669*67e74705SXin Li// CHECK-NEXT:       </dict>
670*67e74705SXin Li// CHECK-NEXT:      </array>
671*67e74705SXin Li// CHECK-NEXT:    </dict>
672*67e74705SXin Li// CHECK-NEXT:    <dict>
673*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
674*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
675*67e74705SXin Li// CHECK-NEXT:      <array>
676*67e74705SXin Li// CHECK-NEXT:       <dict>
677*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
678*67e74705SXin Li// CHECK-NEXT:         <array>
679*67e74705SXin Li// CHECK-NEXT:          <dict>
680*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
681*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
682*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
683*67e74705SXin Li// CHECK-NEXT:          </dict>
684*67e74705SXin Li// CHECK-NEXT:          <dict>
685*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
686*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
687*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
688*67e74705SXin Li// CHECK-NEXT:          </dict>
689*67e74705SXin Li// CHECK-NEXT:         </array>
690*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
691*67e74705SXin Li// CHECK-NEXT:         <array>
692*67e74705SXin Li// CHECK-NEXT:          <dict>
693*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
694*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
695*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
696*67e74705SXin Li// CHECK-NEXT:          </dict>
697*67e74705SXin Li// CHECK-NEXT:          <dict>
698*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>96</integer>
699*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
700*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
701*67e74705SXin Li// CHECK-NEXT:          </dict>
702*67e74705SXin Li// CHECK-NEXT:         </array>
703*67e74705SXin Li// CHECK-NEXT:       </dict>
704*67e74705SXin Li// CHECK-NEXT:      </array>
705*67e74705SXin Li// CHECK-NEXT:    </dict>
706*67e74705SXin Li// CHECK-NEXT:    <dict>
707*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
708*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
709*67e74705SXin Li// CHECK-NEXT:     <dict>
710*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>96</integer>
711*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
712*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
713*67e74705SXin Li// CHECK-NEXT:     </dict>
714*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
715*67e74705SXin Li// CHECK-NEXT:     <array>
716*67e74705SXin Li// CHECK-NEXT:       <array>
717*67e74705SXin Li// CHECK-NEXT:        <dict>
718*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>96</integer>
719*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
720*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
721*67e74705SXin Li// CHECK-NEXT:        </dict>
722*67e74705SXin Li// CHECK-NEXT:        <dict>
723*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>96</integer>
724*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
725*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
726*67e74705SXin Li// CHECK-NEXT:        </dict>
727*67e74705SXin Li// CHECK-NEXT:       </array>
728*67e74705SXin Li// CHECK-NEXT:     </array>
729*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
730*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
731*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
732*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
733*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
734*67e74705SXin Li// CHECK-NEXT:    </dict>
735*67e74705SXin Li// CHECK-NEXT:   </array>
736*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
737*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
738*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
739*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
740*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
741*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>1d8497465a98d7cc2067a916e217d5bc</string>
742*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
743*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>incompatibleTypesErased</string>
744*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>5</string>
745*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
746*67e74705SXin Li// CHECK-NEXT:  <dict>
747*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>96</integer>
748*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>11</integer>
749*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
750*67e74705SXin Li// CHECK-NEXT:  </dict>
751*67e74705SXin Li// CHECK-NEXT:  </dict>
752*67e74705SXin Li// CHECK-NEXT:  <dict>
753*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
754*67e74705SXin Li// CHECK-NEXT:   <array>
755*67e74705SXin Li// CHECK-NEXT:    <dict>
756*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
757*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
758*67e74705SXin Li// CHECK-NEXT:      <array>
759*67e74705SXin Li// CHECK-NEXT:       <dict>
760*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
761*67e74705SXin Li// CHECK-NEXT:         <array>
762*67e74705SXin Li// CHECK-NEXT:          <dict>
763*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>100</integer>
764*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
765*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
766*67e74705SXin Li// CHECK-NEXT:          </dict>
767*67e74705SXin Li// CHECK-NEXT:          <dict>
768*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>100</integer>
769*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
770*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
771*67e74705SXin Li// CHECK-NEXT:          </dict>
772*67e74705SXin Li// CHECK-NEXT:         </array>
773*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
774*67e74705SXin Li// CHECK-NEXT:         <array>
775*67e74705SXin Li// CHECK-NEXT:          <dict>
776*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>100</integer>
777*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>28</integer>
778*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
779*67e74705SXin Li// CHECK-NEXT:          </dict>
780*67e74705SXin Li// CHECK-NEXT:          <dict>
781*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>100</integer>
782*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>40</integer>
783*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
784*67e74705SXin Li// CHECK-NEXT:          </dict>
785*67e74705SXin Li// CHECK-NEXT:         </array>
786*67e74705SXin Li// CHECK-NEXT:       </dict>
787*67e74705SXin Li// CHECK-NEXT:      </array>
788*67e74705SXin Li// CHECK-NEXT:    </dict>
789*67e74705SXin Li// CHECK-NEXT:    <dict>
790*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
791*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
792*67e74705SXin Li// CHECK-NEXT:     <dict>
793*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>100</integer>
794*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
795*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
796*67e74705SXin Li// CHECK-NEXT:     </dict>
797*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
798*67e74705SXin Li// CHECK-NEXT:     <array>
799*67e74705SXin Li// CHECK-NEXT:       <array>
800*67e74705SXin Li// CHECK-NEXT:        <dict>
801*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
802*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
803*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
804*67e74705SXin Li// CHECK-NEXT:        </dict>
805*67e74705SXin Li// CHECK-NEXT:        <dict>
806*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
807*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>42</integer>
808*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
809*67e74705SXin Li// CHECK-NEXT:        </dict>
810*67e74705SXin Li// CHECK-NEXT:       </array>
811*67e74705SXin Li// CHECK-NEXT:     </array>
812*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
813*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
814*67e74705SXin Li// CHECK-NEXT:     <string>Calling &apos;getTypedStuff&apos;</string>
815*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
816*67e74705SXin Li// CHECK-NEXT:     <string>Calling &apos;getTypedStuff&apos;</string>
817*67e74705SXin Li// CHECK-NEXT:    </dict>
818*67e74705SXin Li// CHECK-NEXT:    <dict>
819*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
820*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
821*67e74705SXin Li// CHECK-NEXT:     <dict>
822*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>79</integer>
823*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>1</integer>
824*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
825*67e74705SXin Li// CHECK-NEXT:     </dict>
826*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>1</integer>
827*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
828*67e74705SXin Li// CHECK-NEXT:     <string>Entered call from &apos;crossProceduralErasedTypes&apos;</string>
829*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
830*67e74705SXin Li// CHECK-NEXT:     <string>Entered call from &apos;crossProceduralErasedTypes&apos;</string>
831*67e74705SXin Li// CHECK-NEXT:    </dict>
832*67e74705SXin Li// CHECK-NEXT:    <dict>
833*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
834*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
835*67e74705SXin Li// CHECK-NEXT:      <array>
836*67e74705SXin Li// CHECK-NEXT:       <dict>
837*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
838*67e74705SXin Li// CHECK-NEXT:         <array>
839*67e74705SXin Li// CHECK-NEXT:          <dict>
840*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>79</integer>
841*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>1</integer>
842*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
843*67e74705SXin Li// CHECK-NEXT:          </dict>
844*67e74705SXin Li// CHECK-NEXT:          <dict>
845*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>79</integer>
846*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
847*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
848*67e74705SXin Li// CHECK-NEXT:          </dict>
849*67e74705SXin Li// CHECK-NEXT:         </array>
850*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
851*67e74705SXin Li// CHECK-NEXT:         <array>
852*67e74705SXin Li// CHECK-NEXT:          <dict>
853*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>80</integer>
854*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
855*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
856*67e74705SXin Li// CHECK-NEXT:          </dict>
857*67e74705SXin Li// CHECK-NEXT:          <dict>
858*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>80</integer>
859*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
860*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
861*67e74705SXin Li// CHECK-NEXT:          </dict>
862*67e74705SXin Li// CHECK-NEXT:         </array>
863*67e74705SXin Li// CHECK-NEXT:       </dict>
864*67e74705SXin Li// CHECK-NEXT:      </array>
865*67e74705SXin Li// CHECK-NEXT:    </dict>
866*67e74705SXin Li// CHECK-NEXT:    <dict>
867*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
868*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
869*67e74705SXin Li// CHECK-NEXT:     <dict>
870*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>80</integer>
871*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
872*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
873*67e74705SXin Li// CHECK-NEXT:     </dict>
874*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
875*67e74705SXin Li// CHECK-NEXT:     <array>
876*67e74705SXin Li// CHECK-NEXT:       <array>
877*67e74705SXin Li// CHECK-NEXT:        <dict>
878*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>80</integer>
879*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
880*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
881*67e74705SXin Li// CHECK-NEXT:        </dict>
882*67e74705SXin Li// CHECK-NEXT:        <dict>
883*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>80</integer>
884*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>37</integer>
885*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
886*67e74705SXin Li// CHECK-NEXT:        </dict>
887*67e74705SXin Li// CHECK-NEXT:       </array>
888*67e74705SXin Li// CHECK-NEXT:     </array>
889*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>1</integer>
890*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
891*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSNumber *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSNumber *&gt; *&apos;)</string>
892*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
893*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSNumber *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSNumber *&gt; *&apos;)</string>
894*67e74705SXin Li// CHECK-NEXT:    </dict>
895*67e74705SXin Li// CHECK-NEXT:    <dict>
896*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
897*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
898*67e74705SXin Li// CHECK-NEXT:      <array>
899*67e74705SXin Li// CHECK-NEXT:       <dict>
900*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
901*67e74705SXin Li// CHECK-NEXT:         <array>
902*67e74705SXin Li// CHECK-NEXT:          <dict>
903*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>80</integer>
904*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
905*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
906*67e74705SXin Li// CHECK-NEXT:          </dict>
907*67e74705SXin Li// CHECK-NEXT:          <dict>
908*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>80</integer>
909*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
910*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
911*67e74705SXin Li// CHECK-NEXT:          </dict>
912*67e74705SXin Li// CHECK-NEXT:         </array>
913*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
914*67e74705SXin Li// CHECK-NEXT:         <array>
915*67e74705SXin Li// CHECK-NEXT:          <dict>
916*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>81</integer>
917*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
918*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
919*67e74705SXin Li// CHECK-NEXT:          </dict>
920*67e74705SXin Li// CHECK-NEXT:          <dict>
921*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>81</integer>
922*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>8</integer>
923*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
924*67e74705SXin Li// CHECK-NEXT:          </dict>
925*67e74705SXin Li// CHECK-NEXT:         </array>
926*67e74705SXin Li// CHECK-NEXT:       </dict>
927*67e74705SXin Li// CHECK-NEXT:      </array>
928*67e74705SXin Li// CHECK-NEXT:    </dict>
929*67e74705SXin Li// CHECK-NEXT:    <dict>
930*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
931*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
932*67e74705SXin Li// CHECK-NEXT:     <dict>
933*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>100</integer>
934*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
935*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
936*67e74705SXin Li// CHECK-NEXT:     </dict>
937*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
938*67e74705SXin Li// CHECK-NEXT:     <array>
939*67e74705SXin Li// CHECK-NEXT:       <array>
940*67e74705SXin Li// CHECK-NEXT:        <dict>
941*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
942*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
943*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
944*67e74705SXin Li// CHECK-NEXT:        </dict>
945*67e74705SXin Li// CHECK-NEXT:        <dict>
946*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
947*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>42</integer>
948*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
949*67e74705SXin Li// CHECK-NEXT:        </dict>
950*67e74705SXin Li// CHECK-NEXT:       </array>
951*67e74705SXin Li// CHECK-NEXT:     </array>
952*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
953*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
954*67e74705SXin Li// CHECK-NEXT:     <string>Returning from &apos;getTypedStuff&apos;</string>
955*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
956*67e74705SXin Li// CHECK-NEXT:     <string>Returning from &apos;getTypedStuff&apos;</string>
957*67e74705SXin Li// CHECK-NEXT:    </dict>
958*67e74705SXin Li// CHECK-NEXT:    <dict>
959*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
960*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
961*67e74705SXin Li// CHECK-NEXT:     <dict>
962*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>100</integer>
963*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
964*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
965*67e74705SXin Li// CHECK-NEXT:     </dict>
966*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
967*67e74705SXin Li// CHECK-NEXT:     <array>
968*67e74705SXin Li// CHECK-NEXT:       <array>
969*67e74705SXin Li// CHECK-NEXT:        <dict>
970*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
971*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
972*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
973*67e74705SXin Li// CHECK-NEXT:        </dict>
974*67e74705SXin Li// CHECK-NEXT:        <dict>
975*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>100</integer>
976*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>42</integer>
977*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
978*67e74705SXin Li// CHECK-NEXT:        </dict>
979*67e74705SXin Li// CHECK-NEXT:       </array>
980*67e74705SXin Li// CHECK-NEXT:     </array>
981*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
982*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
983*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSNumber *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
984*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
985*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSNumber *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
986*67e74705SXin Li// CHECK-NEXT:    </dict>
987*67e74705SXin Li// CHECK-NEXT:   </array>
988*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSNumber *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
989*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
990*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
991*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
992*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
993*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>82c378fdcfcc5c0318d2f3ca46420ec1</string>
994*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
995*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>crossProceduralErasedTypes</string>
996*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
997*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
998*67e74705SXin Li// CHECK-NEXT:  <dict>
999*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>100</integer>
1000*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>28</integer>
1001*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1002*67e74705SXin Li// CHECK-NEXT:  </dict>
1003*67e74705SXin Li// CHECK-NEXT:  </dict>
1004*67e74705SXin Li// CHECK-NEXT:  <dict>
1005*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1006*67e74705SXin Li// CHECK-NEXT:   <array>
1007*67e74705SXin Li// CHECK-NEXT:    <dict>
1008*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1009*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1010*67e74705SXin Li// CHECK-NEXT:     <dict>
1011*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>105</integer>
1012*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1013*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1014*67e74705SXin Li// CHECK-NEXT:     </dict>
1015*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1016*67e74705SXin Li// CHECK-NEXT:     <array>
1017*67e74705SXin Li// CHECK-NEXT:       <array>
1018*67e74705SXin Li// CHECK-NEXT:        <dict>
1019*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>105</integer>
1020*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1021*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1022*67e74705SXin Li// CHECK-NEXT:        </dict>
1023*67e74705SXin Li// CHECK-NEXT:        <dict>
1024*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>105</integer>
1025*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1026*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1027*67e74705SXin Li// CHECK-NEXT:        </dict>
1028*67e74705SXin Li// CHECK-NEXT:       </array>
1029*67e74705SXin Li// CHECK-NEXT:     </array>
1030*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1031*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1032*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1033*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1034*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1035*67e74705SXin Li// CHECK-NEXT:    </dict>
1036*67e74705SXin Li// CHECK-NEXT:    <dict>
1037*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1038*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1039*67e74705SXin Li// CHECK-NEXT:      <array>
1040*67e74705SXin Li// CHECK-NEXT:       <dict>
1041*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1042*67e74705SXin Li// CHECK-NEXT:         <array>
1043*67e74705SXin Li// CHECK-NEXT:          <dict>
1044*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>105</integer>
1045*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1046*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1047*67e74705SXin Li// CHECK-NEXT:          </dict>
1048*67e74705SXin Li// CHECK-NEXT:          <dict>
1049*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>105</integer>
1050*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1051*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1052*67e74705SXin Li// CHECK-NEXT:          </dict>
1053*67e74705SXin Li// CHECK-NEXT:         </array>
1054*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1055*67e74705SXin Li// CHECK-NEXT:         <array>
1056*67e74705SXin Li// CHECK-NEXT:          <dict>
1057*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>106</integer>
1058*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1059*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1060*67e74705SXin Li// CHECK-NEXT:          </dict>
1061*67e74705SXin Li// CHECK-NEXT:          <dict>
1062*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>106</integer>
1063*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1064*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1065*67e74705SXin Li// CHECK-NEXT:          </dict>
1066*67e74705SXin Li// CHECK-NEXT:         </array>
1067*67e74705SXin Li// CHECK-NEXT:       </dict>
1068*67e74705SXin Li// CHECK-NEXT:      </array>
1069*67e74705SXin Li// CHECK-NEXT:    </dict>
1070*67e74705SXin Li// CHECK-NEXT:    <dict>
1071*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1072*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1073*67e74705SXin Li// CHECK-NEXT:     <dict>
1074*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>106</integer>
1075*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
1076*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1077*67e74705SXin Li// CHECK-NEXT:     </dict>
1078*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1079*67e74705SXin Li// CHECK-NEXT:     <array>
1080*67e74705SXin Li// CHECK-NEXT:       <array>
1081*67e74705SXin Li// CHECK-NEXT:        <dict>
1082*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>106</integer>
1083*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
1084*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1085*67e74705SXin Li// CHECK-NEXT:        </dict>
1086*67e74705SXin Li// CHECK-NEXT:        <dict>
1087*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>106</integer>
1088*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
1089*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1090*67e74705SXin Li// CHECK-NEXT:        </dict>
1091*67e74705SXin Li// CHECK-NEXT:       </array>
1092*67e74705SXin Li// CHECK-NEXT:     </array>
1093*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1094*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1095*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1096*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1097*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1098*67e74705SXin Li// CHECK-NEXT:    </dict>
1099*67e74705SXin Li// CHECK-NEXT:   </array>
1100*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1101*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1102*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1103*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1104*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1105*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>97a49604cb3d640307a104f14b6d950d</string>
1106*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1107*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>incompatibleTypesErasedReverseConversion</string>
1108*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
1109*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1110*67e74705SXin Li// CHECK-NEXT:  <dict>
1111*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>106</integer>
1112*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
1113*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1114*67e74705SXin Li// CHECK-NEXT:  </dict>
1115*67e74705SXin Li// CHECK-NEXT:  </dict>
1116*67e74705SXin Li// CHECK-NEXT:  <dict>
1117*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1118*67e74705SXin Li// CHECK-NEXT:   <array>
1119*67e74705SXin Li// CHECK-NEXT:    <dict>
1120*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1121*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1122*67e74705SXin Li// CHECK-NEXT:     <dict>
1123*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>105</integer>
1124*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1125*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1126*67e74705SXin Li// CHECK-NEXT:     </dict>
1127*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1128*67e74705SXin Li// CHECK-NEXT:     <array>
1129*67e74705SXin Li// CHECK-NEXT:       <array>
1130*67e74705SXin Li// CHECK-NEXT:        <dict>
1131*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>105</integer>
1132*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1133*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1134*67e74705SXin Li// CHECK-NEXT:        </dict>
1135*67e74705SXin Li// CHECK-NEXT:        <dict>
1136*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>105</integer>
1137*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1138*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1139*67e74705SXin Li// CHECK-NEXT:        </dict>
1140*67e74705SXin Li// CHECK-NEXT:       </array>
1141*67e74705SXin Li// CHECK-NEXT:     </array>
1142*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1143*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1144*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1145*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1146*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1147*67e74705SXin Li// CHECK-NEXT:    </dict>
1148*67e74705SXin Li// CHECK-NEXT:    <dict>
1149*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1150*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1151*67e74705SXin Li// CHECK-NEXT:      <array>
1152*67e74705SXin Li// CHECK-NEXT:       <dict>
1153*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1154*67e74705SXin Li// CHECK-NEXT:         <array>
1155*67e74705SXin Li// CHECK-NEXT:          <dict>
1156*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>105</integer>
1157*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1158*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1159*67e74705SXin Li// CHECK-NEXT:          </dict>
1160*67e74705SXin Li// CHECK-NEXT:          <dict>
1161*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>105</integer>
1162*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1163*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1164*67e74705SXin Li// CHECK-NEXT:          </dict>
1165*67e74705SXin Li// CHECK-NEXT:         </array>
1166*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1167*67e74705SXin Li// CHECK-NEXT:         <array>
1168*67e74705SXin Li// CHECK-NEXT:          <dict>
1169*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1170*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1171*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1172*67e74705SXin Li// CHECK-NEXT:          </dict>
1173*67e74705SXin Li// CHECK-NEXT:          <dict>
1174*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1175*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1176*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1177*67e74705SXin Li// CHECK-NEXT:          </dict>
1178*67e74705SXin Li// CHECK-NEXT:         </array>
1179*67e74705SXin Li// CHECK-NEXT:       </dict>
1180*67e74705SXin Li// CHECK-NEXT:      </array>
1181*67e74705SXin Li// CHECK-NEXT:    </dict>
1182*67e74705SXin Li// CHECK-NEXT:    <dict>
1183*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1184*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1185*67e74705SXin Li// CHECK-NEXT:      <array>
1186*67e74705SXin Li// CHECK-NEXT:       <dict>
1187*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1188*67e74705SXin Li// CHECK-NEXT:         <array>
1189*67e74705SXin Li// CHECK-NEXT:          <dict>
1190*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1191*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1192*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1193*67e74705SXin Li// CHECK-NEXT:          </dict>
1194*67e74705SXin Li// CHECK-NEXT:          <dict>
1195*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1196*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1197*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1198*67e74705SXin Li// CHECK-NEXT:          </dict>
1199*67e74705SXin Li// CHECK-NEXT:         </array>
1200*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1201*67e74705SXin Li// CHECK-NEXT:         <array>
1202*67e74705SXin Li// CHECK-NEXT:          <dict>
1203*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1204*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1205*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1206*67e74705SXin Li// CHECK-NEXT:          </dict>
1207*67e74705SXin Li// CHECK-NEXT:          <dict>
1208*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>108</integer>
1209*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1210*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1211*67e74705SXin Li// CHECK-NEXT:          </dict>
1212*67e74705SXin Li// CHECK-NEXT:         </array>
1213*67e74705SXin Li// CHECK-NEXT:       </dict>
1214*67e74705SXin Li// CHECK-NEXT:      </array>
1215*67e74705SXin Li// CHECK-NEXT:    </dict>
1216*67e74705SXin Li// CHECK-NEXT:    <dict>
1217*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1218*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1219*67e74705SXin Li// CHECK-NEXT:     <dict>
1220*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>108</integer>
1221*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
1222*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1223*67e74705SXin Li// CHECK-NEXT:     </dict>
1224*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1225*67e74705SXin Li// CHECK-NEXT:     <array>
1226*67e74705SXin Li// CHECK-NEXT:       <array>
1227*67e74705SXin Li// CHECK-NEXT:        <dict>
1228*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>108</integer>
1229*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1230*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1231*67e74705SXin Li// CHECK-NEXT:        </dict>
1232*67e74705SXin Li// CHECK-NEXT:        <dict>
1233*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>108</integer>
1234*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1235*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1236*67e74705SXin Li// CHECK-NEXT:        </dict>
1237*67e74705SXin Li// CHECK-NEXT:       </array>
1238*67e74705SXin Li// CHECK-NEXT:     </array>
1239*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1240*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1241*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1242*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1243*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1244*67e74705SXin Li// CHECK-NEXT:    </dict>
1245*67e74705SXin Li// CHECK-NEXT:   </array>
1246*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1247*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1248*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1249*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1250*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1251*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>b358a659d36c93a9fba593cf6d866a2b</string>
1252*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1253*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>incompatibleTypesErasedReverseConversion</string>
1254*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>4</string>
1255*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1256*67e74705SXin Li// CHECK-NEXT:  <dict>
1257*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>108</integer>
1258*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>11</integer>
1259*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1260*67e74705SXin Li// CHECK-NEXT:  </dict>
1261*67e74705SXin Li// CHECK-NEXT:  </dict>
1262*67e74705SXin Li// CHECK-NEXT:  <dict>
1263*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1264*67e74705SXin Li// CHECK-NEXT:   <array>
1265*67e74705SXin Li// CHECK-NEXT:    <dict>
1266*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1267*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1268*67e74705SXin Li// CHECK-NEXT:     <dict>
1269*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>112</integer>
1270*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1271*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1272*67e74705SXin Li// CHECK-NEXT:     </dict>
1273*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1274*67e74705SXin Li// CHECK-NEXT:     <array>
1275*67e74705SXin Li// CHECK-NEXT:       <array>
1276*67e74705SXin Li// CHECK-NEXT:        <dict>
1277*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>112</integer>
1278*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1279*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1280*67e74705SXin Li// CHECK-NEXT:        </dict>
1281*67e74705SXin Li// CHECK-NEXT:        <dict>
1282*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>112</integer>
1283*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1284*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1285*67e74705SXin Li// CHECK-NEXT:        </dict>
1286*67e74705SXin Li// CHECK-NEXT:       </array>
1287*67e74705SXin Li// CHECK-NEXT:     </array>
1288*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1289*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1290*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1291*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1292*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1293*67e74705SXin Li// CHECK-NEXT:    </dict>
1294*67e74705SXin Li// CHECK-NEXT:    <dict>
1295*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1296*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1297*67e74705SXin Li// CHECK-NEXT:      <array>
1298*67e74705SXin Li// CHECK-NEXT:       <dict>
1299*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1300*67e74705SXin Li// CHECK-NEXT:         <array>
1301*67e74705SXin Li// CHECK-NEXT:          <dict>
1302*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>112</integer>
1303*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1304*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1305*67e74705SXin Li// CHECK-NEXT:          </dict>
1306*67e74705SXin Li// CHECK-NEXT:          <dict>
1307*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>112</integer>
1308*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1309*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1310*67e74705SXin Li// CHECK-NEXT:          </dict>
1311*67e74705SXin Li// CHECK-NEXT:         </array>
1312*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1313*67e74705SXin Li// CHECK-NEXT:         <array>
1314*67e74705SXin Li// CHECK-NEXT:          <dict>
1315*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>113</integer>
1316*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1317*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1318*67e74705SXin Li// CHECK-NEXT:          </dict>
1319*67e74705SXin Li// CHECK-NEXT:          <dict>
1320*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>113</integer>
1321*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1322*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1323*67e74705SXin Li// CHECK-NEXT:          </dict>
1324*67e74705SXin Li// CHECK-NEXT:         </array>
1325*67e74705SXin Li// CHECK-NEXT:       </dict>
1326*67e74705SXin Li// CHECK-NEXT:      </array>
1327*67e74705SXin Li// CHECK-NEXT:    </dict>
1328*67e74705SXin Li// CHECK-NEXT:    <dict>
1329*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1330*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1331*67e74705SXin Li// CHECK-NEXT:     <dict>
1332*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>113</integer>
1333*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
1334*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1335*67e74705SXin Li// CHECK-NEXT:     </dict>
1336*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1337*67e74705SXin Li// CHECK-NEXT:     <array>
1338*67e74705SXin Li// CHECK-NEXT:       <array>
1339*67e74705SXin Li// CHECK-NEXT:        <dict>
1340*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>113</integer>
1341*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
1342*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1343*67e74705SXin Li// CHECK-NEXT:        </dict>
1344*67e74705SXin Li// CHECK-NEXT:        <dict>
1345*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>113</integer>
1346*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
1347*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1348*67e74705SXin Li// CHECK-NEXT:        </dict>
1349*67e74705SXin Li// CHECK-NEXT:       </array>
1350*67e74705SXin Li// CHECK-NEXT:     </array>
1351*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1352*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1353*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1354*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1355*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1356*67e74705SXin Li// CHECK-NEXT:    </dict>
1357*67e74705SXin Li// CHECK-NEXT:   </array>
1358*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1359*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1360*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1361*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1362*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1363*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>a57d9309397250421e9b96afe80c2045</string>
1364*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1365*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>idErasedIncompatibleTypesReverseConversion</string>
1366*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
1367*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1368*67e74705SXin Li// CHECK-NEXT:  <dict>
1369*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>113</integer>
1370*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
1371*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1372*67e74705SXin Li// CHECK-NEXT:  </dict>
1373*67e74705SXin Li// CHECK-NEXT:  </dict>
1374*67e74705SXin Li// CHECK-NEXT:  <dict>
1375*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1376*67e74705SXin Li// CHECK-NEXT:   <array>
1377*67e74705SXin Li// CHECK-NEXT:    <dict>
1378*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1379*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1380*67e74705SXin Li// CHECK-NEXT:     <dict>
1381*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>112</integer>
1382*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1383*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1384*67e74705SXin Li// CHECK-NEXT:     </dict>
1385*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1386*67e74705SXin Li// CHECK-NEXT:     <array>
1387*67e74705SXin Li// CHECK-NEXT:       <array>
1388*67e74705SXin Li// CHECK-NEXT:        <dict>
1389*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>112</integer>
1390*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1391*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1392*67e74705SXin Li// CHECK-NEXT:        </dict>
1393*67e74705SXin Li// CHECK-NEXT:        <dict>
1394*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>112</integer>
1395*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1396*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1397*67e74705SXin Li// CHECK-NEXT:        </dict>
1398*67e74705SXin Li// CHECK-NEXT:       </array>
1399*67e74705SXin Li// CHECK-NEXT:     </array>
1400*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1401*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1402*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1403*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1404*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
1405*67e74705SXin Li// CHECK-NEXT:    </dict>
1406*67e74705SXin Li// CHECK-NEXT:    <dict>
1407*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1408*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1409*67e74705SXin Li// CHECK-NEXT:      <array>
1410*67e74705SXin Li// CHECK-NEXT:       <dict>
1411*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1412*67e74705SXin Li// CHECK-NEXT:         <array>
1413*67e74705SXin Li// CHECK-NEXT:          <dict>
1414*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>112</integer>
1415*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1416*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1417*67e74705SXin Li// CHECK-NEXT:          </dict>
1418*67e74705SXin Li// CHECK-NEXT:          <dict>
1419*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>112</integer>
1420*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1421*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1422*67e74705SXin Li// CHECK-NEXT:          </dict>
1423*67e74705SXin Li// CHECK-NEXT:         </array>
1424*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1425*67e74705SXin Li// CHECK-NEXT:         <array>
1426*67e74705SXin Li// CHECK-NEXT:          <dict>
1427*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1428*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1429*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1430*67e74705SXin Li// CHECK-NEXT:          </dict>
1431*67e74705SXin Li// CHECK-NEXT:          <dict>
1432*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1433*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1434*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1435*67e74705SXin Li// CHECK-NEXT:          </dict>
1436*67e74705SXin Li// CHECK-NEXT:         </array>
1437*67e74705SXin Li// CHECK-NEXT:       </dict>
1438*67e74705SXin Li// CHECK-NEXT:      </array>
1439*67e74705SXin Li// CHECK-NEXT:    </dict>
1440*67e74705SXin Li// CHECK-NEXT:    <dict>
1441*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1442*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1443*67e74705SXin Li// CHECK-NEXT:      <array>
1444*67e74705SXin Li// CHECK-NEXT:       <dict>
1445*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1446*67e74705SXin Li// CHECK-NEXT:         <array>
1447*67e74705SXin Li// CHECK-NEXT:          <dict>
1448*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1449*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1450*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1451*67e74705SXin Li// CHECK-NEXT:          </dict>
1452*67e74705SXin Li// CHECK-NEXT:          <dict>
1453*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1454*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1455*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1456*67e74705SXin Li// CHECK-NEXT:          </dict>
1457*67e74705SXin Li// CHECK-NEXT:         </array>
1458*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1459*67e74705SXin Li// CHECK-NEXT:         <array>
1460*67e74705SXin Li// CHECK-NEXT:          <dict>
1461*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1462*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1463*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1464*67e74705SXin Li// CHECK-NEXT:          </dict>
1465*67e74705SXin Li// CHECK-NEXT:          <dict>
1466*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>115</integer>
1467*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1468*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1469*67e74705SXin Li// CHECK-NEXT:          </dict>
1470*67e74705SXin Li// CHECK-NEXT:         </array>
1471*67e74705SXin Li// CHECK-NEXT:       </dict>
1472*67e74705SXin Li// CHECK-NEXT:      </array>
1473*67e74705SXin Li// CHECK-NEXT:    </dict>
1474*67e74705SXin Li// CHECK-NEXT:    <dict>
1475*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1476*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1477*67e74705SXin Li// CHECK-NEXT:     <dict>
1478*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>115</integer>
1479*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
1480*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1481*67e74705SXin Li// CHECK-NEXT:     </dict>
1482*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1483*67e74705SXin Li// CHECK-NEXT:     <array>
1484*67e74705SXin Li// CHECK-NEXT:       <array>
1485*67e74705SXin Li// CHECK-NEXT:        <dict>
1486*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>115</integer>
1487*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1488*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1489*67e74705SXin Li// CHECK-NEXT:        </dict>
1490*67e74705SXin Li// CHECK-NEXT:        <dict>
1491*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>115</integer>
1492*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1493*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1494*67e74705SXin Li// CHECK-NEXT:        </dict>
1495*67e74705SXin Li// CHECK-NEXT:       </array>
1496*67e74705SXin Li// CHECK-NEXT:     </array>
1497*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1498*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1499*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1500*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1501*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1502*67e74705SXin Li// CHECK-NEXT:    </dict>
1503*67e74705SXin Li// CHECK-NEXT:   </array>
1504*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1505*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1506*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1507*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1508*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1509*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>3c86c79284e67f28d04b7ef88bedbb8b</string>
1510*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1511*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>idErasedIncompatibleTypesReverseConversion</string>
1512*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>4</string>
1513*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1514*67e74705SXin Li// CHECK-NEXT:  <dict>
1515*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>115</integer>
1516*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>11</integer>
1517*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1518*67e74705SXin Li// CHECK-NEXT:  </dict>
1519*67e74705SXin Li// CHECK-NEXT:  </dict>
1520*67e74705SXin Li// CHECK-NEXT:  <dict>
1521*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1522*67e74705SXin Li// CHECK-NEXT:   <array>
1523*67e74705SXin Li// CHECK-NEXT:    <dict>
1524*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1525*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1526*67e74705SXin Li// CHECK-NEXT:     <dict>
1527*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>120</integer>
1528*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1529*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1530*67e74705SXin Li// CHECK-NEXT:     </dict>
1531*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1532*67e74705SXin Li// CHECK-NEXT:     <array>
1533*67e74705SXin Li// CHECK-NEXT:       <array>
1534*67e74705SXin Li// CHECK-NEXT:        <dict>
1535*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1536*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1537*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1538*67e74705SXin Li// CHECK-NEXT:        </dict>
1539*67e74705SXin Li// CHECK-NEXT:        <dict>
1540*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1541*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1542*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1543*67e74705SXin Li// CHECK-NEXT:        </dict>
1544*67e74705SXin Li// CHECK-NEXT:       </array>
1545*67e74705SXin Li// CHECK-NEXT:     </array>
1546*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1547*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1548*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1549*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1550*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1551*67e74705SXin Li// CHECK-NEXT:    </dict>
1552*67e74705SXin Li// CHECK-NEXT:    <dict>
1553*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1554*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1555*67e74705SXin Li// CHECK-NEXT:      <array>
1556*67e74705SXin Li// CHECK-NEXT:       <dict>
1557*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1558*67e74705SXin Li// CHECK-NEXT:         <array>
1559*67e74705SXin Li// CHECK-NEXT:          <dict>
1560*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1561*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1562*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1563*67e74705SXin Li// CHECK-NEXT:          </dict>
1564*67e74705SXin Li// CHECK-NEXT:          <dict>
1565*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1566*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1567*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1568*67e74705SXin Li// CHECK-NEXT:          </dict>
1569*67e74705SXin Li// CHECK-NEXT:         </array>
1570*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1571*67e74705SXin Li// CHECK-NEXT:         <array>
1572*67e74705SXin Li// CHECK-NEXT:          <dict>
1573*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1574*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1575*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1576*67e74705SXin Li// CHECK-NEXT:          </dict>
1577*67e74705SXin Li// CHECK-NEXT:          <dict>
1578*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1579*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1580*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1581*67e74705SXin Li// CHECK-NEXT:          </dict>
1582*67e74705SXin Li// CHECK-NEXT:         </array>
1583*67e74705SXin Li// CHECK-NEXT:       </dict>
1584*67e74705SXin Li// CHECK-NEXT:      </array>
1585*67e74705SXin Li// CHECK-NEXT:    </dict>
1586*67e74705SXin Li// CHECK-NEXT:    <dict>
1587*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1588*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1589*67e74705SXin Li// CHECK-NEXT:      <array>
1590*67e74705SXin Li// CHECK-NEXT:       <dict>
1591*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1592*67e74705SXin Li// CHECK-NEXT:         <array>
1593*67e74705SXin Li// CHECK-NEXT:          <dict>
1594*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1595*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1596*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1597*67e74705SXin Li// CHECK-NEXT:          </dict>
1598*67e74705SXin Li// CHECK-NEXT:          <dict>
1599*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1600*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1601*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1602*67e74705SXin Li// CHECK-NEXT:          </dict>
1603*67e74705SXin Li// CHECK-NEXT:         </array>
1604*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1605*67e74705SXin Li// CHECK-NEXT:         <array>
1606*67e74705SXin Li// CHECK-NEXT:          <dict>
1607*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1608*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
1609*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1610*67e74705SXin Li// CHECK-NEXT:          </dict>
1611*67e74705SXin Li// CHECK-NEXT:          <dict>
1612*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>121</integer>
1613*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
1614*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1615*67e74705SXin Li// CHECK-NEXT:          </dict>
1616*67e74705SXin Li// CHECK-NEXT:         </array>
1617*67e74705SXin Li// CHECK-NEXT:       </dict>
1618*67e74705SXin Li// CHECK-NEXT:      </array>
1619*67e74705SXin Li// CHECK-NEXT:    </dict>
1620*67e74705SXin Li// CHECK-NEXT:    <dict>
1621*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1622*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1623*67e74705SXin Li// CHECK-NEXT:     <dict>
1624*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>121</integer>
1625*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1626*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1627*67e74705SXin Li// CHECK-NEXT:     </dict>
1628*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1629*67e74705SXin Li// CHECK-NEXT:     <array>
1630*67e74705SXin Li// CHECK-NEXT:       <array>
1631*67e74705SXin Li// CHECK-NEXT:        <dict>
1632*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>121</integer>
1633*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1634*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1635*67e74705SXin Li// CHECK-NEXT:        </dict>
1636*67e74705SXin Li// CHECK-NEXT:        <dict>
1637*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>121</integer>
1638*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1639*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1640*67e74705SXin Li// CHECK-NEXT:        </dict>
1641*67e74705SXin Li// CHECK-NEXT:       </array>
1642*67e74705SXin Li// CHECK-NEXT:     </array>
1643*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1644*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1645*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1646*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1647*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1648*67e74705SXin Li// CHECK-NEXT:    </dict>
1649*67e74705SXin Li// CHECK-NEXT:   </array>
1650*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1651*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1652*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1653*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1654*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1655*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>a669a3ca1da5a07458c0186f43a295cb</string>
1656*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1657*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>idErasedIncompatibleTypes</string>
1658*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
1659*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1660*67e74705SXin Li// CHECK-NEXT:  <dict>
1661*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>121</integer>
1662*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
1663*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1664*67e74705SXin Li// CHECK-NEXT:  </dict>
1665*67e74705SXin Li// CHECK-NEXT:  </dict>
1666*67e74705SXin Li// CHECK-NEXT:  <dict>
1667*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1668*67e74705SXin Li// CHECK-NEXT:   <array>
1669*67e74705SXin Li// CHECK-NEXT:    <dict>
1670*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1671*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1672*67e74705SXin Li// CHECK-NEXT:     <dict>
1673*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>120</integer>
1674*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1675*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1676*67e74705SXin Li// CHECK-NEXT:     </dict>
1677*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1678*67e74705SXin Li// CHECK-NEXT:     <array>
1679*67e74705SXin Li// CHECK-NEXT:       <array>
1680*67e74705SXin Li// CHECK-NEXT:        <dict>
1681*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1682*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1683*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1684*67e74705SXin Li// CHECK-NEXT:        </dict>
1685*67e74705SXin Li// CHECK-NEXT:        <dict>
1686*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1687*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1688*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1689*67e74705SXin Li// CHECK-NEXT:        </dict>
1690*67e74705SXin Li// CHECK-NEXT:       </array>
1691*67e74705SXin Li// CHECK-NEXT:     </array>
1692*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1693*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1694*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1695*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1696*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1697*67e74705SXin Li// CHECK-NEXT:    </dict>
1698*67e74705SXin Li// CHECK-NEXT:    <dict>
1699*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1700*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1701*67e74705SXin Li// CHECK-NEXT:      <array>
1702*67e74705SXin Li// CHECK-NEXT:       <dict>
1703*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1704*67e74705SXin Li// CHECK-NEXT:         <array>
1705*67e74705SXin Li// CHECK-NEXT:          <dict>
1706*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1707*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1708*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1709*67e74705SXin Li// CHECK-NEXT:          </dict>
1710*67e74705SXin Li// CHECK-NEXT:          <dict>
1711*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1712*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1713*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1714*67e74705SXin Li// CHECK-NEXT:          </dict>
1715*67e74705SXin Li// CHECK-NEXT:         </array>
1716*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1717*67e74705SXin Li// CHECK-NEXT:         <array>
1718*67e74705SXin Li// CHECK-NEXT:          <dict>
1719*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>122</integer>
1720*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1721*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1722*67e74705SXin Li// CHECK-NEXT:          </dict>
1723*67e74705SXin Li// CHECK-NEXT:          <dict>
1724*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>122</integer>
1725*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1726*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1727*67e74705SXin Li// CHECK-NEXT:          </dict>
1728*67e74705SXin Li// CHECK-NEXT:         </array>
1729*67e74705SXin Li// CHECK-NEXT:       </dict>
1730*67e74705SXin Li// CHECK-NEXT:      </array>
1731*67e74705SXin Li// CHECK-NEXT:    </dict>
1732*67e74705SXin Li// CHECK-NEXT:    <dict>
1733*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1734*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1735*67e74705SXin Li// CHECK-NEXT:     <dict>
1736*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>122</integer>
1737*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
1738*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1739*67e74705SXin Li// CHECK-NEXT:     </dict>
1740*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1741*67e74705SXin Li// CHECK-NEXT:     <array>
1742*67e74705SXin Li// CHECK-NEXT:       <array>
1743*67e74705SXin Li// CHECK-NEXT:        <dict>
1744*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>122</integer>
1745*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
1746*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1747*67e74705SXin Li// CHECK-NEXT:        </dict>
1748*67e74705SXin Li// CHECK-NEXT:        <dict>
1749*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>122</integer>
1750*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
1751*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1752*67e74705SXin Li// CHECK-NEXT:        </dict>
1753*67e74705SXin Li// CHECK-NEXT:       </array>
1754*67e74705SXin Li// CHECK-NEXT:     </array>
1755*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1756*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1757*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1758*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1759*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1760*67e74705SXin Li// CHECK-NEXT:    </dict>
1761*67e74705SXin Li// CHECK-NEXT:   </array>
1762*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
1763*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1764*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1765*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1766*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1767*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>7ab912bd3fb03b47dc9489cac0297e2a</string>
1768*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1769*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>idErasedIncompatibleTypes</string>
1770*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
1771*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1772*67e74705SXin Li// CHECK-NEXT:  <dict>
1773*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>122</integer>
1774*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
1775*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1776*67e74705SXin Li// CHECK-NEXT:  </dict>
1777*67e74705SXin Li// CHECK-NEXT:  </dict>
1778*67e74705SXin Li// CHECK-NEXT:  <dict>
1779*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1780*67e74705SXin Li// CHECK-NEXT:   <array>
1781*67e74705SXin Li// CHECK-NEXT:    <dict>
1782*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1783*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1784*67e74705SXin Li// CHECK-NEXT:     <dict>
1785*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>120</integer>
1786*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
1787*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1788*67e74705SXin Li// CHECK-NEXT:     </dict>
1789*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1790*67e74705SXin Li// CHECK-NEXT:     <array>
1791*67e74705SXin Li// CHECK-NEXT:       <array>
1792*67e74705SXin Li// CHECK-NEXT:        <dict>
1793*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1794*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1795*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1796*67e74705SXin Li// CHECK-NEXT:        </dict>
1797*67e74705SXin Li// CHECK-NEXT:        <dict>
1798*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>120</integer>
1799*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
1800*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1801*67e74705SXin Li// CHECK-NEXT:        </dict>
1802*67e74705SXin Li// CHECK-NEXT:       </array>
1803*67e74705SXin Li// CHECK-NEXT:     </array>
1804*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1805*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1806*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1807*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1808*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
1809*67e74705SXin Li// CHECK-NEXT:    </dict>
1810*67e74705SXin Li// CHECK-NEXT:    <dict>
1811*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1812*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1813*67e74705SXin Li// CHECK-NEXT:      <array>
1814*67e74705SXin Li// CHECK-NEXT:       <dict>
1815*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1816*67e74705SXin Li// CHECK-NEXT:         <array>
1817*67e74705SXin Li// CHECK-NEXT:          <dict>
1818*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1819*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1820*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1821*67e74705SXin Li// CHECK-NEXT:          </dict>
1822*67e74705SXin Li// CHECK-NEXT:          <dict>
1823*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>120</integer>
1824*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1825*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1826*67e74705SXin Li// CHECK-NEXT:          </dict>
1827*67e74705SXin Li// CHECK-NEXT:         </array>
1828*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1829*67e74705SXin Li// CHECK-NEXT:         <array>
1830*67e74705SXin Li// CHECK-NEXT:          <dict>
1831*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1832*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1833*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1834*67e74705SXin Li// CHECK-NEXT:          </dict>
1835*67e74705SXin Li// CHECK-NEXT:          <dict>
1836*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1837*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1838*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1839*67e74705SXin Li// CHECK-NEXT:          </dict>
1840*67e74705SXin Li// CHECK-NEXT:         </array>
1841*67e74705SXin Li// CHECK-NEXT:       </dict>
1842*67e74705SXin Li// CHECK-NEXT:      </array>
1843*67e74705SXin Li// CHECK-NEXT:    </dict>
1844*67e74705SXin Li// CHECK-NEXT:    <dict>
1845*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1846*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1847*67e74705SXin Li// CHECK-NEXT:      <array>
1848*67e74705SXin Li// CHECK-NEXT:       <dict>
1849*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1850*67e74705SXin Li// CHECK-NEXT:         <array>
1851*67e74705SXin Li// CHECK-NEXT:          <dict>
1852*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1853*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1854*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1855*67e74705SXin Li// CHECK-NEXT:          </dict>
1856*67e74705SXin Li// CHECK-NEXT:          <dict>
1857*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1858*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
1859*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1860*67e74705SXin Li// CHECK-NEXT:          </dict>
1861*67e74705SXin Li// CHECK-NEXT:         </array>
1862*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1863*67e74705SXin Li// CHECK-NEXT:         <array>
1864*67e74705SXin Li// CHECK-NEXT:          <dict>
1865*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1866*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1867*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1868*67e74705SXin Li// CHECK-NEXT:          </dict>
1869*67e74705SXin Li// CHECK-NEXT:          <dict>
1870*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>124</integer>
1871*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
1872*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1873*67e74705SXin Li// CHECK-NEXT:          </dict>
1874*67e74705SXin Li// CHECK-NEXT:         </array>
1875*67e74705SXin Li// CHECK-NEXT:       </dict>
1876*67e74705SXin Li// CHECK-NEXT:      </array>
1877*67e74705SXin Li// CHECK-NEXT:    </dict>
1878*67e74705SXin Li// CHECK-NEXT:    <dict>
1879*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1880*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1881*67e74705SXin Li// CHECK-NEXT:     <dict>
1882*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>124</integer>
1883*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
1884*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1885*67e74705SXin Li// CHECK-NEXT:     </dict>
1886*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1887*67e74705SXin Li// CHECK-NEXT:     <array>
1888*67e74705SXin Li// CHECK-NEXT:       <array>
1889*67e74705SXin Li// CHECK-NEXT:        <dict>
1890*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>124</integer>
1891*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1892*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1893*67e74705SXin Li// CHECK-NEXT:        </dict>
1894*67e74705SXin Li// CHECK-NEXT:        <dict>
1895*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>124</integer>
1896*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
1897*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1898*67e74705SXin Li// CHECK-NEXT:        </dict>
1899*67e74705SXin Li// CHECK-NEXT:       </array>
1900*67e74705SXin Li// CHECK-NEXT:     </array>
1901*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1902*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1903*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1904*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1905*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1906*67e74705SXin Li// CHECK-NEXT:    </dict>
1907*67e74705SXin Li// CHECK-NEXT:   </array>
1908*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
1909*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
1910*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
1911*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
1912*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1913*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>0c7b4313b8b720c914b04863f47f971f</string>
1914*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1915*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>idErasedIncompatibleTypes</string>
1916*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>5</string>
1917*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
1918*67e74705SXin Li// CHECK-NEXT:  <dict>
1919*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>124</integer>
1920*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>11</integer>
1921*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
1922*67e74705SXin Li// CHECK-NEXT:  </dict>
1923*67e74705SXin Li// CHECK-NEXT:  </dict>
1924*67e74705SXin Li// CHECK-NEXT:  <dict>
1925*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
1926*67e74705SXin Li// CHECK-NEXT:   <array>
1927*67e74705SXin Li// CHECK-NEXT:    <dict>
1928*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1929*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1930*67e74705SXin Li// CHECK-NEXT:      <array>
1931*67e74705SXin Li// CHECK-NEXT:       <dict>
1932*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1933*67e74705SXin Li// CHECK-NEXT:         <array>
1934*67e74705SXin Li// CHECK-NEXT:          <dict>
1935*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>129</integer>
1936*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
1937*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1938*67e74705SXin Li// CHECK-NEXT:          </dict>
1939*67e74705SXin Li// CHECK-NEXT:          <dict>
1940*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>129</integer>
1941*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
1942*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1943*67e74705SXin Li// CHECK-NEXT:          </dict>
1944*67e74705SXin Li// CHECK-NEXT:         </array>
1945*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
1946*67e74705SXin Li// CHECK-NEXT:         <array>
1947*67e74705SXin Li// CHECK-NEXT:          <dict>
1948*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>133</integer>
1949*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
1950*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1951*67e74705SXin Li// CHECK-NEXT:          </dict>
1952*67e74705SXin Li// CHECK-NEXT:          <dict>
1953*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>133</integer>
1954*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
1955*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
1956*67e74705SXin Li// CHECK-NEXT:          </dict>
1957*67e74705SXin Li// CHECK-NEXT:         </array>
1958*67e74705SXin Li// CHECK-NEXT:       </dict>
1959*67e74705SXin Li// CHECK-NEXT:      </array>
1960*67e74705SXin Li// CHECK-NEXT:    </dict>
1961*67e74705SXin Li// CHECK-NEXT:    <dict>
1962*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
1963*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
1964*67e74705SXin Li// CHECK-NEXT:     <dict>
1965*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>133</integer>
1966*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
1967*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
1968*67e74705SXin Li// CHECK-NEXT:     </dict>
1969*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
1970*67e74705SXin Li// CHECK-NEXT:     <array>
1971*67e74705SXin Li// CHECK-NEXT:       <array>
1972*67e74705SXin Li// CHECK-NEXT:        <dict>
1973*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>133</integer>
1974*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
1975*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1976*67e74705SXin Li// CHECK-NEXT:        </dict>
1977*67e74705SXin Li// CHECK-NEXT:        <dict>
1978*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>133</integer>
1979*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
1980*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
1981*67e74705SXin Li// CHECK-NEXT:        </dict>
1982*67e74705SXin Li// CHECK-NEXT:       </array>
1983*67e74705SXin Li// CHECK-NEXT:     </array>
1984*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
1985*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
1986*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray *&apos;)</string>
1987*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
1988*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray *&apos;)</string>
1989*67e74705SXin Li// CHECK-NEXT:    </dict>
1990*67e74705SXin Li// CHECK-NEXT:    <dict>
1991*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
1992*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
1993*67e74705SXin Li// CHECK-NEXT:      <array>
1994*67e74705SXin Li// CHECK-NEXT:       <dict>
1995*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
1996*67e74705SXin Li// CHECK-NEXT:         <array>
1997*67e74705SXin Li// CHECK-NEXT:          <dict>
1998*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>133</integer>
1999*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2000*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2001*67e74705SXin Li// CHECK-NEXT:          </dict>
2002*67e74705SXin Li// CHECK-NEXT:          <dict>
2003*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>133</integer>
2004*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2005*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2006*67e74705SXin Li// CHECK-NEXT:          </dict>
2007*67e74705SXin Li// CHECK-NEXT:         </array>
2008*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2009*67e74705SXin Li// CHECK-NEXT:         <array>
2010*67e74705SXin Li// CHECK-NEXT:          <dict>
2011*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>134</integer>
2012*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2013*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2014*67e74705SXin Li// CHECK-NEXT:          </dict>
2015*67e74705SXin Li// CHECK-NEXT:          <dict>
2016*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>134</integer>
2017*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2018*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2019*67e74705SXin Li// CHECK-NEXT:          </dict>
2020*67e74705SXin Li// CHECK-NEXT:         </array>
2021*67e74705SXin Li// CHECK-NEXT:       </dict>
2022*67e74705SXin Li// CHECK-NEXT:      </array>
2023*67e74705SXin Li// CHECK-NEXT:    </dict>
2024*67e74705SXin Li// CHECK-NEXT:    <dict>
2025*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2026*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2027*67e74705SXin Li// CHECK-NEXT:      <array>
2028*67e74705SXin Li// CHECK-NEXT:       <dict>
2029*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2030*67e74705SXin Li// CHECK-NEXT:         <array>
2031*67e74705SXin Li// CHECK-NEXT:          <dict>
2032*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>134</integer>
2033*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2034*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2035*67e74705SXin Li// CHECK-NEXT:          </dict>
2036*67e74705SXin Li// CHECK-NEXT:          <dict>
2037*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>134</integer>
2038*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
2039*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2040*67e74705SXin Li// CHECK-NEXT:          </dict>
2041*67e74705SXin Li// CHECK-NEXT:         </array>
2042*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2043*67e74705SXin Li// CHECK-NEXT:         <array>
2044*67e74705SXin Li// CHECK-NEXT:          <dict>
2045*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>136</integer>
2046*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2047*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2048*67e74705SXin Li// CHECK-NEXT:          </dict>
2049*67e74705SXin Li// CHECK-NEXT:          <dict>
2050*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>136</integer>
2051*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2052*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2053*67e74705SXin Li// CHECK-NEXT:          </dict>
2054*67e74705SXin Li// CHECK-NEXT:         </array>
2055*67e74705SXin Li// CHECK-NEXT:       </dict>
2056*67e74705SXin Li// CHECK-NEXT:      </array>
2057*67e74705SXin Li// CHECK-NEXT:    </dict>
2058*67e74705SXin Li// CHECK-NEXT:    <dict>
2059*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2060*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2061*67e74705SXin Li// CHECK-NEXT:     <dict>
2062*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>136</integer>
2063*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
2064*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2065*67e74705SXin Li// CHECK-NEXT:     </dict>
2066*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2067*67e74705SXin Li// CHECK-NEXT:     <array>
2068*67e74705SXin Li// CHECK-NEXT:       <array>
2069*67e74705SXin Li// CHECK-NEXT:        <dict>
2070*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>136</integer>
2071*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>17</integer>
2072*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2073*67e74705SXin Li// CHECK-NEXT:        </dict>
2074*67e74705SXin Li// CHECK-NEXT:        <dict>
2075*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>136</integer>
2076*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>39</integer>
2077*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2078*67e74705SXin Li// CHECK-NEXT:        </dict>
2079*67e74705SXin Li// CHECK-NEXT:       </array>
2080*67e74705SXin Li// CHECK-NEXT:     </array>
2081*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2082*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2083*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2084*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2085*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2086*67e74705SXin Li// CHECK-NEXT:    </dict>
2087*67e74705SXin Li// CHECK-NEXT:   </array>
2088*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2089*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2090*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2091*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2092*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2093*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>24a08781e7d8971a7d8f8f607ce40074</string>
2094*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2095*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>pathSensitiveInference</string>
2096*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>8</string>
2097*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2098*67e74705SXin Li// CHECK-NEXT:  <dict>
2099*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>136</integer>
2100*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
2101*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2102*67e74705SXin Li// CHECK-NEXT:  </dict>
2103*67e74705SXin Li// CHECK-NEXT:  </dict>
2104*67e74705SXin Li// CHECK-NEXT:  <dict>
2105*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2106*67e74705SXin Li// CHECK-NEXT:   <array>
2107*67e74705SXin Li// CHECK-NEXT:    <dict>
2108*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2109*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2110*67e74705SXin Li// CHECK-NEXT:     <dict>
2111*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>141</integer>
2112*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2113*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2114*67e74705SXin Li// CHECK-NEXT:     </dict>
2115*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2116*67e74705SXin Li// CHECK-NEXT:     <array>
2117*67e74705SXin Li// CHECK-NEXT:       <array>
2118*67e74705SXin Li// CHECK-NEXT:        <dict>
2119*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>141</integer>
2120*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2121*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2122*67e74705SXin Li// CHECK-NEXT:        </dict>
2123*67e74705SXin Li// CHECK-NEXT:        <dict>
2124*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>141</integer>
2125*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2126*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2127*67e74705SXin Li// CHECK-NEXT:        </dict>
2128*67e74705SXin Li// CHECK-NEXT:       </array>
2129*67e74705SXin Li// CHECK-NEXT:     </array>
2130*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2131*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2132*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
2133*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2134*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
2135*67e74705SXin Li// CHECK-NEXT:    </dict>
2136*67e74705SXin Li// CHECK-NEXT:    <dict>
2137*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2138*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2139*67e74705SXin Li// CHECK-NEXT:      <array>
2140*67e74705SXin Li// CHECK-NEXT:       <dict>
2141*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2142*67e74705SXin Li// CHECK-NEXT:         <array>
2143*67e74705SXin Li// CHECK-NEXT:          <dict>
2144*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>141</integer>
2145*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2146*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2147*67e74705SXin Li// CHECK-NEXT:          </dict>
2148*67e74705SXin Li// CHECK-NEXT:          <dict>
2149*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>141</integer>
2150*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2151*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2152*67e74705SXin Li// CHECK-NEXT:          </dict>
2153*67e74705SXin Li// CHECK-NEXT:         </array>
2154*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2155*67e74705SXin Li// CHECK-NEXT:         <array>
2156*67e74705SXin Li// CHECK-NEXT:          <dict>
2157*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2158*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2159*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2160*67e74705SXin Li// CHECK-NEXT:          </dict>
2161*67e74705SXin Li// CHECK-NEXT:          <dict>
2162*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2163*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
2164*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2165*67e74705SXin Li// CHECK-NEXT:          </dict>
2166*67e74705SXin Li// CHECK-NEXT:         </array>
2167*67e74705SXin Li// CHECK-NEXT:       </dict>
2168*67e74705SXin Li// CHECK-NEXT:      </array>
2169*67e74705SXin Li// CHECK-NEXT:    </dict>
2170*67e74705SXin Li// CHECK-NEXT:    <dict>
2171*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2172*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2173*67e74705SXin Li// CHECK-NEXT:      <array>
2174*67e74705SXin Li// CHECK-NEXT:       <dict>
2175*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2176*67e74705SXin Li// CHECK-NEXT:         <array>
2177*67e74705SXin Li// CHECK-NEXT:          <dict>
2178*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2179*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2180*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2181*67e74705SXin Li// CHECK-NEXT:          </dict>
2182*67e74705SXin Li// CHECK-NEXT:          <dict>
2183*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2184*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
2185*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2186*67e74705SXin Li// CHECK-NEXT:          </dict>
2187*67e74705SXin Li// CHECK-NEXT:         </array>
2188*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2189*67e74705SXin Li// CHECK-NEXT:         <array>
2190*67e74705SXin Li// CHECK-NEXT:          <dict>
2191*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2192*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
2193*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2194*67e74705SXin Li// CHECK-NEXT:          </dict>
2195*67e74705SXin Li// CHECK-NEXT:          <dict>
2196*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>142</integer>
2197*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
2198*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2199*67e74705SXin Li// CHECK-NEXT:          </dict>
2200*67e74705SXin Li// CHECK-NEXT:         </array>
2201*67e74705SXin Li// CHECK-NEXT:       </dict>
2202*67e74705SXin Li// CHECK-NEXT:      </array>
2203*67e74705SXin Li// CHECK-NEXT:    </dict>
2204*67e74705SXin Li// CHECK-NEXT:    <dict>
2205*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2206*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2207*67e74705SXin Li// CHECK-NEXT:     <dict>
2208*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>142</integer>
2209*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
2210*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2211*67e74705SXin Li// CHECK-NEXT:     </dict>
2212*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2213*67e74705SXin Li// CHECK-NEXT:     <array>
2214*67e74705SXin Li// CHECK-NEXT:       <array>
2215*67e74705SXin Li// CHECK-NEXT:        <dict>
2216*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>142</integer>
2217*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
2218*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2219*67e74705SXin Li// CHECK-NEXT:        </dict>
2220*67e74705SXin Li// CHECK-NEXT:        <dict>
2221*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>142</integer>
2222*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
2223*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2224*67e74705SXin Li// CHECK-NEXT:        </dict>
2225*67e74705SXin Li// CHECK-NEXT:       </array>
2226*67e74705SXin Li// CHECK-NEXT:     </array>
2227*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2228*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2229*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
2230*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2231*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
2232*67e74705SXin Li// CHECK-NEXT:    </dict>
2233*67e74705SXin Li// CHECK-NEXT:   </array>
2234*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
2235*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2236*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2237*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2238*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2239*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>a8534f675404d57d833dc3c371d49845</string>
2240*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2241*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>verifyAPIusage</string>
2242*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
2243*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2244*67e74705SXin Li// CHECK-NEXT:  <dict>
2245*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>142</integer>
2246*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>11</integer>
2247*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2248*67e74705SXin Li// CHECK-NEXT:  </dict>
2249*67e74705SXin Li// CHECK-NEXT:  </dict>
2250*67e74705SXin Li// CHECK-NEXT:  <dict>
2251*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2252*67e74705SXin Li// CHECK-NEXT:   <array>
2253*67e74705SXin Li// CHECK-NEXT:    <dict>
2254*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2255*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2256*67e74705SXin Li// CHECK-NEXT:     <dict>
2257*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>147</integer>
2258*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2259*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2260*67e74705SXin Li// CHECK-NEXT:     </dict>
2261*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2262*67e74705SXin Li// CHECK-NEXT:     <array>
2263*67e74705SXin Li// CHECK-NEXT:       <array>
2264*67e74705SXin Li// CHECK-NEXT:        <dict>
2265*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>147</integer>
2266*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2267*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2268*67e74705SXin Li// CHECK-NEXT:        </dict>
2269*67e74705SXin Li// CHECK-NEXT:        <dict>
2270*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>147</integer>
2271*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>42</integer>
2272*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2273*67e74705SXin Li// CHECK-NEXT:        </dict>
2274*67e74705SXin Li// CHECK-NEXT:       </array>
2275*67e74705SXin Li// CHECK-NEXT:     </array>
2276*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2277*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2278*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from explicit cast (from &apos;MutableArray *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
2279*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2280*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from explicit cast (from &apos;MutableArray *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
2281*67e74705SXin Li// CHECK-NEXT:    </dict>
2282*67e74705SXin Li// CHECK-NEXT:    <dict>
2283*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2284*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2285*67e74705SXin Li// CHECK-NEXT:      <array>
2286*67e74705SXin Li// CHECK-NEXT:       <dict>
2287*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2288*67e74705SXin Li// CHECK-NEXT:         <array>
2289*67e74705SXin Li// CHECK-NEXT:          <dict>
2290*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>147</integer>
2291*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2292*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2293*67e74705SXin Li// CHECK-NEXT:          </dict>
2294*67e74705SXin Li// CHECK-NEXT:          <dict>
2295*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>147</integer>
2296*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2297*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2298*67e74705SXin Li// CHECK-NEXT:          </dict>
2299*67e74705SXin Li// CHECK-NEXT:         </array>
2300*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2301*67e74705SXin Li// CHECK-NEXT:         <array>
2302*67e74705SXin Li// CHECK-NEXT:          <dict>
2303*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>148</integer>
2304*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2305*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2306*67e74705SXin Li// CHECK-NEXT:          </dict>
2307*67e74705SXin Li// CHECK-NEXT:          <dict>
2308*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>148</integer>
2309*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2310*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2311*67e74705SXin Li// CHECK-NEXT:          </dict>
2312*67e74705SXin Li// CHECK-NEXT:         </array>
2313*67e74705SXin Li// CHECK-NEXT:       </dict>
2314*67e74705SXin Li// CHECK-NEXT:      </array>
2315*67e74705SXin Li// CHECK-NEXT:    </dict>
2316*67e74705SXin Li// CHECK-NEXT:    <dict>
2317*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2318*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2319*67e74705SXin Li// CHECK-NEXT:     <dict>
2320*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>148</integer>
2321*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
2322*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2323*67e74705SXin Li// CHECK-NEXT:     </dict>
2324*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2325*67e74705SXin Li// CHECK-NEXT:     <array>
2326*67e74705SXin Li// CHECK-NEXT:       <array>
2327*67e74705SXin Li// CHECK-NEXT:        <dict>
2328*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>148</integer>
2329*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>17</integer>
2330*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2331*67e74705SXin Li// CHECK-NEXT:        </dict>
2332*67e74705SXin Li// CHECK-NEXT:        <dict>
2333*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>148</integer>
2334*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>39</integer>
2335*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2336*67e74705SXin Li// CHECK-NEXT:        </dict>
2337*67e74705SXin Li// CHECK-NEXT:       </array>
2338*67e74705SXin Li// CHECK-NEXT:     </array>
2339*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2340*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2341*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2342*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2343*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2344*67e74705SXin Li// CHECK-NEXT:    </dict>
2345*67e74705SXin Li// CHECK-NEXT:   </array>
2346*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
2347*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2348*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2349*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2350*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2351*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>0549631e5a7fa668375061b6c898e438</string>
2352*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2353*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>trustExplicitCasts</string>
2354*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
2355*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2356*67e74705SXin Li// CHECK-NEXT:  <dict>
2357*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>148</integer>
2358*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
2359*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2360*67e74705SXin Li// CHECK-NEXT:  </dict>
2361*67e74705SXin Li// CHECK-NEXT:  </dict>
2362*67e74705SXin Li// CHECK-NEXT:  <dict>
2363*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2364*67e74705SXin Li// CHECK-NEXT:   <array>
2365*67e74705SXin Li// CHECK-NEXT:    <dict>
2366*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2367*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2368*67e74705SXin Li// CHECK-NEXT:      <array>
2369*67e74705SXin Li// CHECK-NEXT:       <dict>
2370*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2371*67e74705SXin Li// CHECK-NEXT:         <array>
2372*67e74705SXin Li// CHECK-NEXT:          <dict>
2373*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>154</integer>
2374*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2375*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2376*67e74705SXin Li// CHECK-NEXT:          </dict>
2377*67e74705SXin Li// CHECK-NEXT:          <dict>
2378*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>154</integer>
2379*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2380*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2381*67e74705SXin Li// CHECK-NEXT:          </dict>
2382*67e74705SXin Li// CHECK-NEXT:         </array>
2383*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2384*67e74705SXin Li// CHECK-NEXT:         <array>
2385*67e74705SXin Li// CHECK-NEXT:          <dict>
2386*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>155</integer>
2387*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2388*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2389*67e74705SXin Li// CHECK-NEXT:          </dict>
2390*67e74705SXin Li// CHECK-NEXT:          <dict>
2391*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>155</integer>
2392*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2393*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2394*67e74705SXin Li// CHECK-NEXT:          </dict>
2395*67e74705SXin Li// CHECK-NEXT:         </array>
2396*67e74705SXin Li// CHECK-NEXT:       </dict>
2397*67e74705SXin Li// CHECK-NEXT:      </array>
2398*67e74705SXin Li// CHECK-NEXT:    </dict>
2399*67e74705SXin Li// CHECK-NEXT:    <dict>
2400*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2401*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2402*67e74705SXin Li// CHECK-NEXT:     <dict>
2403*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>155</integer>
2404*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2405*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2406*67e74705SXin Li// CHECK-NEXT:     </dict>
2407*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2408*67e74705SXin Li// CHECK-NEXT:     <array>
2409*67e74705SXin Li// CHECK-NEXT:       <array>
2410*67e74705SXin Li// CHECK-NEXT:        <dict>
2411*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>155</integer>
2412*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2413*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2414*67e74705SXin Li// CHECK-NEXT:        </dict>
2415*67e74705SXin Li// CHECK-NEXT:        <dict>
2416*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>155</integer>
2417*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2418*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2419*67e74705SXin Li// CHECK-NEXT:        </dict>
2420*67e74705SXin Li// CHECK-NEXT:       </array>
2421*67e74705SXin Li// CHECK-NEXT:     </array>
2422*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2423*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2424*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
2425*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2426*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
2427*67e74705SXin Li// CHECK-NEXT:    </dict>
2428*67e74705SXin Li// CHECK-NEXT:    <dict>
2429*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2430*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2431*67e74705SXin Li// CHECK-NEXT:      <array>
2432*67e74705SXin Li// CHECK-NEXT:       <dict>
2433*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2434*67e74705SXin Li// CHECK-NEXT:         <array>
2435*67e74705SXin Li// CHECK-NEXT:          <dict>
2436*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>155</integer>
2437*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2438*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2439*67e74705SXin Li// CHECK-NEXT:          </dict>
2440*67e74705SXin Li// CHECK-NEXT:          <dict>
2441*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>155</integer>
2442*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2443*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2444*67e74705SXin Li// CHECK-NEXT:          </dict>
2445*67e74705SXin Li// CHECK-NEXT:         </array>
2446*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2447*67e74705SXin Li// CHECK-NEXT:         <array>
2448*67e74705SXin Li// CHECK-NEXT:          <dict>
2449*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2450*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2451*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2452*67e74705SXin Li// CHECK-NEXT:          </dict>
2453*67e74705SXin Li// CHECK-NEXT:          <dict>
2454*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2455*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2456*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2457*67e74705SXin Li// CHECK-NEXT:          </dict>
2458*67e74705SXin Li// CHECK-NEXT:         </array>
2459*67e74705SXin Li// CHECK-NEXT:       </dict>
2460*67e74705SXin Li// CHECK-NEXT:      </array>
2461*67e74705SXin Li// CHECK-NEXT:    </dict>
2462*67e74705SXin Li// CHECK-NEXT:    <dict>
2463*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2464*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2465*67e74705SXin Li// CHECK-NEXT:      <array>
2466*67e74705SXin Li// CHECK-NEXT:       <dict>
2467*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2468*67e74705SXin Li// CHECK-NEXT:         <array>
2469*67e74705SXin Li// CHECK-NEXT:          <dict>
2470*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2471*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2472*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2473*67e74705SXin Li// CHECK-NEXT:          </dict>
2474*67e74705SXin Li// CHECK-NEXT:          <dict>
2475*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2476*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2477*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2478*67e74705SXin Li// CHECK-NEXT:          </dict>
2479*67e74705SXin Li// CHECK-NEXT:         </array>
2480*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2481*67e74705SXin Li// CHECK-NEXT:         <array>
2482*67e74705SXin Li// CHECK-NEXT:          <dict>
2483*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2484*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
2485*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2486*67e74705SXin Li// CHECK-NEXT:          </dict>
2487*67e74705SXin Li// CHECK-NEXT:          <dict>
2488*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>156</integer>
2489*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
2490*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2491*67e74705SXin Li// CHECK-NEXT:          </dict>
2492*67e74705SXin Li// CHECK-NEXT:         </array>
2493*67e74705SXin Li// CHECK-NEXT:       </dict>
2494*67e74705SXin Li// CHECK-NEXT:      </array>
2495*67e74705SXin Li// CHECK-NEXT:    </dict>
2496*67e74705SXin Li// CHECK-NEXT:    <dict>
2497*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2498*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2499*67e74705SXin Li// CHECK-NEXT:     <dict>
2500*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>156</integer>
2501*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2502*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2503*67e74705SXin Li// CHECK-NEXT:     </dict>
2504*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2505*67e74705SXin Li// CHECK-NEXT:     <array>
2506*67e74705SXin Li// CHECK-NEXT:       <array>
2507*67e74705SXin Li// CHECK-NEXT:        <dict>
2508*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>156</integer>
2509*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2510*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2511*67e74705SXin Li// CHECK-NEXT:        </dict>
2512*67e74705SXin Li// CHECK-NEXT:        <dict>
2513*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>156</integer>
2514*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2515*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2516*67e74705SXin Li// CHECK-NEXT:        </dict>
2517*67e74705SXin Li// CHECK-NEXT:       </array>
2518*67e74705SXin Li// CHECK-NEXT:     </array>
2519*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2520*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2521*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2522*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2523*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2524*67e74705SXin Li// CHECK-NEXT:    </dict>
2525*67e74705SXin Li// CHECK-NEXT:   </array>
2526*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2527*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2528*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2529*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2530*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2531*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>d113e22b9ee9ded1cd94750c3557eff4</string>
2532*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2533*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>subtypeOfGeneric</string>
2534*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
2535*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2536*67e74705SXin Li// CHECK-NEXT:  <dict>
2537*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>156</integer>
2538*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
2539*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2540*67e74705SXin Li// CHECK-NEXT:  </dict>
2541*67e74705SXin Li// CHECK-NEXT:  </dict>
2542*67e74705SXin Li// CHECK-NEXT:  <dict>
2543*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2544*67e74705SXin Li// CHECK-NEXT:   <array>
2545*67e74705SXin Li// CHECK-NEXT:    <dict>
2546*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2547*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2548*67e74705SXin Li// CHECK-NEXT:     <dict>
2549*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>162</integer>
2550*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2551*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2552*67e74705SXin Li// CHECK-NEXT:     </dict>
2553*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2554*67e74705SXin Li// CHECK-NEXT:     <array>
2555*67e74705SXin Li// CHECK-NEXT:       <array>
2556*67e74705SXin Li// CHECK-NEXT:        <dict>
2557*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>162</integer>
2558*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2559*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2560*67e74705SXin Li// CHECK-NEXT:        </dict>
2561*67e74705SXin Li// CHECK-NEXT:        <dict>
2562*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>162</integer>
2563*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2564*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2565*67e74705SXin Li// CHECK-NEXT:        </dict>
2566*67e74705SXin Li// CHECK-NEXT:       </array>
2567*67e74705SXin Li// CHECK-NEXT:     </array>
2568*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2569*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2570*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
2571*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2572*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
2573*67e74705SXin Li// CHECK-NEXT:    </dict>
2574*67e74705SXin Li// CHECK-NEXT:    <dict>
2575*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2576*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2577*67e74705SXin Li// CHECK-NEXT:      <array>
2578*67e74705SXin Li// CHECK-NEXT:       <dict>
2579*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2580*67e74705SXin Li// CHECK-NEXT:         <array>
2581*67e74705SXin Li// CHECK-NEXT:          <dict>
2582*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>162</integer>
2583*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2584*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2585*67e74705SXin Li// CHECK-NEXT:          </dict>
2586*67e74705SXin Li// CHECK-NEXT:          <dict>
2587*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>162</integer>
2588*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2589*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2590*67e74705SXin Li// CHECK-NEXT:          </dict>
2591*67e74705SXin Li// CHECK-NEXT:         </array>
2592*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2593*67e74705SXin Li// CHECK-NEXT:         <array>
2594*67e74705SXin Li// CHECK-NEXT:          <dict>
2595*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>164</integer>
2596*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2597*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2598*67e74705SXin Li// CHECK-NEXT:          </dict>
2599*67e74705SXin Li// CHECK-NEXT:          <dict>
2600*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>164</integer>
2601*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2602*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2603*67e74705SXin Li// CHECK-NEXT:          </dict>
2604*67e74705SXin Li// CHECK-NEXT:         </array>
2605*67e74705SXin Li// CHECK-NEXT:       </dict>
2606*67e74705SXin Li// CHECK-NEXT:      </array>
2607*67e74705SXin Li// CHECK-NEXT:    </dict>
2608*67e74705SXin Li// CHECK-NEXT:    <dict>
2609*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2610*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2611*67e74705SXin Li// CHECK-NEXT:     <dict>
2612*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>164</integer>
2613*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
2614*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2615*67e74705SXin Li// CHECK-NEXT:     </dict>
2616*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2617*67e74705SXin Li// CHECK-NEXT:     <array>
2618*67e74705SXin Li// CHECK-NEXT:       <array>
2619*67e74705SXin Li// CHECK-NEXT:        <dict>
2620*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>164</integer>
2621*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
2622*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2623*67e74705SXin Li// CHECK-NEXT:        </dict>
2624*67e74705SXin Li// CHECK-NEXT:        <dict>
2625*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>164</integer>
2626*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
2627*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2628*67e74705SXin Li// CHECK-NEXT:        </dict>
2629*67e74705SXin Li// CHECK-NEXT:       </array>
2630*67e74705SXin Li// CHECK-NEXT:     </array>
2631*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2632*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2633*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2634*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2635*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2636*67e74705SXin Li// CHECK-NEXT:    </dict>
2637*67e74705SXin Li// CHECK-NEXT:   </array>
2638*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2639*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2640*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2641*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2642*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2643*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>22fad8121164716006b2a12f4ddc494e</string>
2644*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2645*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>genericSubtypeOfGeneric</string>
2646*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
2647*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2648*67e74705SXin Li// CHECK-NEXT:  <dict>
2649*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>164</integer>
2650*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
2651*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2652*67e74705SXin Li// CHECK-NEXT:  </dict>
2653*67e74705SXin Li// CHECK-NEXT:  </dict>
2654*67e74705SXin Li// CHECK-NEXT:  <dict>
2655*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2656*67e74705SXin Li// CHECK-NEXT:   <array>
2657*67e74705SXin Li// CHECK-NEXT:    <dict>
2658*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2659*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2660*67e74705SXin Li// CHECK-NEXT:     <dict>
2661*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>162</integer>
2662*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2663*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2664*67e74705SXin Li// CHECK-NEXT:     </dict>
2665*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2666*67e74705SXin Li// CHECK-NEXT:     <array>
2667*67e74705SXin Li// CHECK-NEXT:       <array>
2668*67e74705SXin Li// CHECK-NEXT:        <dict>
2669*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>162</integer>
2670*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2671*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2672*67e74705SXin Li// CHECK-NEXT:        </dict>
2673*67e74705SXin Li// CHECK-NEXT:        <dict>
2674*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>162</integer>
2675*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2676*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2677*67e74705SXin Li// CHECK-NEXT:        </dict>
2678*67e74705SXin Li// CHECK-NEXT:       </array>
2679*67e74705SXin Li// CHECK-NEXT:     </array>
2680*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2681*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2682*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
2683*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2684*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
2685*67e74705SXin Li// CHECK-NEXT:    </dict>
2686*67e74705SXin Li// CHECK-NEXT:    <dict>
2687*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2688*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2689*67e74705SXin Li// CHECK-NEXT:      <array>
2690*67e74705SXin Li// CHECK-NEXT:       <dict>
2691*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2692*67e74705SXin Li// CHECK-NEXT:         <array>
2693*67e74705SXin Li// CHECK-NEXT:          <dict>
2694*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>162</integer>
2695*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2696*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2697*67e74705SXin Li// CHECK-NEXT:          </dict>
2698*67e74705SXin Li// CHECK-NEXT:          <dict>
2699*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>162</integer>
2700*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2701*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2702*67e74705SXin Li// CHECK-NEXT:          </dict>
2703*67e74705SXin Li// CHECK-NEXT:         </array>
2704*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2705*67e74705SXin Li// CHECK-NEXT:         <array>
2706*67e74705SXin Li// CHECK-NEXT:          <dict>
2707*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2708*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2709*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2710*67e74705SXin Li// CHECK-NEXT:          </dict>
2711*67e74705SXin Li// CHECK-NEXT:          <dict>
2712*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2713*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2714*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2715*67e74705SXin Li// CHECK-NEXT:          </dict>
2716*67e74705SXin Li// CHECK-NEXT:         </array>
2717*67e74705SXin Li// CHECK-NEXT:       </dict>
2718*67e74705SXin Li// CHECK-NEXT:      </array>
2719*67e74705SXin Li// CHECK-NEXT:    </dict>
2720*67e74705SXin Li// CHECK-NEXT:    <dict>
2721*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2722*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2723*67e74705SXin Li// CHECK-NEXT:      <array>
2724*67e74705SXin Li// CHECK-NEXT:       <dict>
2725*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2726*67e74705SXin Li// CHECK-NEXT:         <array>
2727*67e74705SXin Li// CHECK-NEXT:          <dict>
2728*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2729*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2730*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2731*67e74705SXin Li// CHECK-NEXT:          </dict>
2732*67e74705SXin Li// CHECK-NEXT:          <dict>
2733*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2734*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2735*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2736*67e74705SXin Li// CHECK-NEXT:          </dict>
2737*67e74705SXin Li// CHECK-NEXT:         </array>
2738*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2739*67e74705SXin Li// CHECK-NEXT:         <array>
2740*67e74705SXin Li// CHECK-NEXT:          <dict>
2741*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2742*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
2743*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2744*67e74705SXin Li// CHECK-NEXT:          </dict>
2745*67e74705SXin Li// CHECK-NEXT:          <dict>
2746*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>166</integer>
2747*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
2748*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2749*67e74705SXin Li// CHECK-NEXT:          </dict>
2750*67e74705SXin Li// CHECK-NEXT:         </array>
2751*67e74705SXin Li// CHECK-NEXT:       </dict>
2752*67e74705SXin Li// CHECK-NEXT:      </array>
2753*67e74705SXin Li// CHECK-NEXT:    </dict>
2754*67e74705SXin Li// CHECK-NEXT:    <dict>
2755*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2756*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2757*67e74705SXin Li// CHECK-NEXT:     <dict>
2758*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>166</integer>
2759*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2760*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2761*67e74705SXin Li// CHECK-NEXT:     </dict>
2762*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2763*67e74705SXin Li// CHECK-NEXT:     <array>
2764*67e74705SXin Li// CHECK-NEXT:       <array>
2765*67e74705SXin Li// CHECK-NEXT:        <dict>
2766*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>166</integer>
2767*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2768*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2769*67e74705SXin Li// CHECK-NEXT:        </dict>
2770*67e74705SXin Li// CHECK-NEXT:        <dict>
2771*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>166</integer>
2772*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2773*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2774*67e74705SXin Li// CHECK-NEXT:        </dict>
2775*67e74705SXin Li// CHECK-NEXT:       </array>
2776*67e74705SXin Li// CHECK-NEXT:     </array>
2777*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2778*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2779*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2780*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2781*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2782*67e74705SXin Li// CHECK-NEXT:    </dict>
2783*67e74705SXin Li// CHECK-NEXT:   </array>
2784*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
2785*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2786*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2787*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2788*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2789*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>f1b900572a63726a729714a765595c38</string>
2790*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2791*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>genericSubtypeOfGeneric</string>
2792*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>5</string>
2793*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2794*67e74705SXin Li// CHECK-NEXT:  <dict>
2795*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>166</integer>
2796*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
2797*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2798*67e74705SXin Li// CHECK-NEXT:  </dict>
2799*67e74705SXin Li// CHECK-NEXT:  </dict>
2800*67e74705SXin Li// CHECK-NEXT:  <dict>
2801*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2802*67e74705SXin Li// CHECK-NEXT:   <array>
2803*67e74705SXin Li// CHECK-NEXT:    <dict>
2804*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2805*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2806*67e74705SXin Li// CHECK-NEXT:     <dict>
2807*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>172</integer>
2808*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2809*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2810*67e74705SXin Li// CHECK-NEXT:     </dict>
2811*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2812*67e74705SXin Li// CHECK-NEXT:     <array>
2813*67e74705SXin Li// CHECK-NEXT:       <array>
2814*67e74705SXin Li// CHECK-NEXT:        <dict>
2815*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>172</integer>
2816*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2817*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2818*67e74705SXin Li// CHECK-NEXT:        </dict>
2819*67e74705SXin Li// CHECK-NEXT:        <dict>
2820*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>172</integer>
2821*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2822*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2823*67e74705SXin Li// CHECK-NEXT:        </dict>
2824*67e74705SXin Li// CHECK-NEXT:       </array>
2825*67e74705SXin Li// CHECK-NEXT:     </array>
2826*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2827*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2828*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;ExceptionalArray&lt;NSString *&gt; *&apos;)</string>
2829*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2830*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;ExceptionalArray&lt;NSString *&gt; *&apos;)</string>
2831*67e74705SXin Li// CHECK-NEXT:    </dict>
2832*67e74705SXin Li// CHECK-NEXT:    <dict>
2833*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2834*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2835*67e74705SXin Li// CHECK-NEXT:      <array>
2836*67e74705SXin Li// CHECK-NEXT:       <dict>
2837*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2838*67e74705SXin Li// CHECK-NEXT:         <array>
2839*67e74705SXin Li// CHECK-NEXT:          <dict>
2840*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>172</integer>
2841*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2842*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2843*67e74705SXin Li// CHECK-NEXT:          </dict>
2844*67e74705SXin Li// CHECK-NEXT:          <dict>
2845*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>172</integer>
2846*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2847*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2848*67e74705SXin Li// CHECK-NEXT:          </dict>
2849*67e74705SXin Li// CHECK-NEXT:         </array>
2850*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2851*67e74705SXin Li// CHECK-NEXT:         <array>
2852*67e74705SXin Li// CHECK-NEXT:          <dict>
2853*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>174</integer>
2854*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2855*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2856*67e74705SXin Li// CHECK-NEXT:          </dict>
2857*67e74705SXin Li// CHECK-NEXT:          <dict>
2858*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>174</integer>
2859*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2860*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2861*67e74705SXin Li// CHECK-NEXT:          </dict>
2862*67e74705SXin Li// CHECK-NEXT:         </array>
2863*67e74705SXin Li// CHECK-NEXT:       </dict>
2864*67e74705SXin Li// CHECK-NEXT:      </array>
2865*67e74705SXin Li// CHECK-NEXT:    </dict>
2866*67e74705SXin Li// CHECK-NEXT:    <dict>
2867*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2868*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2869*67e74705SXin Li// CHECK-NEXT:     <dict>
2870*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>174</integer>
2871*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
2872*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2873*67e74705SXin Li// CHECK-NEXT:     </dict>
2874*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2875*67e74705SXin Li// CHECK-NEXT:     <array>
2876*67e74705SXin Li// CHECK-NEXT:       <array>
2877*67e74705SXin Li// CHECK-NEXT:        <dict>
2878*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>174</integer>
2879*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
2880*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2881*67e74705SXin Li// CHECK-NEXT:        </dict>
2882*67e74705SXin Li// CHECK-NEXT:        <dict>
2883*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>174</integer>
2884*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
2885*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2886*67e74705SXin Li// CHECK-NEXT:        </dict>
2887*67e74705SXin Li// CHECK-NEXT:       </array>
2888*67e74705SXin Li// CHECK-NEXT:     </array>
2889*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2890*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2891*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2892*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2893*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2894*67e74705SXin Li// CHECK-NEXT:    </dict>
2895*67e74705SXin Li// CHECK-NEXT:   </array>
2896*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
2897*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
2898*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
2899*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
2900*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
2901*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>c70c13fbce3e6a90637decd9d0e19d95</string>
2902*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
2903*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>genericSubtypeOfGenericReverse</string>
2904*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
2905*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
2906*67e74705SXin Li// CHECK-NEXT:  <dict>
2907*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>174</integer>
2908*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
2909*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
2910*67e74705SXin Li// CHECK-NEXT:  </dict>
2911*67e74705SXin Li// CHECK-NEXT:  </dict>
2912*67e74705SXin Li// CHECK-NEXT:  <dict>
2913*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
2914*67e74705SXin Li// CHECK-NEXT:   <array>
2915*67e74705SXin Li// CHECK-NEXT:    <dict>
2916*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
2917*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
2918*67e74705SXin Li// CHECK-NEXT:     <dict>
2919*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>172</integer>
2920*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
2921*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
2922*67e74705SXin Li// CHECK-NEXT:     </dict>
2923*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
2924*67e74705SXin Li// CHECK-NEXT:     <array>
2925*67e74705SXin Li// CHECK-NEXT:       <array>
2926*67e74705SXin Li// CHECK-NEXT:        <dict>
2927*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>172</integer>
2928*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2929*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2930*67e74705SXin Li// CHECK-NEXT:        </dict>
2931*67e74705SXin Li// CHECK-NEXT:        <dict>
2932*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>172</integer>
2933*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
2934*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
2935*67e74705SXin Li// CHECK-NEXT:        </dict>
2936*67e74705SXin Li// CHECK-NEXT:       </array>
2937*67e74705SXin Li// CHECK-NEXT:     </array>
2938*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
2939*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
2940*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;ExceptionalArray&lt;NSString *&gt; *&apos;)</string>
2941*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
2942*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;ExceptionalArray&lt;NSString *&gt; *&apos;)</string>
2943*67e74705SXin Li// CHECK-NEXT:    </dict>
2944*67e74705SXin Li// CHECK-NEXT:    <dict>
2945*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2946*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2947*67e74705SXin Li// CHECK-NEXT:      <array>
2948*67e74705SXin Li// CHECK-NEXT:       <dict>
2949*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2950*67e74705SXin Li// CHECK-NEXT:         <array>
2951*67e74705SXin Li// CHECK-NEXT:          <dict>
2952*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>172</integer>
2953*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2954*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2955*67e74705SXin Li// CHECK-NEXT:          </dict>
2956*67e74705SXin Li// CHECK-NEXT:          <dict>
2957*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>172</integer>
2958*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2959*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2960*67e74705SXin Li// CHECK-NEXT:          </dict>
2961*67e74705SXin Li// CHECK-NEXT:         </array>
2962*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2963*67e74705SXin Li// CHECK-NEXT:         <array>
2964*67e74705SXin Li// CHECK-NEXT:          <dict>
2965*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
2966*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2967*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2968*67e74705SXin Li// CHECK-NEXT:          </dict>
2969*67e74705SXin Li// CHECK-NEXT:          <dict>
2970*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
2971*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2972*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2973*67e74705SXin Li// CHECK-NEXT:          </dict>
2974*67e74705SXin Li// CHECK-NEXT:         </array>
2975*67e74705SXin Li// CHECK-NEXT:       </dict>
2976*67e74705SXin Li// CHECK-NEXT:      </array>
2977*67e74705SXin Li// CHECK-NEXT:    </dict>
2978*67e74705SXin Li// CHECK-NEXT:    <dict>
2979*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
2980*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
2981*67e74705SXin Li// CHECK-NEXT:      <array>
2982*67e74705SXin Li// CHECK-NEXT:       <dict>
2983*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
2984*67e74705SXin Li// CHECK-NEXT:         <array>
2985*67e74705SXin Li// CHECK-NEXT:          <dict>
2986*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
2987*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2988*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2989*67e74705SXin Li// CHECK-NEXT:          </dict>
2990*67e74705SXin Li// CHECK-NEXT:          <dict>
2991*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
2992*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
2993*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
2994*67e74705SXin Li// CHECK-NEXT:          </dict>
2995*67e74705SXin Li// CHECK-NEXT:         </array>
2996*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
2997*67e74705SXin Li// CHECK-NEXT:         <array>
2998*67e74705SXin Li// CHECK-NEXT:          <dict>
2999*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
3000*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
3001*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3002*67e74705SXin Li// CHECK-NEXT:          </dict>
3003*67e74705SXin Li// CHECK-NEXT:          <dict>
3004*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>176</integer>
3005*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
3006*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3007*67e74705SXin Li// CHECK-NEXT:          </dict>
3008*67e74705SXin Li// CHECK-NEXT:         </array>
3009*67e74705SXin Li// CHECK-NEXT:       </dict>
3010*67e74705SXin Li// CHECK-NEXT:      </array>
3011*67e74705SXin Li// CHECK-NEXT:    </dict>
3012*67e74705SXin Li// CHECK-NEXT:    <dict>
3013*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3014*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3015*67e74705SXin Li// CHECK-NEXT:     <dict>
3016*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>176</integer>
3017*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
3018*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3019*67e74705SXin Li// CHECK-NEXT:     </dict>
3020*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3021*67e74705SXin Li// CHECK-NEXT:     <array>
3022*67e74705SXin Li// CHECK-NEXT:       <array>
3023*67e74705SXin Li// CHECK-NEXT:        <dict>
3024*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>176</integer>
3025*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
3026*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3027*67e74705SXin Li// CHECK-NEXT:        </dict>
3028*67e74705SXin Li// CHECK-NEXT:        <dict>
3029*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>176</integer>
3030*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
3031*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3032*67e74705SXin Li// CHECK-NEXT:        </dict>
3033*67e74705SXin Li// CHECK-NEXT:       </array>
3034*67e74705SXin Li// CHECK-NEXT:     </array>
3035*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3036*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3037*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
3038*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3039*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
3040*67e74705SXin Li// CHECK-NEXT:    </dict>
3041*67e74705SXin Li// CHECK-NEXT:   </array>
3042*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;ExceptionalArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSNumber *&gt; *&apos;</string>
3043*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3044*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3045*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3046*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3047*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>b6ee3b22fbad45f213b4bf14bec7eeaf</string>
3048*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3049*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>genericSubtypeOfGenericReverse</string>
3050*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>5</string>
3051*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3052*67e74705SXin Li// CHECK-NEXT:  <dict>
3053*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>176</integer>
3054*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
3055*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3056*67e74705SXin Li// CHECK-NEXT:  </dict>
3057*67e74705SXin Li// CHECK-NEXT:  </dict>
3058*67e74705SXin Li// CHECK-NEXT:  <dict>
3059*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3060*67e74705SXin Li// CHECK-NEXT:   <array>
3061*67e74705SXin Li// CHECK-NEXT:    <dict>
3062*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3063*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3064*67e74705SXin Li// CHECK-NEXT:     <dict>
3065*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>182</integer>
3066*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3067*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3068*67e74705SXin Li// CHECK-NEXT:     </dict>
3069*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3070*67e74705SXin Li// CHECK-NEXT:     <array>
3071*67e74705SXin Li// CHECK-NEXT:       <array>
3072*67e74705SXin Li// CHECK-NEXT:        <dict>
3073*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>182</integer>
3074*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3075*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3076*67e74705SXin Li// CHECK-NEXT:        </dict>
3077*67e74705SXin Li// CHECK-NEXT:        <dict>
3078*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>182</integer>
3079*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3080*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3081*67e74705SXin Li// CHECK-NEXT:        </dict>
3082*67e74705SXin Li// CHECK-NEXT:       </array>
3083*67e74705SXin Li// CHECK-NEXT:     </array>
3084*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3085*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3086*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3087*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3088*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3089*67e74705SXin Li// CHECK-NEXT:    </dict>
3090*67e74705SXin Li// CHECK-NEXT:    <dict>
3091*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3092*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3093*67e74705SXin Li// CHECK-NEXT:      <array>
3094*67e74705SXin Li// CHECK-NEXT:       <dict>
3095*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3096*67e74705SXin Li// CHECK-NEXT:         <array>
3097*67e74705SXin Li// CHECK-NEXT:          <dict>
3098*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>182</integer>
3099*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3100*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3101*67e74705SXin Li// CHECK-NEXT:          </dict>
3102*67e74705SXin Li// CHECK-NEXT:          <dict>
3103*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>182</integer>
3104*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3105*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3106*67e74705SXin Li// CHECK-NEXT:          </dict>
3107*67e74705SXin Li// CHECK-NEXT:         </array>
3108*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3109*67e74705SXin Li// CHECK-NEXT:         <array>
3110*67e74705SXin Li// CHECK-NEXT:          <dict>
3111*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3112*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3113*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3114*67e74705SXin Li// CHECK-NEXT:          </dict>
3115*67e74705SXin Li// CHECK-NEXT:          <dict>
3116*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3117*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3118*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3119*67e74705SXin Li// CHECK-NEXT:          </dict>
3120*67e74705SXin Li// CHECK-NEXT:         </array>
3121*67e74705SXin Li// CHECK-NEXT:       </dict>
3122*67e74705SXin Li// CHECK-NEXT:      </array>
3123*67e74705SXin Li// CHECK-NEXT:    </dict>
3124*67e74705SXin Li// CHECK-NEXT:    <dict>
3125*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3126*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3127*67e74705SXin Li// CHECK-NEXT:      <array>
3128*67e74705SXin Li// CHECK-NEXT:       <dict>
3129*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3130*67e74705SXin Li// CHECK-NEXT:         <array>
3131*67e74705SXin Li// CHECK-NEXT:          <dict>
3132*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3133*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3134*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3135*67e74705SXin Li// CHECK-NEXT:          </dict>
3136*67e74705SXin Li// CHECK-NEXT:          <dict>
3137*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3138*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3139*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3140*67e74705SXin Li// CHECK-NEXT:          </dict>
3141*67e74705SXin Li// CHECK-NEXT:         </array>
3142*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3143*67e74705SXin Li// CHECK-NEXT:         <array>
3144*67e74705SXin Li// CHECK-NEXT:          <dict>
3145*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3146*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3147*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3148*67e74705SXin Li// CHECK-NEXT:          </dict>
3149*67e74705SXin Li// CHECK-NEXT:          <dict>
3150*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>183</integer>
3151*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3152*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3153*67e74705SXin Li// CHECK-NEXT:          </dict>
3154*67e74705SXin Li// CHECK-NEXT:         </array>
3155*67e74705SXin Li// CHECK-NEXT:       </dict>
3156*67e74705SXin Li// CHECK-NEXT:      </array>
3157*67e74705SXin Li// CHECK-NEXT:    </dict>
3158*67e74705SXin Li// CHECK-NEXT:    <dict>
3159*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3160*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3161*67e74705SXin Li// CHECK-NEXT:     <dict>
3162*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>183</integer>
3163*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3164*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3165*67e74705SXin Li// CHECK-NEXT:     </dict>
3166*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3167*67e74705SXin Li// CHECK-NEXT:     <array>
3168*67e74705SXin Li// CHECK-NEXT:       <array>
3169*67e74705SXin Li// CHECK-NEXT:        <dict>
3170*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>183</integer>
3171*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3172*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3173*67e74705SXin Li// CHECK-NEXT:        </dict>
3174*67e74705SXin Li// CHECK-NEXT:        <dict>
3175*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>183</integer>
3176*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3177*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3178*67e74705SXin Li// CHECK-NEXT:        </dict>
3179*67e74705SXin Li// CHECK-NEXT:       </array>
3180*67e74705SXin Li// CHECK-NEXT:     </array>
3181*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3182*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3183*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3184*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3185*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3186*67e74705SXin Li// CHECK-NEXT:    </dict>
3187*67e74705SXin Li// CHECK-NEXT:   </array>
3188*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3189*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3190*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3191*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3192*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3193*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>6aab15d40b39ec0a6b749e561d486e6a</string>
3194*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3195*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPI</string>
3196*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>4</string>
3197*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3198*67e74705SXin Li// CHECK-NEXT:  <dict>
3199*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>183</integer>
3200*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>27</integer>
3201*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3202*67e74705SXin Li// CHECK-NEXT:  </dict>
3203*67e74705SXin Li// CHECK-NEXT:  </dict>
3204*67e74705SXin Li// CHECK-NEXT:  <dict>
3205*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3206*67e74705SXin Li// CHECK-NEXT:   <array>
3207*67e74705SXin Li// CHECK-NEXT:    <dict>
3208*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3209*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3210*67e74705SXin Li// CHECK-NEXT:     <dict>
3211*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>187</integer>
3212*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3213*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3214*67e74705SXin Li// CHECK-NEXT:     </dict>
3215*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3216*67e74705SXin Li// CHECK-NEXT:     <array>
3217*67e74705SXin Li// CHECK-NEXT:       <array>
3218*67e74705SXin Li// CHECK-NEXT:        <dict>
3219*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>187</integer>
3220*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3221*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3222*67e74705SXin Li// CHECK-NEXT:        </dict>
3223*67e74705SXin Li// CHECK-NEXT:        <dict>
3224*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>187</integer>
3225*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3226*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3227*67e74705SXin Li// CHECK-NEXT:        </dict>
3228*67e74705SXin Li// CHECK-NEXT:       </array>
3229*67e74705SXin Li// CHECK-NEXT:     </array>
3230*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3231*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3232*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
3233*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3234*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;id&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
3235*67e74705SXin Li// CHECK-NEXT:    </dict>
3236*67e74705SXin Li// CHECK-NEXT:    <dict>
3237*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3238*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3239*67e74705SXin Li// CHECK-NEXT:      <array>
3240*67e74705SXin Li// CHECK-NEXT:       <dict>
3241*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3242*67e74705SXin Li// CHECK-NEXT:         <array>
3243*67e74705SXin Li// CHECK-NEXT:          <dict>
3244*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>187</integer>
3245*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3246*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3247*67e74705SXin Li// CHECK-NEXT:          </dict>
3248*67e74705SXin Li// CHECK-NEXT:          <dict>
3249*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>187</integer>
3250*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3251*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3252*67e74705SXin Li// CHECK-NEXT:          </dict>
3253*67e74705SXin Li// CHECK-NEXT:         </array>
3254*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3255*67e74705SXin Li// CHECK-NEXT:         <array>
3256*67e74705SXin Li// CHECK-NEXT:          <dict>
3257*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3258*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3259*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3260*67e74705SXin Li// CHECK-NEXT:          </dict>
3261*67e74705SXin Li// CHECK-NEXT:          <dict>
3262*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3263*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3264*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3265*67e74705SXin Li// CHECK-NEXT:          </dict>
3266*67e74705SXin Li// CHECK-NEXT:         </array>
3267*67e74705SXin Li// CHECK-NEXT:       </dict>
3268*67e74705SXin Li// CHECK-NEXT:      </array>
3269*67e74705SXin Li// CHECK-NEXT:    </dict>
3270*67e74705SXin Li// CHECK-NEXT:    <dict>
3271*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3272*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3273*67e74705SXin Li// CHECK-NEXT:      <array>
3274*67e74705SXin Li// CHECK-NEXT:       <dict>
3275*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3276*67e74705SXin Li// CHECK-NEXT:         <array>
3277*67e74705SXin Li// CHECK-NEXT:          <dict>
3278*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3279*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3280*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3281*67e74705SXin Li// CHECK-NEXT:          </dict>
3282*67e74705SXin Li// CHECK-NEXT:          <dict>
3283*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3284*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3285*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3286*67e74705SXin Li// CHECK-NEXT:          </dict>
3287*67e74705SXin Li// CHECK-NEXT:         </array>
3288*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3289*67e74705SXin Li// CHECK-NEXT:         <array>
3290*67e74705SXin Li// CHECK-NEXT:          <dict>
3291*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3292*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
3293*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3294*67e74705SXin Li// CHECK-NEXT:          </dict>
3295*67e74705SXin Li// CHECK-NEXT:          <dict>
3296*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>188</integer>
3297*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
3298*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3299*67e74705SXin Li// CHECK-NEXT:          </dict>
3300*67e74705SXin Li// CHECK-NEXT:         </array>
3301*67e74705SXin Li// CHECK-NEXT:       </dict>
3302*67e74705SXin Li// CHECK-NEXT:      </array>
3303*67e74705SXin Li// CHECK-NEXT:    </dict>
3304*67e74705SXin Li// CHECK-NEXT:    <dict>
3305*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3306*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3307*67e74705SXin Li// CHECK-NEXT:     <dict>
3308*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>188</integer>
3309*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3310*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3311*67e74705SXin Li// CHECK-NEXT:     </dict>
3312*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3313*67e74705SXin Li// CHECK-NEXT:     <array>
3314*67e74705SXin Li// CHECK-NEXT:       <array>
3315*67e74705SXin Li// CHECK-NEXT:        <dict>
3316*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>188</integer>
3317*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3318*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3319*67e74705SXin Li// CHECK-NEXT:        </dict>
3320*67e74705SXin Li// CHECK-NEXT:        <dict>
3321*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>188</integer>
3322*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3323*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3324*67e74705SXin Li// CHECK-NEXT:        </dict>
3325*67e74705SXin Li// CHECK-NEXT:       </array>
3326*67e74705SXin Li// CHECK-NEXT:     </array>
3327*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3328*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3329*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3330*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3331*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3332*67e74705SXin Li// CHECK-NEXT:    </dict>
3333*67e74705SXin Li// CHECK-NEXT:   </array>
3334*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3335*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3336*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3337*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3338*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3339*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>bd1da1b7775323773555e5d5c122661f</string>
3340*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3341*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPI2</string>
3342*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
3343*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3344*67e74705SXin Li// CHECK-NEXT:  <dict>
3345*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>188</integer>
3346*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>20</integer>
3347*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3348*67e74705SXin Li// CHECK-NEXT:  </dict>
3349*67e74705SXin Li// CHECK-NEXT:  </dict>
3350*67e74705SXin Li// CHECK-NEXT:  <dict>
3351*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3352*67e74705SXin Li// CHECK-NEXT:   <array>
3353*67e74705SXin Li// CHECK-NEXT:    <dict>
3354*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3355*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3356*67e74705SXin Li// CHECK-NEXT:     <dict>
3357*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>192</integer>
3358*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3359*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3360*67e74705SXin Li// CHECK-NEXT:     </dict>
3361*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3362*67e74705SXin Li// CHECK-NEXT:     <array>
3363*67e74705SXin Li// CHECK-NEXT:       <array>
3364*67e74705SXin Li// CHECK-NEXT:        <dict>
3365*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>192</integer>
3366*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3367*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3368*67e74705SXin Li// CHECK-NEXT:        </dict>
3369*67e74705SXin Li// CHECK-NEXT:        <dict>
3370*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>192</integer>
3371*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3372*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3373*67e74705SXin Li// CHECK-NEXT:        </dict>
3374*67e74705SXin Li// CHECK-NEXT:       </array>
3375*67e74705SXin Li// CHECK-NEXT:     </array>
3376*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3377*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3378*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacyMutableArray *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
3379*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3380*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacyMutableArray *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
3381*67e74705SXin Li// CHECK-NEXT:    </dict>
3382*67e74705SXin Li// CHECK-NEXT:    <dict>
3383*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3384*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3385*67e74705SXin Li// CHECK-NEXT:      <array>
3386*67e74705SXin Li// CHECK-NEXT:       <dict>
3387*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3388*67e74705SXin Li// CHECK-NEXT:         <array>
3389*67e74705SXin Li// CHECK-NEXT:          <dict>
3390*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>192</integer>
3391*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3392*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3393*67e74705SXin Li// CHECK-NEXT:          </dict>
3394*67e74705SXin Li// CHECK-NEXT:          <dict>
3395*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>192</integer>
3396*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3397*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3398*67e74705SXin Li// CHECK-NEXT:          </dict>
3399*67e74705SXin Li// CHECK-NEXT:         </array>
3400*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3401*67e74705SXin Li// CHECK-NEXT:         <array>
3402*67e74705SXin Li// CHECK-NEXT:          <dict>
3403*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3404*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3405*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3406*67e74705SXin Li// CHECK-NEXT:          </dict>
3407*67e74705SXin Li// CHECK-NEXT:          <dict>
3408*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3409*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3410*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3411*67e74705SXin Li// CHECK-NEXT:          </dict>
3412*67e74705SXin Li// CHECK-NEXT:         </array>
3413*67e74705SXin Li// CHECK-NEXT:       </dict>
3414*67e74705SXin Li// CHECK-NEXT:      </array>
3415*67e74705SXin Li// CHECK-NEXT:    </dict>
3416*67e74705SXin Li// CHECK-NEXT:    <dict>
3417*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3418*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3419*67e74705SXin Li// CHECK-NEXT:      <array>
3420*67e74705SXin Li// CHECK-NEXT:       <dict>
3421*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3422*67e74705SXin Li// CHECK-NEXT:         <array>
3423*67e74705SXin Li// CHECK-NEXT:          <dict>
3424*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3425*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3426*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3427*67e74705SXin Li// CHECK-NEXT:          </dict>
3428*67e74705SXin Li// CHECK-NEXT:          <dict>
3429*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3430*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3431*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3432*67e74705SXin Li// CHECK-NEXT:          </dict>
3433*67e74705SXin Li// CHECK-NEXT:         </array>
3434*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3435*67e74705SXin Li// CHECK-NEXT:         <array>
3436*67e74705SXin Li// CHECK-NEXT:          <dict>
3437*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3438*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
3439*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3440*67e74705SXin Li// CHECK-NEXT:          </dict>
3441*67e74705SXin Li// CHECK-NEXT:          <dict>
3442*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>193</integer>
3443*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
3444*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3445*67e74705SXin Li// CHECK-NEXT:          </dict>
3446*67e74705SXin Li// CHECK-NEXT:         </array>
3447*67e74705SXin Li// CHECK-NEXT:       </dict>
3448*67e74705SXin Li// CHECK-NEXT:      </array>
3449*67e74705SXin Li// CHECK-NEXT:    </dict>
3450*67e74705SXin Li// CHECK-NEXT:    <dict>
3451*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3452*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3453*67e74705SXin Li// CHECK-NEXT:     <dict>
3454*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>193</integer>
3455*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3456*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3457*67e74705SXin Li// CHECK-NEXT:     </dict>
3458*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3459*67e74705SXin Li// CHECK-NEXT:     <array>
3460*67e74705SXin Li// CHECK-NEXT:       <array>
3461*67e74705SXin Li// CHECK-NEXT:        <dict>
3462*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>193</integer>
3463*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3464*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3465*67e74705SXin Li// CHECK-NEXT:        </dict>
3466*67e74705SXin Li// CHECK-NEXT:        <dict>
3467*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>193</integer>
3468*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3469*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3470*67e74705SXin Li// CHECK-NEXT:        </dict>
3471*67e74705SXin Li// CHECK-NEXT:       </array>
3472*67e74705SXin Li// CHECK-NEXT:     </array>
3473*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3474*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3475*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3476*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3477*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3478*67e74705SXin Li// CHECK-NEXT:    </dict>
3479*67e74705SXin Li// CHECK-NEXT:   </array>
3480*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
3481*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3482*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3483*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3484*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3485*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>3f2abd3c0b4b4a80a71bcbb668124ffb</string>
3486*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3487*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPIWithLegacyTypes</string>
3488*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
3489*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3490*67e74705SXin Li// CHECK-NEXT:  <dict>
3491*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>193</integer>
3492*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>20</integer>
3493*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3494*67e74705SXin Li// CHECK-NEXT:  </dict>
3495*67e74705SXin Li// CHECK-NEXT:  </dict>
3496*67e74705SXin Li// CHECK-NEXT:  <dict>
3497*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3498*67e74705SXin Li// CHECK-NEXT:   <array>
3499*67e74705SXin Li// CHECK-NEXT:    <dict>
3500*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3501*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3502*67e74705SXin Li// CHECK-NEXT:     <dict>
3503*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>197</integer>
3504*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3505*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3506*67e74705SXin Li// CHECK-NEXT:     </dict>
3507*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3508*67e74705SXin Li// CHECK-NEXT:     <array>
3509*67e74705SXin Li// CHECK-NEXT:       <array>
3510*67e74705SXin Li// CHECK-NEXT:        <dict>
3511*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>197</integer>
3512*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3513*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3514*67e74705SXin Li// CHECK-NEXT:        </dict>
3515*67e74705SXin Li// CHECK-NEXT:        <dict>
3516*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>197</integer>
3517*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3518*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3519*67e74705SXin Li// CHECK-NEXT:        </dict>
3520*67e74705SXin Li// CHECK-NEXT:       </array>
3521*67e74705SXin Li// CHECK-NEXT:     </array>
3522*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3523*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3524*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacySpecialMutableArray *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3525*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3526*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacySpecialMutableArray *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3527*67e74705SXin Li// CHECK-NEXT:    </dict>
3528*67e74705SXin Li// CHECK-NEXT:    <dict>
3529*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3530*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3531*67e74705SXin Li// CHECK-NEXT:      <array>
3532*67e74705SXin Li// CHECK-NEXT:       <dict>
3533*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3534*67e74705SXin Li// CHECK-NEXT:         <array>
3535*67e74705SXin Li// CHECK-NEXT:          <dict>
3536*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>197</integer>
3537*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3538*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3539*67e74705SXin Li// CHECK-NEXT:          </dict>
3540*67e74705SXin Li// CHECK-NEXT:          <dict>
3541*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>197</integer>
3542*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3543*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3544*67e74705SXin Li// CHECK-NEXT:          </dict>
3545*67e74705SXin Li// CHECK-NEXT:         </array>
3546*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3547*67e74705SXin Li// CHECK-NEXT:         <array>
3548*67e74705SXin Li// CHECK-NEXT:          <dict>
3549*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3550*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3551*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3552*67e74705SXin Li// CHECK-NEXT:          </dict>
3553*67e74705SXin Li// CHECK-NEXT:          <dict>
3554*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3555*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3556*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3557*67e74705SXin Li// CHECK-NEXT:          </dict>
3558*67e74705SXin Li// CHECK-NEXT:         </array>
3559*67e74705SXin Li// CHECK-NEXT:       </dict>
3560*67e74705SXin Li// CHECK-NEXT:      </array>
3561*67e74705SXin Li// CHECK-NEXT:    </dict>
3562*67e74705SXin Li// CHECK-NEXT:    <dict>
3563*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3564*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3565*67e74705SXin Li// CHECK-NEXT:      <array>
3566*67e74705SXin Li// CHECK-NEXT:       <dict>
3567*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3568*67e74705SXin Li// CHECK-NEXT:         <array>
3569*67e74705SXin Li// CHECK-NEXT:          <dict>
3570*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3571*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3572*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3573*67e74705SXin Li// CHECK-NEXT:          </dict>
3574*67e74705SXin Li// CHECK-NEXT:          <dict>
3575*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3576*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3577*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3578*67e74705SXin Li// CHECK-NEXT:          </dict>
3579*67e74705SXin Li// CHECK-NEXT:         </array>
3580*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3581*67e74705SXin Li// CHECK-NEXT:         <array>
3582*67e74705SXin Li// CHECK-NEXT:          <dict>
3583*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3584*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3585*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3586*67e74705SXin Li// CHECK-NEXT:          </dict>
3587*67e74705SXin Li// CHECK-NEXT:          <dict>
3588*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>198</integer>
3589*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3590*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3591*67e74705SXin Li// CHECK-NEXT:          </dict>
3592*67e74705SXin Li// CHECK-NEXT:         </array>
3593*67e74705SXin Li// CHECK-NEXT:       </dict>
3594*67e74705SXin Li// CHECK-NEXT:      </array>
3595*67e74705SXin Li// CHECK-NEXT:    </dict>
3596*67e74705SXin Li// CHECK-NEXT:    <dict>
3597*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3598*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3599*67e74705SXin Li// CHECK-NEXT:     <dict>
3600*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>198</integer>
3601*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3602*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3603*67e74705SXin Li// CHECK-NEXT:     </dict>
3604*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3605*67e74705SXin Li// CHECK-NEXT:     <array>
3606*67e74705SXin Li// CHECK-NEXT:       <array>
3607*67e74705SXin Li// CHECK-NEXT:        <dict>
3608*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>198</integer>
3609*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3610*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3611*67e74705SXin Li// CHECK-NEXT:        </dict>
3612*67e74705SXin Li// CHECK-NEXT:        <dict>
3613*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>198</integer>
3614*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3615*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3616*67e74705SXin Li// CHECK-NEXT:        </dict>
3617*67e74705SXin Li// CHECK-NEXT:       </array>
3618*67e74705SXin Li// CHECK-NEXT:     </array>
3619*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3620*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3621*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3622*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3623*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3624*67e74705SXin Li// CHECK-NEXT:    </dict>
3625*67e74705SXin Li// CHECK-NEXT:   </array>
3626*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3627*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3628*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3629*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3630*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3631*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>73a50f2592e8b3c9af898749f24176f7</string>
3632*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3633*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPIWithLegacyTypes2</string>
3634*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
3635*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3636*67e74705SXin Li// CHECK-NEXT:  <dict>
3637*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>198</integer>
3638*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>27</integer>
3639*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3640*67e74705SXin Li// CHECK-NEXT:  </dict>
3641*67e74705SXin Li// CHECK-NEXT:  </dict>
3642*67e74705SXin Li// CHECK-NEXT:  <dict>
3643*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3644*67e74705SXin Li// CHECK-NEXT:   <array>
3645*67e74705SXin Li// CHECK-NEXT:    <dict>
3646*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3647*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3648*67e74705SXin Li// CHECK-NEXT:     <dict>
3649*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>202</integer>
3650*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3651*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3652*67e74705SXin Li// CHECK-NEXT:     </dict>
3653*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3654*67e74705SXin Li// CHECK-NEXT:     <array>
3655*67e74705SXin Li// CHECK-NEXT:       <array>
3656*67e74705SXin Li// CHECK-NEXT:        <dict>
3657*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>202</integer>
3658*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3659*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3660*67e74705SXin Li// CHECK-NEXT:        </dict>
3661*67e74705SXin Li// CHECK-NEXT:        <dict>
3662*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>202</integer>
3663*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3664*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3665*67e74705SXin Li// CHECK-NEXT:        </dict>
3666*67e74705SXin Li// CHECK-NEXT:       </array>
3667*67e74705SXin Li// CHECK-NEXT:     </array>
3668*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3669*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3670*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;__kindof NSArray&lt;NSString *&gt; *&apos; to &apos;LegacyMutableArray *&apos;)</string>
3671*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3672*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;__kindof NSArray&lt;NSString *&gt; *&apos; to &apos;LegacyMutableArray *&apos;)</string>
3673*67e74705SXin Li// CHECK-NEXT:    </dict>
3674*67e74705SXin Li// CHECK-NEXT:    <dict>
3675*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3676*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3677*67e74705SXin Li// CHECK-NEXT:      <array>
3678*67e74705SXin Li// CHECK-NEXT:       <dict>
3679*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3680*67e74705SXin Li// CHECK-NEXT:         <array>
3681*67e74705SXin Li// CHECK-NEXT:          <dict>
3682*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>202</integer>
3683*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3684*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3685*67e74705SXin Li// CHECK-NEXT:          </dict>
3686*67e74705SXin Li// CHECK-NEXT:          <dict>
3687*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>202</integer>
3688*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
3689*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3690*67e74705SXin Li// CHECK-NEXT:          </dict>
3691*67e74705SXin Li// CHECK-NEXT:         </array>
3692*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3693*67e74705SXin Li// CHECK-NEXT:         <array>
3694*67e74705SXin Li// CHECK-NEXT:          <dict>
3695*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>203</integer>
3696*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3697*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3698*67e74705SXin Li// CHECK-NEXT:          </dict>
3699*67e74705SXin Li// CHECK-NEXT:          <dict>
3700*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>203</integer>
3701*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3702*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3703*67e74705SXin Li// CHECK-NEXT:          </dict>
3704*67e74705SXin Li// CHECK-NEXT:         </array>
3705*67e74705SXin Li// CHECK-NEXT:       </dict>
3706*67e74705SXin Li// CHECK-NEXT:      </array>
3707*67e74705SXin Li// CHECK-NEXT:    </dict>
3708*67e74705SXin Li// CHECK-NEXT:    <dict>
3709*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3710*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3711*67e74705SXin Li// CHECK-NEXT:     <dict>
3712*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>203</integer>
3713*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3714*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3715*67e74705SXin Li// CHECK-NEXT:     </dict>
3716*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3717*67e74705SXin Li// CHECK-NEXT:     <array>
3718*67e74705SXin Li// CHECK-NEXT:       <array>
3719*67e74705SXin Li// CHECK-NEXT:        <dict>
3720*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>203</integer>
3721*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3722*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3723*67e74705SXin Li// CHECK-NEXT:        </dict>
3724*67e74705SXin Li// CHECK-NEXT:        <dict>
3725*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>203</integer>
3726*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3727*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3728*67e74705SXin Li// CHECK-NEXT:        </dict>
3729*67e74705SXin Li// CHECK-NEXT:       </array>
3730*67e74705SXin Li// CHECK-NEXT:     </array>
3731*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3732*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3733*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacyMutableArray *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3734*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3735*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;LegacyMutableArray *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3736*67e74705SXin Li// CHECK-NEXT:    </dict>
3737*67e74705SXin Li// CHECK-NEXT:    <dict>
3738*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3739*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3740*67e74705SXin Li// CHECK-NEXT:      <array>
3741*67e74705SXin Li// CHECK-NEXT:       <dict>
3742*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3743*67e74705SXin Li// CHECK-NEXT:         <array>
3744*67e74705SXin Li// CHECK-NEXT:          <dict>
3745*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>203</integer>
3746*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3747*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3748*67e74705SXin Li// CHECK-NEXT:          </dict>
3749*67e74705SXin Li// CHECK-NEXT:          <dict>
3750*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>203</integer>
3751*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3752*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3753*67e74705SXin Li// CHECK-NEXT:          </dict>
3754*67e74705SXin Li// CHECK-NEXT:         </array>
3755*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3756*67e74705SXin Li// CHECK-NEXT:         <array>
3757*67e74705SXin Li// CHECK-NEXT:          <dict>
3758*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3759*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3760*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3761*67e74705SXin Li// CHECK-NEXT:          </dict>
3762*67e74705SXin Li// CHECK-NEXT:          <dict>
3763*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3764*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3765*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3766*67e74705SXin Li// CHECK-NEXT:          </dict>
3767*67e74705SXin Li// CHECK-NEXT:         </array>
3768*67e74705SXin Li// CHECK-NEXT:       </dict>
3769*67e74705SXin Li// CHECK-NEXT:      </array>
3770*67e74705SXin Li// CHECK-NEXT:    </dict>
3771*67e74705SXin Li// CHECK-NEXT:    <dict>
3772*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3773*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3774*67e74705SXin Li// CHECK-NEXT:      <array>
3775*67e74705SXin Li// CHECK-NEXT:       <dict>
3776*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3777*67e74705SXin Li// CHECK-NEXT:         <array>
3778*67e74705SXin Li// CHECK-NEXT:          <dict>
3779*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3780*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3781*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3782*67e74705SXin Li// CHECK-NEXT:          </dict>
3783*67e74705SXin Li// CHECK-NEXT:          <dict>
3784*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3785*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3786*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3787*67e74705SXin Li// CHECK-NEXT:          </dict>
3788*67e74705SXin Li// CHECK-NEXT:         </array>
3789*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3790*67e74705SXin Li// CHECK-NEXT:         <array>
3791*67e74705SXin Li// CHECK-NEXT:          <dict>
3792*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3793*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3794*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3795*67e74705SXin Li// CHECK-NEXT:          </dict>
3796*67e74705SXin Li// CHECK-NEXT:          <dict>
3797*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>204</integer>
3798*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3799*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3800*67e74705SXin Li// CHECK-NEXT:          </dict>
3801*67e74705SXin Li// CHECK-NEXT:         </array>
3802*67e74705SXin Li// CHECK-NEXT:       </dict>
3803*67e74705SXin Li// CHECK-NEXT:      </array>
3804*67e74705SXin Li// CHECK-NEXT:    </dict>
3805*67e74705SXin Li// CHECK-NEXT:    <dict>
3806*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3807*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3808*67e74705SXin Li// CHECK-NEXT:     <dict>
3809*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>204</integer>
3810*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3811*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3812*67e74705SXin Li// CHECK-NEXT:     </dict>
3813*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3814*67e74705SXin Li// CHECK-NEXT:     <array>
3815*67e74705SXin Li// CHECK-NEXT:       <array>
3816*67e74705SXin Li// CHECK-NEXT:        <dict>
3817*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>204</integer>
3818*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3819*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3820*67e74705SXin Li// CHECK-NEXT:        </dict>
3821*67e74705SXin Li// CHECK-NEXT:        <dict>
3822*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>204</integer>
3823*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3824*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3825*67e74705SXin Li// CHECK-NEXT:        </dict>
3826*67e74705SXin Li// CHECK-NEXT:       </array>
3827*67e74705SXin Li// CHECK-NEXT:     </array>
3828*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3829*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3830*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3831*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3832*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3833*67e74705SXin Li// CHECK-NEXT:    </dict>
3834*67e74705SXin Li// CHECK-NEXT:   </array>
3835*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3836*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3837*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3838*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3839*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3840*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>23ca540c8961ab9a362a194e1e895f86</string>
3841*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3842*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPIWithLegacyTypes3</string>
3843*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
3844*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3845*67e74705SXin Li// CHECK-NEXT:  <dict>
3846*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>204</integer>
3847*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>27</integer>
3848*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3849*67e74705SXin Li// CHECK-NEXT:  </dict>
3850*67e74705SXin Li// CHECK-NEXT:  </dict>
3851*67e74705SXin Li// CHECK-NEXT:  <dict>
3852*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3853*67e74705SXin Li// CHECK-NEXT:   <array>
3854*67e74705SXin Li// CHECK-NEXT:    <dict>
3855*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3856*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3857*67e74705SXin Li// CHECK-NEXT:     <dict>
3858*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>208</integer>
3859*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
3860*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3861*67e74705SXin Li// CHECK-NEXT:     </dict>
3862*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3863*67e74705SXin Li// CHECK-NEXT:     <array>
3864*67e74705SXin Li// CHECK-NEXT:       <array>
3865*67e74705SXin Li// CHECK-NEXT:        <dict>
3866*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>208</integer>
3867*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3868*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3869*67e74705SXin Li// CHECK-NEXT:        </dict>
3870*67e74705SXin Li// CHECK-NEXT:        <dict>
3871*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>208</integer>
3872*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
3873*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3874*67e74705SXin Li// CHECK-NEXT:        </dict>
3875*67e74705SXin Li// CHECK-NEXT:       </array>
3876*67e74705SXin Li// CHECK-NEXT:     </array>
3877*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3878*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3879*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3880*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3881*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
3882*67e74705SXin Li// CHECK-NEXT:    </dict>
3883*67e74705SXin Li// CHECK-NEXT:    <dict>
3884*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3885*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3886*67e74705SXin Li// CHECK-NEXT:      <array>
3887*67e74705SXin Li// CHECK-NEXT:       <dict>
3888*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3889*67e74705SXin Li// CHECK-NEXT:         <array>
3890*67e74705SXin Li// CHECK-NEXT:          <dict>
3891*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>208</integer>
3892*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3893*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3894*67e74705SXin Li// CHECK-NEXT:          </dict>
3895*67e74705SXin Li// CHECK-NEXT:          <dict>
3896*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>208</integer>
3897*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
3898*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3899*67e74705SXin Li// CHECK-NEXT:          </dict>
3900*67e74705SXin Li// CHECK-NEXT:         </array>
3901*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3902*67e74705SXin Li// CHECK-NEXT:         <array>
3903*67e74705SXin Li// CHECK-NEXT:          <dict>
3904*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3905*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3906*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3907*67e74705SXin Li// CHECK-NEXT:          </dict>
3908*67e74705SXin Li// CHECK-NEXT:          <dict>
3909*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3910*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3911*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3912*67e74705SXin Li// CHECK-NEXT:          </dict>
3913*67e74705SXin Li// CHECK-NEXT:         </array>
3914*67e74705SXin Li// CHECK-NEXT:       </dict>
3915*67e74705SXin Li// CHECK-NEXT:      </array>
3916*67e74705SXin Li// CHECK-NEXT:    </dict>
3917*67e74705SXin Li// CHECK-NEXT:    <dict>
3918*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
3919*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
3920*67e74705SXin Li// CHECK-NEXT:      <array>
3921*67e74705SXin Li// CHECK-NEXT:       <dict>
3922*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
3923*67e74705SXin Li// CHECK-NEXT:         <array>
3924*67e74705SXin Li// CHECK-NEXT:          <dict>
3925*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3926*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
3927*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3928*67e74705SXin Li// CHECK-NEXT:          </dict>
3929*67e74705SXin Li// CHECK-NEXT:          <dict>
3930*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3931*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
3932*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3933*67e74705SXin Li// CHECK-NEXT:          </dict>
3934*67e74705SXin Li// CHECK-NEXT:         </array>
3935*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
3936*67e74705SXin Li// CHECK-NEXT:         <array>
3937*67e74705SXin Li// CHECK-NEXT:          <dict>
3938*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3939*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3940*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3941*67e74705SXin Li// CHECK-NEXT:          </dict>
3942*67e74705SXin Li// CHECK-NEXT:          <dict>
3943*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>209</integer>
3944*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
3945*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
3946*67e74705SXin Li// CHECK-NEXT:          </dict>
3947*67e74705SXin Li// CHECK-NEXT:         </array>
3948*67e74705SXin Li// CHECK-NEXT:       </dict>
3949*67e74705SXin Li// CHECK-NEXT:      </array>
3950*67e74705SXin Li// CHECK-NEXT:    </dict>
3951*67e74705SXin Li// CHECK-NEXT:    <dict>
3952*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
3953*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
3954*67e74705SXin Li// CHECK-NEXT:     <dict>
3955*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>209</integer>
3956*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
3957*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
3958*67e74705SXin Li// CHECK-NEXT:     </dict>
3959*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
3960*67e74705SXin Li// CHECK-NEXT:     <array>
3961*67e74705SXin Li// CHECK-NEXT:       <array>
3962*67e74705SXin Li// CHECK-NEXT:        <dict>
3963*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>209</integer>
3964*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3965*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3966*67e74705SXin Li// CHECK-NEXT:        </dict>
3967*67e74705SXin Li// CHECK-NEXT:        <dict>
3968*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>209</integer>
3969*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
3970*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
3971*67e74705SXin Li// CHECK-NEXT:        </dict>
3972*67e74705SXin Li// CHECK-NEXT:       </array>
3973*67e74705SXin Li// CHECK-NEXT:     </array>
3974*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
3975*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
3976*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3977*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
3978*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3979*67e74705SXin Li// CHECK-NEXT:    </dict>
3980*67e74705SXin Li// CHECK-NEXT:   </array>
3981*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
3982*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
3983*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
3984*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
3985*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
3986*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>be7e9426f827314f05fd4e15b25909df</string>
3987*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
3988*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>inferenceFromAPIWithBuggyTypes</string>
3989*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
3990*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
3991*67e74705SXin Li// CHECK-NEXT:  <dict>
3992*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>209</integer>
3993*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>27</integer>
3994*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
3995*67e74705SXin Li// CHECK-NEXT:  </dict>
3996*67e74705SXin Li// CHECK-NEXT:  </dict>
3997*67e74705SXin Li// CHECK-NEXT:  <dict>
3998*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
3999*67e74705SXin Li// CHECK-NEXT:   <array>
4000*67e74705SXin Li// CHECK-NEXT:    <dict>
4001*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4002*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4003*67e74705SXin Li// CHECK-NEXT:     <dict>
4004*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>213</integer>
4005*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
4006*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4007*67e74705SXin Li// CHECK-NEXT:     </dict>
4008*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4009*67e74705SXin Li// CHECK-NEXT:     <array>
4010*67e74705SXin Li// CHECK-NEXT:       <array>
4011*67e74705SXin Li// CHECK-NEXT:        <dict>
4012*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>213</integer>
4013*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
4014*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4015*67e74705SXin Li// CHECK-NEXT:        </dict>
4016*67e74705SXin Li// CHECK-NEXT:        <dict>
4017*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>213</integer>
4018*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
4019*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4020*67e74705SXin Li// CHECK-NEXT:        </dict>
4021*67e74705SXin Li// CHECK-NEXT:       </array>
4022*67e74705SXin Li// CHECK-NEXT:     </array>
4023*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4024*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4025*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggySpecialMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
4026*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4027*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggySpecialMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSMutableString *&gt; *&apos;)</string>
4028*67e74705SXin Li// CHECK-NEXT:    </dict>
4029*67e74705SXin Li// CHECK-NEXT:    <dict>
4030*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4031*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4032*67e74705SXin Li// CHECK-NEXT:      <array>
4033*67e74705SXin Li// CHECK-NEXT:       <dict>
4034*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4035*67e74705SXin Li// CHECK-NEXT:         <array>
4036*67e74705SXin Li// CHECK-NEXT:          <dict>
4037*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>213</integer>
4038*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4039*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4040*67e74705SXin Li// CHECK-NEXT:          </dict>
4041*67e74705SXin Li// CHECK-NEXT:          <dict>
4042*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>213</integer>
4043*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
4044*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4045*67e74705SXin Li// CHECK-NEXT:          </dict>
4046*67e74705SXin Li// CHECK-NEXT:         </array>
4047*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4048*67e74705SXin Li// CHECK-NEXT:         <array>
4049*67e74705SXin Li// CHECK-NEXT:          <dict>
4050*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4051*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4052*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4053*67e74705SXin Li// CHECK-NEXT:          </dict>
4054*67e74705SXin Li// CHECK-NEXT:          <dict>
4055*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4056*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4057*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4058*67e74705SXin Li// CHECK-NEXT:          </dict>
4059*67e74705SXin Li// CHECK-NEXT:         </array>
4060*67e74705SXin Li// CHECK-NEXT:       </dict>
4061*67e74705SXin Li// CHECK-NEXT:      </array>
4062*67e74705SXin Li// CHECK-NEXT:    </dict>
4063*67e74705SXin Li// CHECK-NEXT:    <dict>
4064*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4065*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4066*67e74705SXin Li// CHECK-NEXT:      <array>
4067*67e74705SXin Li// CHECK-NEXT:       <dict>
4068*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4069*67e74705SXin Li// CHECK-NEXT:         <array>
4070*67e74705SXin Li// CHECK-NEXT:          <dict>
4071*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4072*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4073*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4074*67e74705SXin Li// CHECK-NEXT:          </dict>
4075*67e74705SXin Li// CHECK-NEXT:          <dict>
4076*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4077*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4078*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4079*67e74705SXin Li// CHECK-NEXT:          </dict>
4080*67e74705SXin Li// CHECK-NEXT:         </array>
4081*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4082*67e74705SXin Li// CHECK-NEXT:         <array>
4083*67e74705SXin Li// CHECK-NEXT:          <dict>
4084*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4085*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
4086*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4087*67e74705SXin Li// CHECK-NEXT:          </dict>
4088*67e74705SXin Li// CHECK-NEXT:          <dict>
4089*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>214</integer>
4090*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
4091*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4092*67e74705SXin Li// CHECK-NEXT:          </dict>
4093*67e74705SXin Li// CHECK-NEXT:         </array>
4094*67e74705SXin Li// CHECK-NEXT:       </dict>
4095*67e74705SXin Li// CHECK-NEXT:      </array>
4096*67e74705SXin Li// CHECK-NEXT:    </dict>
4097*67e74705SXin Li// CHECK-NEXT:    <dict>
4098*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4099*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4100*67e74705SXin Li// CHECK-NEXT:     <dict>
4101*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>214</integer>
4102*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
4103*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4104*67e74705SXin Li// CHECK-NEXT:     </dict>
4105*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4106*67e74705SXin Li// CHECK-NEXT:     <array>
4107*67e74705SXin Li// CHECK-NEXT:       <array>
4108*67e74705SXin Li// CHECK-NEXT:        <dict>
4109*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>214</integer>
4110*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4111*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4112*67e74705SXin Li// CHECK-NEXT:        </dict>
4113*67e74705SXin Li// CHECK-NEXT:        <dict>
4114*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>214</integer>
4115*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4116*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4117*67e74705SXin Li// CHECK-NEXT:        </dict>
4118*67e74705SXin Li// CHECK-NEXT:       </array>
4119*67e74705SXin Li// CHECK-NEXT:     </array>
4120*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4121*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4122*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4123*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4124*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4125*67e74705SXin Li// CHECK-NEXT:    </dict>
4126*67e74705SXin Li// CHECK-NEXT:   </array>
4127*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4128*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
4129*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
4130*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
4131*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4132*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>0f97a618ccac913d7c8631b5b86a133e</string>
4133*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4134*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>InferenceFromAPIWithBuggyTypes2</string>
4135*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
4136*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4137*67e74705SXin Li// CHECK-NEXT:  <dict>
4138*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>214</integer>
4139*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>20</integer>
4140*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4141*67e74705SXin Li// CHECK-NEXT:  </dict>
4142*67e74705SXin Li// CHECK-NEXT:  </dict>
4143*67e74705SXin Li// CHECK-NEXT:  <dict>
4144*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4145*67e74705SXin Li// CHECK-NEXT:   <array>
4146*67e74705SXin Li// CHECK-NEXT:    <dict>
4147*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4148*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4149*67e74705SXin Li// CHECK-NEXT:     <dict>
4150*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>218</integer>
4151*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>10</integer>
4152*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4153*67e74705SXin Li// CHECK-NEXT:     </dict>
4154*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4155*67e74705SXin Li// CHECK-NEXT:     <array>
4156*67e74705SXin Li// CHECK-NEXT:       <array>
4157*67e74705SXin Li// CHECK-NEXT:        <dict>
4158*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>218</integer>
4159*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>10</integer>
4160*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4161*67e74705SXin Li// CHECK-NEXT:        </dict>
4162*67e74705SXin Li// CHECK-NEXT:        <dict>
4163*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>218</integer>
4164*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>10</integer>
4165*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4166*67e74705SXin Li// CHECK-NEXT:        </dict>
4167*67e74705SXin Li// CHECK-NEXT:       </array>
4168*67e74705SXin Li// CHECK-NEXT:     </array>
4169*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4170*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4171*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;id&apos;)</string>
4172*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4173*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;id&apos;)</string>
4174*67e74705SXin Li// CHECK-NEXT:    </dict>
4175*67e74705SXin Li// CHECK-NEXT:    <dict>
4176*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4177*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4178*67e74705SXin Li// CHECK-NEXT:      <array>
4179*67e74705SXin Li// CHECK-NEXT:       <dict>
4180*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4181*67e74705SXin Li// CHECK-NEXT:         <array>
4182*67e74705SXin Li// CHECK-NEXT:          <dict>
4183*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>218</integer>
4184*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4185*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4186*67e74705SXin Li// CHECK-NEXT:          </dict>
4187*67e74705SXin Li// CHECK-NEXT:          <dict>
4188*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>218</integer>
4189*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
4190*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4191*67e74705SXin Li// CHECK-NEXT:          </dict>
4192*67e74705SXin Li// CHECK-NEXT:         </array>
4193*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4194*67e74705SXin Li// CHECK-NEXT:         <array>
4195*67e74705SXin Li// CHECK-NEXT:          <dict>
4196*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4197*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4198*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4199*67e74705SXin Li// CHECK-NEXT:          </dict>
4200*67e74705SXin Li// CHECK-NEXT:          <dict>
4201*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4202*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4203*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4204*67e74705SXin Li// CHECK-NEXT:          </dict>
4205*67e74705SXin Li// CHECK-NEXT:         </array>
4206*67e74705SXin Li// CHECK-NEXT:       </dict>
4207*67e74705SXin Li// CHECK-NEXT:      </array>
4208*67e74705SXin Li// CHECK-NEXT:    </dict>
4209*67e74705SXin Li// CHECK-NEXT:    <dict>
4210*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4211*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4212*67e74705SXin Li// CHECK-NEXT:      <array>
4213*67e74705SXin Li// CHECK-NEXT:       <dict>
4214*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4215*67e74705SXin Li// CHECK-NEXT:         <array>
4216*67e74705SXin Li// CHECK-NEXT:          <dict>
4217*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4218*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4219*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4220*67e74705SXin Li// CHECK-NEXT:          </dict>
4221*67e74705SXin Li// CHECK-NEXT:          <dict>
4222*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4223*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4224*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4225*67e74705SXin Li// CHECK-NEXT:          </dict>
4226*67e74705SXin Li// CHECK-NEXT:         </array>
4227*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4228*67e74705SXin Li// CHECK-NEXT:         <array>
4229*67e74705SXin Li// CHECK-NEXT:          <dict>
4230*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4231*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
4232*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4233*67e74705SXin Li// CHECK-NEXT:          </dict>
4234*67e74705SXin Li// CHECK-NEXT:          <dict>
4235*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>220</integer>
4236*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>20</integer>
4237*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4238*67e74705SXin Li// CHECK-NEXT:          </dict>
4239*67e74705SXin Li// CHECK-NEXT:         </array>
4240*67e74705SXin Li// CHECK-NEXT:       </dict>
4241*67e74705SXin Li// CHECK-NEXT:      </array>
4242*67e74705SXin Li// CHECK-NEXT:    </dict>
4243*67e74705SXin Li// CHECK-NEXT:    <dict>
4244*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4245*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4246*67e74705SXin Li// CHECK-NEXT:     <dict>
4247*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>220</integer>
4248*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
4249*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4250*67e74705SXin Li// CHECK-NEXT:     </dict>
4251*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4252*67e74705SXin Li// CHECK-NEXT:     <array>
4253*67e74705SXin Li// CHECK-NEXT:       <array>
4254*67e74705SXin Li// CHECK-NEXT:        <dict>
4255*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>220</integer>
4256*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4257*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4258*67e74705SXin Li// CHECK-NEXT:        </dict>
4259*67e74705SXin Li// CHECK-NEXT:        <dict>
4260*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>220</integer>
4261*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4262*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4263*67e74705SXin Li// CHECK-NEXT:        </dict>
4264*67e74705SXin Li// CHECK-NEXT:       </array>
4265*67e74705SXin Li// CHECK-NEXT:     </array>
4266*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4267*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4268*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4269*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4270*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4271*67e74705SXin Li// CHECK-NEXT:    </dict>
4272*67e74705SXin Li// CHECK-NEXT:   </array>
4273*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSString *&gt; *&apos;</string>
4274*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
4275*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
4276*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
4277*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4278*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>725c54c88bb271138b1de545ee59a8aa</string>
4279*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4280*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>InferenceFromAPIWithBuggyTypes3</string>
4281*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
4282*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4283*67e74705SXin Li// CHECK-NEXT:  <dict>
4284*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>220</integer>
4285*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>20</integer>
4286*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4287*67e74705SXin Li// CHECK-NEXT:  </dict>
4288*67e74705SXin Li// CHECK-NEXT:  </dict>
4289*67e74705SXin Li// CHECK-NEXT:  <dict>
4290*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4291*67e74705SXin Li// CHECK-NEXT:   <array>
4292*67e74705SXin Li// CHECK-NEXT:    <dict>
4293*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4294*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4295*67e74705SXin Li// CHECK-NEXT:     <dict>
4296*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>224</integer>
4297*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>45</integer>
4298*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4299*67e74705SXin Li// CHECK-NEXT:     </dict>
4300*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4301*67e74705SXin Li// CHECK-NEXT:     <array>
4302*67e74705SXin Li// CHECK-NEXT:       <array>
4303*67e74705SXin Li// CHECK-NEXT:        <dict>
4304*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>224</integer>
4305*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>45</integer>
4306*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4307*67e74705SXin Li// CHECK-NEXT:        </dict>
4308*67e74705SXin Li// CHECK-NEXT:        <dict>
4309*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>224</integer>
4310*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>45</integer>
4311*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4312*67e74705SXin Li// CHECK-NEXT:        </dict>
4313*67e74705SXin Li// CHECK-NEXT:       </array>
4314*67e74705SXin Li// CHECK-NEXT:     </array>
4315*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4316*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4317*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;__kindof NSArray&lt;NSString *&gt; *&apos; to &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos;)</string>
4318*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4319*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;__kindof NSArray&lt;NSString *&gt; *&apos; to &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos;)</string>
4320*67e74705SXin Li// CHECK-NEXT:    </dict>
4321*67e74705SXin Li// CHECK-NEXT:    <dict>
4322*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4323*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4324*67e74705SXin Li// CHECK-NEXT:      <array>
4325*67e74705SXin Li// CHECK-NEXT:       <dict>
4326*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4327*67e74705SXin Li// CHECK-NEXT:         <array>
4328*67e74705SXin Li// CHECK-NEXT:          <dict>
4329*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>224</integer>
4330*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4331*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4332*67e74705SXin Li// CHECK-NEXT:          </dict>
4333*67e74705SXin Li// CHECK-NEXT:          <dict>
4334*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>224</integer>
4335*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>19</integer>
4336*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4337*67e74705SXin Li// CHECK-NEXT:          </dict>
4338*67e74705SXin Li// CHECK-NEXT:         </array>
4339*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4340*67e74705SXin Li// CHECK-NEXT:         <array>
4341*67e74705SXin Li// CHECK-NEXT:          <dict>
4342*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>225</integer>
4343*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4344*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4345*67e74705SXin Li// CHECK-NEXT:          </dict>
4346*67e74705SXin Li// CHECK-NEXT:          <dict>
4347*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>225</integer>
4348*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4349*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4350*67e74705SXin Li// CHECK-NEXT:          </dict>
4351*67e74705SXin Li// CHECK-NEXT:         </array>
4352*67e74705SXin Li// CHECK-NEXT:       </dict>
4353*67e74705SXin Li// CHECK-NEXT:      </array>
4354*67e74705SXin Li// CHECK-NEXT:    </dict>
4355*67e74705SXin Li// CHECK-NEXT:    <dict>
4356*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4357*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4358*67e74705SXin Li// CHECK-NEXT:     <dict>
4359*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>225</integer>
4360*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>20</integer>
4361*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4362*67e74705SXin Li// CHECK-NEXT:     </dict>
4363*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4364*67e74705SXin Li// CHECK-NEXT:     <array>
4365*67e74705SXin Li// CHECK-NEXT:       <array>
4366*67e74705SXin Li// CHECK-NEXT:        <dict>
4367*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>225</integer>
4368*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4369*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4370*67e74705SXin Li// CHECK-NEXT:        </dict>
4371*67e74705SXin Li// CHECK-NEXT:        <dict>
4372*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>225</integer>
4373*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>20</integer>
4374*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4375*67e74705SXin Li// CHECK-NEXT:        </dict>
4376*67e74705SXin Li// CHECK-NEXT:       </array>
4377*67e74705SXin Li// CHECK-NEXT:     </array>
4378*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4379*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4380*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
4381*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4382*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;BuggyMutableArray&lt;NSMutableString *&gt; *&apos; to &apos;MutableArray&lt;NSString *&gt; *&apos;)</string>
4383*67e74705SXin Li// CHECK-NEXT:    </dict>
4384*67e74705SXin Li// CHECK-NEXT:    <dict>
4385*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4386*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4387*67e74705SXin Li// CHECK-NEXT:      <array>
4388*67e74705SXin Li// CHECK-NEXT:       <dict>
4389*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4390*67e74705SXin Li// CHECK-NEXT:         <array>
4391*67e74705SXin Li// CHECK-NEXT:          <dict>
4392*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>225</integer>
4393*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4394*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4395*67e74705SXin Li// CHECK-NEXT:          </dict>
4396*67e74705SXin Li// CHECK-NEXT:          <dict>
4397*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>225</integer>
4398*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
4399*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4400*67e74705SXin Li// CHECK-NEXT:          </dict>
4401*67e74705SXin Li// CHECK-NEXT:         </array>
4402*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4403*67e74705SXin Li// CHECK-NEXT:         <array>
4404*67e74705SXin Li// CHECK-NEXT:          <dict>
4405*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4406*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4407*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4408*67e74705SXin Li// CHECK-NEXT:          </dict>
4409*67e74705SXin Li// CHECK-NEXT:          <dict>
4410*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4411*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
4412*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4413*67e74705SXin Li// CHECK-NEXT:          </dict>
4414*67e74705SXin Li// CHECK-NEXT:         </array>
4415*67e74705SXin Li// CHECK-NEXT:       </dict>
4416*67e74705SXin Li// CHECK-NEXT:      </array>
4417*67e74705SXin Li// CHECK-NEXT:    </dict>
4418*67e74705SXin Li// CHECK-NEXT:    <dict>
4419*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4420*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4421*67e74705SXin Li// CHECK-NEXT:      <array>
4422*67e74705SXin Li// CHECK-NEXT:       <dict>
4423*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4424*67e74705SXin Li// CHECK-NEXT:         <array>
4425*67e74705SXin Li// CHECK-NEXT:          <dict>
4426*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4427*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4428*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4429*67e74705SXin Li// CHECK-NEXT:          </dict>
4430*67e74705SXin Li// CHECK-NEXT:          <dict>
4431*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4432*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>25</integer>
4433*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4434*67e74705SXin Li// CHECK-NEXT:          </dict>
4435*67e74705SXin Li// CHECK-NEXT:         </array>
4436*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4437*67e74705SXin Li// CHECK-NEXT:         <array>
4438*67e74705SXin Li// CHECK-NEXT:          <dict>
4439*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4440*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
4441*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4442*67e74705SXin Li// CHECK-NEXT:          </dict>
4443*67e74705SXin Li// CHECK-NEXT:          <dict>
4444*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>226</integer>
4445*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>27</integer>
4446*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4447*67e74705SXin Li// CHECK-NEXT:          </dict>
4448*67e74705SXin Li// CHECK-NEXT:         </array>
4449*67e74705SXin Li// CHECK-NEXT:       </dict>
4450*67e74705SXin Li// CHECK-NEXT:      </array>
4451*67e74705SXin Li// CHECK-NEXT:    </dict>
4452*67e74705SXin Li// CHECK-NEXT:    <dict>
4453*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4454*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4455*67e74705SXin Li// CHECK-NEXT:     <dict>
4456*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>226</integer>
4457*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>27</integer>
4458*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4459*67e74705SXin Li// CHECK-NEXT:     </dict>
4460*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4461*67e74705SXin Li// CHECK-NEXT:     <array>
4462*67e74705SXin Li// CHECK-NEXT:       <array>
4463*67e74705SXin Li// CHECK-NEXT:        <dict>
4464*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>226</integer>
4465*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
4466*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4467*67e74705SXin Li// CHECK-NEXT:        </dict>
4468*67e74705SXin Li// CHECK-NEXT:        <dict>
4469*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>226</integer>
4470*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>27</integer>
4471*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4472*67e74705SXin Li// CHECK-NEXT:        </dict>
4473*67e74705SXin Li// CHECK-NEXT:       </array>
4474*67e74705SXin Li// CHECK-NEXT:     </array>
4475*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4476*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4477*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
4478*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4479*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
4480*67e74705SXin Li// CHECK-NEXT:    </dict>
4481*67e74705SXin Li// CHECK-NEXT:   </array>
4482*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;MutableArray&lt;NSString *&gt; *&apos; to incompatible type &apos;MutableArray&lt;NSMutableString *&gt; *&apos;</string>
4483*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
4484*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
4485*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
4486*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4487*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>fb867af384c612fe5c09f821127eeaf0</string>
4488*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4489*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>InferenceFromAPIWithBuggyTypes4</string>
4490*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
4491*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4492*67e74705SXin Li// CHECK-NEXT:  <dict>
4493*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>226</integer>
4494*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>27</integer>
4495*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4496*67e74705SXin Li// CHECK-NEXT:  </dict>
4497*67e74705SXin Li// CHECK-NEXT:  </dict>
4498*67e74705SXin Li// CHECK-NEXT:  <dict>
4499*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4500*67e74705SXin Li// CHECK-NEXT:   <array>
4501*67e74705SXin Li// CHECK-NEXT:    <dict>
4502*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4503*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4504*67e74705SXin Li// CHECK-NEXT:      <array>
4505*67e74705SXin Li// CHECK-NEXT:       <dict>
4506*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4507*67e74705SXin Li// CHECK-NEXT:         <array>
4508*67e74705SXin Li// CHECK-NEXT:          <dict>
4509*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4510*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4511*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4512*67e74705SXin Li// CHECK-NEXT:          </dict>
4513*67e74705SXin Li// CHECK-NEXT:          <dict>
4514*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4515*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4516*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4517*67e74705SXin Li// CHECK-NEXT:          </dict>
4518*67e74705SXin Li// CHECK-NEXT:         </array>
4519*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4520*67e74705SXin Li// CHECK-NEXT:         <array>
4521*67e74705SXin Li// CHECK-NEXT:          <dict>
4522*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4523*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4524*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4525*67e74705SXin Li// CHECK-NEXT:          </dict>
4526*67e74705SXin Li// CHECK-NEXT:          <dict>
4527*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4528*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>10</integer>
4529*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4530*67e74705SXin Li// CHECK-NEXT:          </dict>
4531*67e74705SXin Li// CHECK-NEXT:         </array>
4532*67e74705SXin Li// CHECK-NEXT:       </dict>
4533*67e74705SXin Li// CHECK-NEXT:      </array>
4534*67e74705SXin Li// CHECK-NEXT:    </dict>
4535*67e74705SXin Li// CHECK-NEXT:    <dict>
4536*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4537*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4538*67e74705SXin Li// CHECK-NEXT:      <array>
4539*67e74705SXin Li// CHECK-NEXT:       <dict>
4540*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4541*67e74705SXin Li// CHECK-NEXT:         <array>
4542*67e74705SXin Li// CHECK-NEXT:          <dict>
4543*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4544*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4545*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4546*67e74705SXin Li// CHECK-NEXT:          </dict>
4547*67e74705SXin Li// CHECK-NEXT:          <dict>
4548*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4549*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>10</integer>
4550*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4551*67e74705SXin Li// CHECK-NEXT:          </dict>
4552*67e74705SXin Li// CHECK-NEXT:         </array>
4553*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4554*67e74705SXin Li// CHECK-NEXT:         <array>
4555*67e74705SXin Li// CHECK-NEXT:          <dict>
4556*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4557*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>19</integer>
4558*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4559*67e74705SXin Li// CHECK-NEXT:          </dict>
4560*67e74705SXin Li// CHECK-NEXT:          <dict>
4561*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>239</integer>
4562*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>19</integer>
4563*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4564*67e74705SXin Li// CHECK-NEXT:          </dict>
4565*67e74705SXin Li// CHECK-NEXT:         </array>
4566*67e74705SXin Li// CHECK-NEXT:       </dict>
4567*67e74705SXin Li// CHECK-NEXT:      </array>
4568*67e74705SXin Li// CHECK-NEXT:    </dict>
4569*67e74705SXin Li// CHECK-NEXT:    <dict>
4570*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4571*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4572*67e74705SXin Li// CHECK-NEXT:     <dict>
4573*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>239</integer>
4574*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>19</integer>
4575*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4576*67e74705SXin Li// CHECK-NEXT:     </dict>
4577*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4578*67e74705SXin Li// CHECK-NEXT:     <array>
4579*67e74705SXin Li// CHECK-NEXT:       <array>
4580*67e74705SXin Li// CHECK-NEXT:        <dict>
4581*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>239</integer>
4582*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
4583*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4584*67e74705SXin Li// CHECK-NEXT:        </dict>
4585*67e74705SXin Li// CHECK-NEXT:        <dict>
4586*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>239</integer>
4587*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
4588*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4589*67e74705SXin Li// CHECK-NEXT:        </dict>
4590*67e74705SXin Li// CHECK-NEXT:       </array>
4591*67e74705SXin Li// CHECK-NEXT:     </array>
4592*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4593*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4594*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4595*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4596*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4597*67e74705SXin Li// CHECK-NEXT:    </dict>
4598*67e74705SXin Li// CHECK-NEXT:    <dict>
4599*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4600*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4601*67e74705SXin Li// CHECK-NEXT:     <dict>
4602*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>239</integer>
4603*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>19</integer>
4604*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4605*67e74705SXin Li// CHECK-NEXT:     </dict>
4606*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4607*67e74705SXin Li// CHECK-NEXT:     <array>
4608*67e74705SXin Li// CHECK-NEXT:       <array>
4609*67e74705SXin Li// CHECK-NEXT:        <dict>
4610*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>239</integer>
4611*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
4612*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4613*67e74705SXin Li// CHECK-NEXT:        </dict>
4614*67e74705SXin Li// CHECK-NEXT:        <dict>
4615*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>239</integer>
4616*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
4617*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4618*67e74705SXin Li// CHECK-NEXT:        </dict>
4619*67e74705SXin Li// CHECK-NEXT:       </array>
4620*67e74705SXin Li// CHECK-NEXT:     </array>
4621*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4622*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4623*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4624*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4625*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4626*67e74705SXin Li// CHECK-NEXT:    </dict>
4627*67e74705SXin Li// CHECK-NEXT:   </array>
4628*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4629*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
4630*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
4631*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
4632*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4633*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>2e9f738345d9fa7dae2324ff7accd1ae</string>
4634*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4635*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>workWithProperties</string>
4636*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
4637*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4638*67e74705SXin Li// CHECK-NEXT:  <dict>
4639*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>239</integer>
4640*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>19</integer>
4641*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4642*67e74705SXin Li// CHECK-NEXT:  </dict>
4643*67e74705SXin Li// CHECK-NEXT:  </dict>
4644*67e74705SXin Li// CHECK-NEXT:  <dict>
4645*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4646*67e74705SXin Li// CHECK-NEXT:   <array>
4647*67e74705SXin Li// CHECK-NEXT:    <dict>
4648*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4649*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4650*67e74705SXin Li// CHECK-NEXT:      <array>
4651*67e74705SXin Li// CHECK-NEXT:       <dict>
4652*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4653*67e74705SXin Li// CHECK-NEXT:         <array>
4654*67e74705SXin Li// CHECK-NEXT:          <dict>
4655*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4656*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4657*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4658*67e74705SXin Li// CHECK-NEXT:          </dict>
4659*67e74705SXin Li// CHECK-NEXT:          <dict>
4660*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4661*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4662*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4663*67e74705SXin Li// CHECK-NEXT:          </dict>
4664*67e74705SXin Li// CHECK-NEXT:         </array>
4665*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4666*67e74705SXin Li// CHECK-NEXT:         <array>
4667*67e74705SXin Li// CHECK-NEXT:          <dict>
4668*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4669*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4670*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4671*67e74705SXin Li// CHECK-NEXT:          </dict>
4672*67e74705SXin Li// CHECK-NEXT:          <dict>
4673*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4674*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4675*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4676*67e74705SXin Li// CHECK-NEXT:          </dict>
4677*67e74705SXin Li// CHECK-NEXT:         </array>
4678*67e74705SXin Li// CHECK-NEXT:       </dict>
4679*67e74705SXin Li// CHECK-NEXT:      </array>
4680*67e74705SXin Li// CHECK-NEXT:    </dict>
4681*67e74705SXin Li// CHECK-NEXT:    <dict>
4682*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4683*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4684*67e74705SXin Li// CHECK-NEXT:      <array>
4685*67e74705SXin Li// CHECK-NEXT:       <dict>
4686*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4687*67e74705SXin Li// CHECK-NEXT:         <array>
4688*67e74705SXin Li// CHECK-NEXT:          <dict>
4689*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4690*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4691*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4692*67e74705SXin Li// CHECK-NEXT:          </dict>
4693*67e74705SXin Li// CHECK-NEXT:          <dict>
4694*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4695*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4696*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4697*67e74705SXin Li// CHECK-NEXT:          </dict>
4698*67e74705SXin Li// CHECK-NEXT:         </array>
4699*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4700*67e74705SXin Li// CHECK-NEXT:         <array>
4701*67e74705SXin Li// CHECK-NEXT:          <dict>
4702*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4703*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4704*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4705*67e74705SXin Li// CHECK-NEXT:          </dict>
4706*67e74705SXin Li// CHECK-NEXT:          <dict>
4707*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>241</integer>
4708*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4709*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4710*67e74705SXin Li// CHECK-NEXT:          </dict>
4711*67e74705SXin Li// CHECK-NEXT:         </array>
4712*67e74705SXin Li// CHECK-NEXT:       </dict>
4713*67e74705SXin Li// CHECK-NEXT:      </array>
4714*67e74705SXin Li// CHECK-NEXT:    </dict>
4715*67e74705SXin Li// CHECK-NEXT:    <dict>
4716*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4717*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4718*67e74705SXin Li// CHECK-NEXT:     <dict>
4719*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>241</integer>
4720*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
4721*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4722*67e74705SXin Li// CHECK-NEXT:     </dict>
4723*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4724*67e74705SXin Li// CHECK-NEXT:     <array>
4725*67e74705SXin Li// CHECK-NEXT:       <array>
4726*67e74705SXin Li// CHECK-NEXT:        <dict>
4727*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>241</integer>
4728*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
4729*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4730*67e74705SXin Li// CHECK-NEXT:        </dict>
4731*67e74705SXin Li// CHECK-NEXT:        <dict>
4732*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>241</integer>
4733*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>23</integer>
4734*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4735*67e74705SXin Li// CHECK-NEXT:        </dict>
4736*67e74705SXin Li// CHECK-NEXT:       </array>
4737*67e74705SXin Li// CHECK-NEXT:     </array>
4738*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4739*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4740*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4741*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4742*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4743*67e74705SXin Li// CHECK-NEXT:    </dict>
4744*67e74705SXin Li// CHECK-NEXT:    <dict>
4745*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4746*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4747*67e74705SXin Li// CHECK-NEXT:     <dict>
4748*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>241</integer>
4749*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
4750*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4751*67e74705SXin Li// CHECK-NEXT:     </dict>
4752*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4753*67e74705SXin Li// CHECK-NEXT:     <array>
4754*67e74705SXin Li// CHECK-NEXT:       <array>
4755*67e74705SXin Li// CHECK-NEXT:        <dict>
4756*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>241</integer>
4757*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
4758*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4759*67e74705SXin Li// CHECK-NEXT:        </dict>
4760*67e74705SXin Li// CHECK-NEXT:        <dict>
4761*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>241</integer>
4762*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>23</integer>
4763*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4764*67e74705SXin Li// CHECK-NEXT:        </dict>
4765*67e74705SXin Li// CHECK-NEXT:       </array>
4766*67e74705SXin Li// CHECK-NEXT:     </array>
4767*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4768*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4769*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4770*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4771*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4772*67e74705SXin Li// CHECK-NEXT:    </dict>
4773*67e74705SXin Li// CHECK-NEXT:   </array>
4774*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4775*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
4776*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
4777*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
4778*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4779*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>d85392b4efadf710b8da65a043a65e24</string>
4780*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4781*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>workWithProperties</string>
4782*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>4</string>
4783*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4784*67e74705SXin Li// CHECK-NEXT:  <dict>
4785*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>241</integer>
4786*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>9</integer>
4787*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4788*67e74705SXin Li// CHECK-NEXT:  </dict>
4789*67e74705SXin Li// CHECK-NEXT:  </dict>
4790*67e74705SXin Li// CHECK-NEXT:  <dict>
4791*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4792*67e74705SXin Li// CHECK-NEXT:   <array>
4793*67e74705SXin Li// CHECK-NEXT:    <dict>
4794*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4795*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4796*67e74705SXin Li// CHECK-NEXT:      <array>
4797*67e74705SXin Li// CHECK-NEXT:       <dict>
4798*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4799*67e74705SXin Li// CHECK-NEXT:         <array>
4800*67e74705SXin Li// CHECK-NEXT:          <dict>
4801*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4802*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4803*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4804*67e74705SXin Li// CHECK-NEXT:          </dict>
4805*67e74705SXin Li// CHECK-NEXT:          <dict>
4806*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4807*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4808*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4809*67e74705SXin Li// CHECK-NEXT:          </dict>
4810*67e74705SXin Li// CHECK-NEXT:         </array>
4811*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4812*67e74705SXin Li// CHECK-NEXT:         <array>
4813*67e74705SXin Li// CHECK-NEXT:          <dict>
4814*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4815*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4816*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4817*67e74705SXin Li// CHECK-NEXT:          </dict>
4818*67e74705SXin Li// CHECK-NEXT:          <dict>
4819*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4820*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4821*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4822*67e74705SXin Li// CHECK-NEXT:          </dict>
4823*67e74705SXin Li// CHECK-NEXT:         </array>
4824*67e74705SXin Li// CHECK-NEXT:       </dict>
4825*67e74705SXin Li// CHECK-NEXT:      </array>
4826*67e74705SXin Li// CHECK-NEXT:    </dict>
4827*67e74705SXin Li// CHECK-NEXT:    <dict>
4828*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4829*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4830*67e74705SXin Li// CHECK-NEXT:      <array>
4831*67e74705SXin Li// CHECK-NEXT:       <dict>
4832*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4833*67e74705SXin Li// CHECK-NEXT:         <array>
4834*67e74705SXin Li// CHECK-NEXT:          <dict>
4835*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4836*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4837*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4838*67e74705SXin Li// CHECK-NEXT:          </dict>
4839*67e74705SXin Li// CHECK-NEXT:          <dict>
4840*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4841*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4842*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4843*67e74705SXin Li// CHECK-NEXT:          </dict>
4844*67e74705SXin Li// CHECK-NEXT:         </array>
4845*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4846*67e74705SXin Li// CHECK-NEXT:         <array>
4847*67e74705SXin Li// CHECK-NEXT:          <dict>
4848*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4849*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>11</integer>
4850*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4851*67e74705SXin Li// CHECK-NEXT:          </dict>
4852*67e74705SXin Li// CHECK-NEXT:          <dict>
4853*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>243</integer>
4854*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>21</integer>
4855*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4856*67e74705SXin Li// CHECK-NEXT:          </dict>
4857*67e74705SXin Li// CHECK-NEXT:         </array>
4858*67e74705SXin Li// CHECK-NEXT:       </dict>
4859*67e74705SXin Li// CHECK-NEXT:      </array>
4860*67e74705SXin Li// CHECK-NEXT:    </dict>
4861*67e74705SXin Li// CHECK-NEXT:    <dict>
4862*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4863*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4864*67e74705SXin Li// CHECK-NEXT:     <dict>
4865*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>243</integer>
4866*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>11</integer>
4867*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4868*67e74705SXin Li// CHECK-NEXT:     </dict>
4869*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4870*67e74705SXin Li// CHECK-NEXT:     <array>
4871*67e74705SXin Li// CHECK-NEXT:       <array>
4872*67e74705SXin Li// CHECK-NEXT:        <dict>
4873*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>243</integer>
4874*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>11</integer>
4875*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4876*67e74705SXin Li// CHECK-NEXT:        </dict>
4877*67e74705SXin Li// CHECK-NEXT:        <dict>
4878*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>243</integer>
4879*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>21</integer>
4880*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4881*67e74705SXin Li// CHECK-NEXT:        </dict>
4882*67e74705SXin Li// CHECK-NEXT:       </array>
4883*67e74705SXin Li// CHECK-NEXT:     </array>
4884*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4885*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4886*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4887*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4888*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
4889*67e74705SXin Li// CHECK-NEXT:    </dict>
4890*67e74705SXin Li// CHECK-NEXT:    <dict>
4891*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
4892*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
4893*67e74705SXin Li// CHECK-NEXT:     <dict>
4894*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>243</integer>
4895*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
4896*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
4897*67e74705SXin Li// CHECK-NEXT:     </dict>
4898*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
4899*67e74705SXin Li// CHECK-NEXT:     <array>
4900*67e74705SXin Li// CHECK-NEXT:       <array>
4901*67e74705SXin Li// CHECK-NEXT:        <dict>
4902*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>243</integer>
4903*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
4904*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4905*67e74705SXin Li// CHECK-NEXT:        </dict>
4906*67e74705SXin Li// CHECK-NEXT:        <dict>
4907*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>243</integer>
4908*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>21</integer>
4909*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
4910*67e74705SXin Li// CHECK-NEXT:        </dict>
4911*67e74705SXin Li// CHECK-NEXT:       </array>
4912*67e74705SXin Li// CHECK-NEXT:     </array>
4913*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
4914*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
4915*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4916*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
4917*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4918*67e74705SXin Li// CHECK-NEXT:    </dict>
4919*67e74705SXin Li// CHECK-NEXT:   </array>
4920*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
4921*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
4922*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
4923*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
4924*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
4925*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>456c6227549a5e577088c9dce4cea452</string>
4926*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
4927*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>workWithProperties</string>
4928*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>6</string>
4929*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
4930*67e74705SXin Li// CHECK-NEXT:  <dict>
4931*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>243</integer>
4932*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>9</integer>
4933*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
4934*67e74705SXin Li// CHECK-NEXT:  </dict>
4935*67e74705SXin Li// CHECK-NEXT:  </dict>
4936*67e74705SXin Li// CHECK-NEXT:  <dict>
4937*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
4938*67e74705SXin Li// CHECK-NEXT:   <array>
4939*67e74705SXin Li// CHECK-NEXT:    <dict>
4940*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4941*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4942*67e74705SXin Li// CHECK-NEXT:      <array>
4943*67e74705SXin Li// CHECK-NEXT:       <dict>
4944*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4945*67e74705SXin Li// CHECK-NEXT:         <array>
4946*67e74705SXin Li// CHECK-NEXT:          <dict>
4947*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4948*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4949*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4950*67e74705SXin Li// CHECK-NEXT:          </dict>
4951*67e74705SXin Li// CHECK-NEXT:          <dict>
4952*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>238</integer>
4953*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4954*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4955*67e74705SXin Li// CHECK-NEXT:          </dict>
4956*67e74705SXin Li// CHECK-NEXT:         </array>
4957*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4958*67e74705SXin Li// CHECK-NEXT:         <array>
4959*67e74705SXin Li// CHECK-NEXT:          <dict>
4960*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
4961*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4962*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4963*67e74705SXin Li// CHECK-NEXT:          </dict>
4964*67e74705SXin Li// CHECK-NEXT:          <dict>
4965*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
4966*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4967*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4968*67e74705SXin Li// CHECK-NEXT:          </dict>
4969*67e74705SXin Li// CHECK-NEXT:         </array>
4970*67e74705SXin Li// CHECK-NEXT:       </dict>
4971*67e74705SXin Li// CHECK-NEXT:      </array>
4972*67e74705SXin Li// CHECK-NEXT:    </dict>
4973*67e74705SXin Li// CHECK-NEXT:    <dict>
4974*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
4975*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
4976*67e74705SXin Li// CHECK-NEXT:      <array>
4977*67e74705SXin Li// CHECK-NEXT:       <dict>
4978*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
4979*67e74705SXin Li// CHECK-NEXT:         <array>
4980*67e74705SXin Li// CHECK-NEXT:          <dict>
4981*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
4982*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
4983*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4984*67e74705SXin Li// CHECK-NEXT:          </dict>
4985*67e74705SXin Li// CHECK-NEXT:          <dict>
4986*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
4987*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
4988*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4989*67e74705SXin Li// CHECK-NEXT:          </dict>
4990*67e74705SXin Li// CHECK-NEXT:         </array>
4991*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
4992*67e74705SXin Li// CHECK-NEXT:         <array>
4993*67e74705SXin Li// CHECK-NEXT:          <dict>
4994*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
4995*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
4996*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
4997*67e74705SXin Li// CHECK-NEXT:          </dict>
4998*67e74705SXin Li// CHECK-NEXT:          <dict>
4999*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>245</integer>
5000*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
5001*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5002*67e74705SXin Li// CHECK-NEXT:          </dict>
5003*67e74705SXin Li// CHECK-NEXT:         </array>
5004*67e74705SXin Li// CHECK-NEXT:       </dict>
5005*67e74705SXin Li// CHECK-NEXT:      </array>
5006*67e74705SXin Li// CHECK-NEXT:    </dict>
5007*67e74705SXin Li// CHECK-NEXT:    <dict>
5008*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5009*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5010*67e74705SXin Li// CHECK-NEXT:     <dict>
5011*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>245</integer>
5012*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
5013*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5014*67e74705SXin Li// CHECK-NEXT:     </dict>
5015*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5016*67e74705SXin Li// CHECK-NEXT:     <array>
5017*67e74705SXin Li// CHECK-NEXT:       <array>
5018*67e74705SXin Li// CHECK-NEXT:        <dict>
5019*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>245</integer>
5020*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
5021*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5022*67e74705SXin Li// CHECK-NEXT:        </dict>
5023*67e74705SXin Li// CHECK-NEXT:        <dict>
5024*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>245</integer>
5025*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
5026*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5027*67e74705SXin Li// CHECK-NEXT:        </dict>
5028*67e74705SXin Li// CHECK-NEXT:       </array>
5029*67e74705SXin Li// CHECK-NEXT:     </array>
5030*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5031*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5032*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
5033*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5034*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSNumber *&apos; is inferred from this context</string>
5035*67e74705SXin Li// CHECK-NEXT:    </dict>
5036*67e74705SXin Li// CHECK-NEXT:    <dict>
5037*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5038*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5039*67e74705SXin Li// CHECK-NEXT:     <dict>
5040*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>245</integer>
5041*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>9</integer>
5042*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5043*67e74705SXin Li// CHECK-NEXT:     </dict>
5044*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5045*67e74705SXin Li// CHECK-NEXT:     <array>
5046*67e74705SXin Li// CHECK-NEXT:       <array>
5047*67e74705SXin Li// CHECK-NEXT:        <dict>
5048*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>245</integer>
5049*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
5050*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5051*67e74705SXin Li// CHECK-NEXT:        </dict>
5052*67e74705SXin Li// CHECK-NEXT:        <dict>
5053*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>245</integer>
5054*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>12</integer>
5055*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5056*67e74705SXin Li// CHECK-NEXT:        </dict>
5057*67e74705SXin Li// CHECK-NEXT:       </array>
5058*67e74705SXin Li// CHECK-NEXT:     </array>
5059*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5060*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5061*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
5062*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5063*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
5064*67e74705SXin Li// CHECK-NEXT:    </dict>
5065*67e74705SXin Li// CHECK-NEXT:   </array>
5066*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSNumber *&apos; which is incompatible with static type &apos;NSString *&apos;</string>
5067*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
5068*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
5069*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
5070*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5071*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>df7f090d2b72ac07bc2351177ed6552d</string>
5072*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5073*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>workWithProperties</string>
5074*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>8</string>
5075*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5076*67e74705SXin Li// CHECK-NEXT:  <dict>
5077*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>245</integer>
5078*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>9</integer>
5079*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5080*67e74705SXin Li// CHECK-NEXT:  </dict>
5081*67e74705SXin Li// CHECK-NEXT:  </dict>
5082*67e74705SXin Li// CHECK-NEXT:  <dict>
5083*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5084*67e74705SXin Li// CHECK-NEXT:   <array>
5085*67e74705SXin Li// CHECK-NEXT:    <dict>
5086*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5087*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5088*67e74705SXin Li// CHECK-NEXT:     <dict>
5089*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>251</integer>
5090*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
5091*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5092*67e74705SXin Li// CHECK-NEXT:     </dict>
5093*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5094*67e74705SXin Li// CHECK-NEXT:     <array>
5095*67e74705SXin Li// CHECK-NEXT:       <array>
5096*67e74705SXin Li// CHECK-NEXT:        <dict>
5097*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>251</integer>
5098*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5099*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5100*67e74705SXin Li// CHECK-NEXT:        </dict>
5101*67e74705SXin Li// CHECK-NEXT:        <dict>
5102*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>251</integer>
5103*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5104*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5105*67e74705SXin Li// CHECK-NEXT:        </dict>
5106*67e74705SXin Li// CHECK-NEXT:       </array>
5107*67e74705SXin Li// CHECK-NEXT:     </array>
5108*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5109*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5110*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;NSArray&lt;NSMutableString *&gt; *&apos;)</string>
5111*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5112*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;NSArray&lt;NSMutableString *&gt; *&apos;)</string>
5113*67e74705SXin Li// CHECK-NEXT:    </dict>
5114*67e74705SXin Li// CHECK-NEXT:    <dict>
5115*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5116*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5117*67e74705SXin Li// CHECK-NEXT:      <array>
5118*67e74705SXin Li// CHECK-NEXT:       <dict>
5119*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5120*67e74705SXin Li// CHECK-NEXT:         <array>
5121*67e74705SXin Li// CHECK-NEXT:          <dict>
5122*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>251</integer>
5123*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5124*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5125*67e74705SXin Li// CHECK-NEXT:          </dict>
5126*67e74705SXin Li// CHECK-NEXT:          <dict>
5127*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>251</integer>
5128*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5129*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5130*67e74705SXin Li// CHECK-NEXT:          </dict>
5131*67e74705SXin Li// CHECK-NEXT:         </array>
5132*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5133*67e74705SXin Li// CHECK-NEXT:         <array>
5134*67e74705SXin Li// CHECK-NEXT:          <dict>
5135*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>252</integer>
5136*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5137*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5138*67e74705SXin Li// CHECK-NEXT:          </dict>
5139*67e74705SXin Li// CHECK-NEXT:          <dict>
5140*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>252</integer>
5141*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5142*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5143*67e74705SXin Li// CHECK-NEXT:          </dict>
5144*67e74705SXin Li// CHECK-NEXT:         </array>
5145*67e74705SXin Li// CHECK-NEXT:       </dict>
5146*67e74705SXin Li// CHECK-NEXT:      </array>
5147*67e74705SXin Li// CHECK-NEXT:    </dict>
5148*67e74705SXin Li// CHECK-NEXT:    <dict>
5149*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5150*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5151*67e74705SXin Li// CHECK-NEXT:      <array>
5152*67e74705SXin Li// CHECK-NEXT:       <dict>
5153*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5154*67e74705SXin Li// CHECK-NEXT:         <array>
5155*67e74705SXin Li// CHECK-NEXT:          <dict>
5156*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>252</integer>
5157*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5158*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5159*67e74705SXin Li// CHECK-NEXT:          </dict>
5160*67e74705SXin Li// CHECK-NEXT:          <dict>
5161*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>252</integer>
5162*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5163*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5164*67e74705SXin Li// CHECK-NEXT:          </dict>
5165*67e74705SXin Li// CHECK-NEXT:         </array>
5166*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5167*67e74705SXin Li// CHECK-NEXT:         <array>
5168*67e74705SXin Li// CHECK-NEXT:          <dict>
5169*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>253</integer>
5170*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5171*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5172*67e74705SXin Li// CHECK-NEXT:          </dict>
5173*67e74705SXin Li// CHECK-NEXT:          <dict>
5174*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>253</integer>
5175*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5176*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5177*67e74705SXin Li// CHECK-NEXT:          </dict>
5178*67e74705SXin Li// CHECK-NEXT:         </array>
5179*67e74705SXin Li// CHECK-NEXT:       </dict>
5180*67e74705SXin Li// CHECK-NEXT:      </array>
5181*67e74705SXin Li// CHECK-NEXT:    </dict>
5182*67e74705SXin Li// CHECK-NEXT:    <dict>
5183*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5184*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5185*67e74705SXin Li// CHECK-NEXT:      <array>
5186*67e74705SXin Li// CHECK-NEXT:       <dict>
5187*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5188*67e74705SXin Li// CHECK-NEXT:         <array>
5189*67e74705SXin Li// CHECK-NEXT:          <dict>
5190*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>253</integer>
5191*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5192*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5193*67e74705SXin Li// CHECK-NEXT:          </dict>
5194*67e74705SXin Li// CHECK-NEXT:          <dict>
5195*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>253</integer>
5196*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5197*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5198*67e74705SXin Li// CHECK-NEXT:          </dict>
5199*67e74705SXin Li// CHECK-NEXT:         </array>
5200*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5201*67e74705SXin Li// CHECK-NEXT:         <array>
5202*67e74705SXin Li// CHECK-NEXT:          <dict>
5203*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>254</integer>
5204*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5205*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5206*67e74705SXin Li// CHECK-NEXT:          </dict>
5207*67e74705SXin Li// CHECK-NEXT:          <dict>
5208*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>254</integer>
5209*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5210*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5211*67e74705SXin Li// CHECK-NEXT:          </dict>
5212*67e74705SXin Li// CHECK-NEXT:         </array>
5213*67e74705SXin Li// CHECK-NEXT:       </dict>
5214*67e74705SXin Li// CHECK-NEXT:      </array>
5215*67e74705SXin Li// CHECK-NEXT:    </dict>
5216*67e74705SXin Li// CHECK-NEXT:    <dict>
5217*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5218*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5219*67e74705SXin Li// CHECK-NEXT:     <dict>
5220*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>254</integer>
5221*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>5</integer>
5222*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5223*67e74705SXin Li// CHECK-NEXT:     </dict>
5224*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5225*67e74705SXin Li// CHECK-NEXT:     <array>
5226*67e74705SXin Li// CHECK-NEXT:       <array>
5227*67e74705SXin Li// CHECK-NEXT:        <dict>
5228*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>254</integer>
5229*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
5230*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5231*67e74705SXin Li// CHECK-NEXT:        </dict>
5232*67e74705SXin Li// CHECK-NEXT:        <dict>
5233*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>254</integer>
5234*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>41</integer>
5235*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5236*67e74705SXin Li// CHECK-NEXT:        </dict>
5237*67e74705SXin Li// CHECK-NEXT:       </array>
5238*67e74705SXin Li// CHECK-NEXT:     </array>
5239*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5240*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5241*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5242*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5243*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5244*67e74705SXin Li// CHECK-NEXT:    </dict>
5245*67e74705SXin Li// CHECK-NEXT:   </array>
5246*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5247*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5248*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5249*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5250*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5251*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>a0fa75143d7a7ac234292642a6d93360</string>
5252*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5253*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>findMethodDeclInTrackedType</string>
5254*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>4</string>
5255*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5256*67e74705SXin Li// CHECK-NEXT:  <dict>
5257*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>254</integer>
5258*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>5</integer>
5259*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5260*67e74705SXin Li// CHECK-NEXT:  </dict>
5261*67e74705SXin Li// CHECK-NEXT:  </dict>
5262*67e74705SXin Li// CHECK-NEXT:  <dict>
5263*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5264*67e74705SXin Li// CHECK-NEXT:   <array>
5265*67e74705SXin Li// CHECK-NEXT:    <dict>
5266*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5267*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5268*67e74705SXin Li// CHECK-NEXT:     <dict>
5269*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>263</integer>
5270*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
5271*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5272*67e74705SXin Li// CHECK-NEXT:     </dict>
5273*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5274*67e74705SXin Li// CHECK-NEXT:     <array>
5275*67e74705SXin Li// CHECK-NEXT:       <array>
5276*67e74705SXin Li// CHECK-NEXT:        <dict>
5277*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>263</integer>
5278*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5279*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5280*67e74705SXin Li// CHECK-NEXT:        </dict>
5281*67e74705SXin Li// CHECK-NEXT:        <dict>
5282*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>263</integer>
5283*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5284*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5285*67e74705SXin Li// CHECK-NEXT:        </dict>
5286*67e74705SXin Li// CHECK-NEXT:       </array>
5287*67e74705SXin Li// CHECK-NEXT:     </array>
5288*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5289*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5290*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;__kindof NSArray&lt;NSString *&gt; *&apos;)</string>
5291*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5292*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;MutableArray&lt;NSMutableString *&gt; *&apos; is inferred from implicit cast (from &apos;MutableArray&lt;NSMutableString *&gt; *&apos; to &apos;__kindof NSArray&lt;NSString *&gt; *&apos;)</string>
5293*67e74705SXin Li// CHECK-NEXT:    </dict>
5294*67e74705SXin Li// CHECK-NEXT:    <dict>
5295*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5296*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5297*67e74705SXin Li// CHECK-NEXT:      <array>
5298*67e74705SXin Li// CHECK-NEXT:       <dict>
5299*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5300*67e74705SXin Li// CHECK-NEXT:         <array>
5301*67e74705SXin Li// CHECK-NEXT:          <dict>
5302*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>263</integer>
5303*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5304*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5305*67e74705SXin Li// CHECK-NEXT:          </dict>
5306*67e74705SXin Li// CHECK-NEXT:          <dict>
5307*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>263</integer>
5308*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5309*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5310*67e74705SXin Li// CHECK-NEXT:          </dict>
5311*67e74705SXin Li// CHECK-NEXT:         </array>
5312*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5313*67e74705SXin Li// CHECK-NEXT:         <array>
5314*67e74705SXin Li// CHECK-NEXT:          <dict>
5315*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>264</integer>
5316*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5317*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5318*67e74705SXin Li// CHECK-NEXT:          </dict>
5319*67e74705SXin Li// CHECK-NEXT:          <dict>
5320*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>264</integer>
5321*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5322*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5323*67e74705SXin Li// CHECK-NEXT:          </dict>
5324*67e74705SXin Li// CHECK-NEXT:         </array>
5325*67e74705SXin Li// CHECK-NEXT:       </dict>
5326*67e74705SXin Li// CHECK-NEXT:      </array>
5327*67e74705SXin Li// CHECK-NEXT:    </dict>
5328*67e74705SXin Li// CHECK-NEXT:    <dict>
5329*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5330*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5331*67e74705SXin Li// CHECK-NEXT:      <array>
5332*67e74705SXin Li// CHECK-NEXT:       <dict>
5333*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5334*67e74705SXin Li// CHECK-NEXT:         <array>
5335*67e74705SXin Li// CHECK-NEXT:          <dict>
5336*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>264</integer>
5337*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5338*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5339*67e74705SXin Li// CHECK-NEXT:          </dict>
5340*67e74705SXin Li// CHECK-NEXT:          <dict>
5341*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>264</integer>
5342*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5343*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5344*67e74705SXin Li// CHECK-NEXT:          </dict>
5345*67e74705SXin Li// CHECK-NEXT:         </array>
5346*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5347*67e74705SXin Li// CHECK-NEXT:         <array>
5348*67e74705SXin Li// CHECK-NEXT:          <dict>
5349*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>265</integer>
5350*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5351*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5352*67e74705SXin Li// CHECK-NEXT:          </dict>
5353*67e74705SXin Li// CHECK-NEXT:          <dict>
5354*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>265</integer>
5355*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>5</integer>
5356*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5357*67e74705SXin Li// CHECK-NEXT:          </dict>
5358*67e74705SXin Li// CHECK-NEXT:         </array>
5359*67e74705SXin Li// CHECK-NEXT:       </dict>
5360*67e74705SXin Li// CHECK-NEXT:      </array>
5361*67e74705SXin Li// CHECK-NEXT:    </dict>
5362*67e74705SXin Li// CHECK-NEXT:    <dict>
5363*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5364*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5365*67e74705SXin Li// CHECK-NEXT:     <dict>
5366*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>265</integer>
5367*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>5</integer>
5368*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5369*67e74705SXin Li// CHECK-NEXT:     </dict>
5370*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5371*67e74705SXin Li// CHECK-NEXT:     <array>
5372*67e74705SXin Li// CHECK-NEXT:       <array>
5373*67e74705SXin Li// CHECK-NEXT:        <dict>
5374*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>265</integer>
5375*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
5376*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5377*67e74705SXin Li// CHECK-NEXT:        </dict>
5378*67e74705SXin Li// CHECK-NEXT:        <dict>
5379*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>265</integer>
5380*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>41</integer>
5381*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5382*67e74705SXin Li// CHECK-NEXT:        </dict>
5383*67e74705SXin Li// CHECK-NEXT:       </array>
5384*67e74705SXin Li// CHECK-NEXT:     </array>
5385*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5386*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5387*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5388*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5389*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5390*67e74705SXin Li// CHECK-NEXT:    </dict>
5391*67e74705SXin Li// CHECK-NEXT:   </array>
5392*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSString *&apos; to incompatible type &apos;NSMutableString *&apos;</string>
5393*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5394*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5395*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5396*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5397*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>d0b99c8523e81ec43ba4ea80aeedef1b</string>
5398*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5399*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>findMethodDeclInTrackedType2</string>
5400*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
5401*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5402*67e74705SXin Li// CHECK-NEXT:  <dict>
5403*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>265</integer>
5404*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>5</integer>
5405*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5406*67e74705SXin Li// CHECK-NEXT:  </dict>
5407*67e74705SXin Li// CHECK-NEXT:  </dict>
5408*67e74705SXin Li// CHECK-NEXT:  <dict>
5409*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5410*67e74705SXin Li// CHECK-NEXT:   <array>
5411*67e74705SXin Li// CHECK-NEXT:    <dict>
5412*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5413*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5414*67e74705SXin Li// CHECK-NEXT:     <dict>
5415*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>278</integer>
5416*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>30</integer>
5417*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5418*67e74705SXin Li// CHECK-NEXT:     </dict>
5419*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5420*67e74705SXin Li// CHECK-NEXT:     <array>
5421*67e74705SXin Li// CHECK-NEXT:       <array>
5422*67e74705SXin Li// CHECK-NEXT:        <dict>
5423*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>278</integer>
5424*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>30</integer>
5425*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5426*67e74705SXin Li// CHECK-NEXT:        </dict>
5427*67e74705SXin Li// CHECK-NEXT:        <dict>
5428*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>278</integer>
5429*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>42</integer>
5430*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5431*67e74705SXin Li// CHECK-NEXT:        </dict>
5432*67e74705SXin Li// CHECK-NEXT:       </array>
5433*67e74705SXin Li// CHECK-NEXT:     </array>
5434*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5435*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5436*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
5437*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5438*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray *&apos; to &apos;NSArray&lt;NSString *&gt; *&apos;)</string>
5439*67e74705SXin Li// CHECK-NEXT:    </dict>
5440*67e74705SXin Li// CHECK-NEXT:    <dict>
5441*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5442*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5443*67e74705SXin Li// CHECK-NEXT:      <array>
5444*67e74705SXin Li// CHECK-NEXT:       <dict>
5445*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5446*67e74705SXin Li// CHECK-NEXT:         <array>
5447*67e74705SXin Li// CHECK-NEXT:          <dict>
5448*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>278</integer>
5449*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5450*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5451*67e74705SXin Li// CHECK-NEXT:          </dict>
5452*67e74705SXin Li// CHECK-NEXT:          <dict>
5453*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>278</integer>
5454*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
5455*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5456*67e74705SXin Li// CHECK-NEXT:          </dict>
5457*67e74705SXin Li// CHECK-NEXT:         </array>
5458*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5459*67e74705SXin Li// CHECK-NEXT:         <array>
5460*67e74705SXin Li// CHECK-NEXT:          <dict>
5461*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>280</integer>
5462*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5463*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5464*67e74705SXin Li// CHECK-NEXT:          </dict>
5465*67e74705SXin Li// CHECK-NEXT:          <dict>
5466*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>280</integer>
5467*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5468*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5469*67e74705SXin Li// CHECK-NEXT:          </dict>
5470*67e74705SXin Li// CHECK-NEXT:         </array>
5471*67e74705SXin Li// CHECK-NEXT:       </dict>
5472*67e74705SXin Li// CHECK-NEXT:      </array>
5473*67e74705SXin Li// CHECK-NEXT:    </dict>
5474*67e74705SXin Li// CHECK-NEXT:    <dict>
5475*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5476*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5477*67e74705SXin Li// CHECK-NEXT:     <dict>
5478*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>280</integer>
5479*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
5480*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5481*67e74705SXin Li// CHECK-NEXT:     </dict>
5482*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5483*67e74705SXin Li// CHECK-NEXT:     <array>
5484*67e74705SXin Li// CHECK-NEXT:       <array>
5485*67e74705SXin Li// CHECK-NEXT:        <dict>
5486*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>280</integer>
5487*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
5488*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5489*67e74705SXin Li// CHECK-NEXT:        </dict>
5490*67e74705SXin Li// CHECK-NEXT:        <dict>
5491*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>280</integer>
5492*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>41</integer>
5493*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5494*67e74705SXin Li// CHECK-NEXT:        </dict>
5495*67e74705SXin Li// CHECK-NEXT:       </array>
5496*67e74705SXin Li// CHECK-NEXT:     </array>
5497*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5498*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5499*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
5500*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5501*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
5502*67e74705SXin Li// CHECK-NEXT:    </dict>
5503*67e74705SXin Li// CHECK-NEXT:   </array>
5504*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
5505*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5506*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5507*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5508*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5509*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>ed543d4961e934fb4ac8db00e885fc7f</string>
5510*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5511*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>testAnnotatedLiterals</string>
5512*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
5513*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5514*67e74705SXin Li// CHECK-NEXT:  <dict>
5515*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>280</integer>
5516*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
5517*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5518*67e74705SXin Li// CHECK-NEXT:  </dict>
5519*67e74705SXin Li// CHECK-NEXT:  </dict>
5520*67e74705SXin Li// CHECK-NEXT:  <dict>
5521*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5522*67e74705SXin Li// CHECK-NEXT:   <array>
5523*67e74705SXin Li// CHECK-NEXT:    <dict>
5524*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5525*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5526*67e74705SXin Li// CHECK-NEXT:      <array>
5527*67e74705SXin Li// CHECK-NEXT:       <dict>
5528*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5529*67e74705SXin Li// CHECK-NEXT:         <array>
5530*67e74705SXin Li// CHECK-NEXT:          <dict>
5531*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>289</integer>
5532*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5533*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5534*67e74705SXin Li// CHECK-NEXT:          </dict>
5535*67e74705SXin Li// CHECK-NEXT:          <dict>
5536*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>289</integer>
5537*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
5538*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5539*67e74705SXin Li// CHECK-NEXT:          </dict>
5540*67e74705SXin Li// CHECK-NEXT:         </array>
5541*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5542*67e74705SXin Li// CHECK-NEXT:         <array>
5543*67e74705SXin Li// CHECK-NEXT:          <dict>
5544*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5545*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5546*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5547*67e74705SXin Li// CHECK-NEXT:          </dict>
5548*67e74705SXin Li// CHECK-NEXT:          <dict>
5549*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5550*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
5551*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5552*67e74705SXin Li// CHECK-NEXT:          </dict>
5553*67e74705SXin Li// CHECK-NEXT:         </array>
5554*67e74705SXin Li// CHECK-NEXT:       </dict>
5555*67e74705SXin Li// CHECK-NEXT:      </array>
5556*67e74705SXin Li// CHECK-NEXT:    </dict>
5557*67e74705SXin Li// CHECK-NEXT:    <dict>
5558*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5559*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5560*67e74705SXin Li// CHECK-NEXT:      <array>
5561*67e74705SXin Li// CHECK-NEXT:       <dict>
5562*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5563*67e74705SXin Li// CHECK-NEXT:         <array>
5564*67e74705SXin Li// CHECK-NEXT:          <dict>
5565*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5566*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5567*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5568*67e74705SXin Li// CHECK-NEXT:          </dict>
5569*67e74705SXin Li// CHECK-NEXT:          <dict>
5570*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5571*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
5572*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5573*67e74705SXin Li// CHECK-NEXT:          </dict>
5574*67e74705SXin Li// CHECK-NEXT:         </array>
5575*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5576*67e74705SXin Li// CHECK-NEXT:         <array>
5577*67e74705SXin Li// CHECK-NEXT:          <dict>
5578*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5579*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>28</integer>
5580*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5581*67e74705SXin Li// CHECK-NEXT:          </dict>
5582*67e74705SXin Li// CHECK-NEXT:          <dict>
5583*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>290</integer>
5584*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>28</integer>
5585*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5586*67e74705SXin Li// CHECK-NEXT:          </dict>
5587*67e74705SXin Li// CHECK-NEXT:         </array>
5588*67e74705SXin Li// CHECK-NEXT:       </dict>
5589*67e74705SXin Li// CHECK-NEXT:      </array>
5590*67e74705SXin Li// CHECK-NEXT:    </dict>
5591*67e74705SXin Li// CHECK-NEXT:    <dict>
5592*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5593*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5594*67e74705SXin Li// CHECK-NEXT:     <dict>
5595*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>290</integer>
5596*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
5597*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5598*67e74705SXin Li// CHECK-NEXT:     </dict>
5599*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5600*67e74705SXin Li// CHECK-NEXT:     <array>
5601*67e74705SXin Li// CHECK-NEXT:       <array>
5602*67e74705SXin Li// CHECK-NEXT:        <dict>
5603*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>290</integer>
5604*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
5605*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5606*67e74705SXin Li// CHECK-NEXT:        </dict>
5607*67e74705SXin Li// CHECK-NEXT:        <dict>
5608*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>290</integer>
5609*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>39</integer>
5610*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5611*67e74705SXin Li// CHECK-NEXT:        </dict>
5612*67e74705SXin Li// CHECK-NEXT:       </array>
5613*67e74705SXin Li// CHECK-NEXT:     </array>
5614*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5615*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5616*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
5617*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5618*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
5619*67e74705SXin Li// CHECK-NEXT:    </dict>
5620*67e74705SXin Li// CHECK-NEXT:    <dict>
5621*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5622*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5623*67e74705SXin Li// CHECK-NEXT:     <dict>
5624*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>290</integer>
5625*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>28</integer>
5626*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5627*67e74705SXin Li// CHECK-NEXT:     </dict>
5628*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5629*67e74705SXin Li// CHECK-NEXT:     <array>
5630*67e74705SXin Li// CHECK-NEXT:       <array>
5631*67e74705SXin Li// CHECK-NEXT:        <dict>
5632*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>290</integer>
5633*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>28</integer>
5634*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5635*67e74705SXin Li// CHECK-NEXT:        </dict>
5636*67e74705SXin Li// CHECK-NEXT:        <dict>
5637*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>290</integer>
5638*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>39</integer>
5639*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5640*67e74705SXin Li// CHECK-NEXT:        </dict>
5641*67e74705SXin Li// CHECK-NEXT:       </array>
5642*67e74705SXin Li// CHECK-NEXT:     </array>
5643*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5644*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5645*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5646*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5647*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5648*67e74705SXin Li// CHECK-NEXT:    </dict>
5649*67e74705SXin Li// CHECK-NEXT:   </array>
5650*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5651*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5652*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5653*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5654*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5655*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>46aa94b866747bcbe1ded581da7a2633</string>
5656*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5657*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>trackedClassVariables</string>
5658*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
5659*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5660*67e74705SXin Li// CHECK-NEXT:  <dict>
5661*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>290</integer>
5662*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>28</integer>
5663*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5664*67e74705SXin Li// CHECK-NEXT:  </dict>
5665*67e74705SXin Li// CHECK-NEXT:  </dict>
5666*67e74705SXin Li// CHECK-NEXT:  <dict>
5667*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5668*67e74705SXin Li// CHECK-NEXT:   <array>
5669*67e74705SXin Li// CHECK-NEXT:    <dict>
5670*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5671*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5672*67e74705SXin Li// CHECK-NEXT:      <array>
5673*67e74705SXin Li// CHECK-NEXT:       <dict>
5674*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5675*67e74705SXin Li// CHECK-NEXT:         <array>
5676*67e74705SXin Li// CHECK-NEXT:          <dict>
5677*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>289</integer>
5678*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5679*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5680*67e74705SXin Li// CHECK-NEXT:          </dict>
5681*67e74705SXin Li// CHECK-NEXT:          <dict>
5682*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>289</integer>
5683*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
5684*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5685*67e74705SXin Li// CHECK-NEXT:          </dict>
5686*67e74705SXin Li// CHECK-NEXT:         </array>
5687*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5688*67e74705SXin Li// CHECK-NEXT:         <array>
5689*67e74705SXin Li// CHECK-NEXT:          <dict>
5690*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5691*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5692*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5693*67e74705SXin Li// CHECK-NEXT:          </dict>
5694*67e74705SXin Li// CHECK-NEXT:          <dict>
5695*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5696*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5697*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5698*67e74705SXin Li// CHECK-NEXT:          </dict>
5699*67e74705SXin Li// CHECK-NEXT:         </array>
5700*67e74705SXin Li// CHECK-NEXT:       </dict>
5701*67e74705SXin Li// CHECK-NEXT:      </array>
5702*67e74705SXin Li// CHECK-NEXT:    </dict>
5703*67e74705SXin Li// CHECK-NEXT:    <dict>
5704*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5705*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5706*67e74705SXin Li// CHECK-NEXT:      <array>
5707*67e74705SXin Li// CHECK-NEXT:       <dict>
5708*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5709*67e74705SXin Li// CHECK-NEXT:         <array>
5710*67e74705SXin Li// CHECK-NEXT:          <dict>
5711*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5712*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5713*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5714*67e74705SXin Li// CHECK-NEXT:          </dict>
5715*67e74705SXin Li// CHECK-NEXT:          <dict>
5716*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5717*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5718*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5719*67e74705SXin Li// CHECK-NEXT:          </dict>
5720*67e74705SXin Li// CHECK-NEXT:         </array>
5721*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5722*67e74705SXin Li// CHECK-NEXT:         <array>
5723*67e74705SXin Li// CHECK-NEXT:          <dict>
5724*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5725*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
5726*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5727*67e74705SXin Li// CHECK-NEXT:          </dict>
5728*67e74705SXin Li// CHECK-NEXT:          <dict>
5729*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>291</integer>
5730*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
5731*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5732*67e74705SXin Li// CHECK-NEXT:          </dict>
5733*67e74705SXin Li// CHECK-NEXT:         </array>
5734*67e74705SXin Li// CHECK-NEXT:       </dict>
5735*67e74705SXin Li// CHECK-NEXT:      </array>
5736*67e74705SXin Li// CHECK-NEXT:    </dict>
5737*67e74705SXin Li// CHECK-NEXT:    <dict>
5738*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5739*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5740*67e74705SXin Li// CHECK-NEXT:     <dict>
5741*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>291</integer>
5742*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
5743*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5744*67e74705SXin Li// CHECK-NEXT:     </dict>
5745*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5746*67e74705SXin Li// CHECK-NEXT:     <array>
5747*67e74705SXin Li// CHECK-NEXT:       <array>
5748*67e74705SXin Li// CHECK-NEXT:        <dict>
5749*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>291</integer>
5750*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5751*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5752*67e74705SXin Li// CHECK-NEXT:        </dict>
5753*67e74705SXin Li// CHECK-NEXT:        <dict>
5754*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>291</integer>
5755*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
5756*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5757*67e74705SXin Li// CHECK-NEXT:        </dict>
5758*67e74705SXin Li// CHECK-NEXT:       </array>
5759*67e74705SXin Li// CHECK-NEXT:     </array>
5760*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5761*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5762*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
5763*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5764*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
5765*67e74705SXin Li// CHECK-NEXT:    </dict>
5766*67e74705SXin Li// CHECK-NEXT:    <dict>
5767*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5768*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5769*67e74705SXin Li// CHECK-NEXT:     <dict>
5770*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>291</integer>
5771*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
5772*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5773*67e74705SXin Li// CHECK-NEXT:     </dict>
5774*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5775*67e74705SXin Li// CHECK-NEXT:     <array>
5776*67e74705SXin Li// CHECK-NEXT:       <array>
5777*67e74705SXin Li// CHECK-NEXT:        <dict>
5778*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>291</integer>
5779*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
5780*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5781*67e74705SXin Li// CHECK-NEXT:        </dict>
5782*67e74705SXin Li// CHECK-NEXT:        <dict>
5783*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>291</integer>
5784*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
5785*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5786*67e74705SXin Li// CHECK-NEXT:        </dict>
5787*67e74705SXin Li// CHECK-NEXT:       </array>
5788*67e74705SXin Li// CHECK-NEXT:     </array>
5789*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5790*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5791*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5792*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5793*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5794*67e74705SXin Li// CHECK-NEXT:    </dict>
5795*67e74705SXin Li// CHECK-NEXT:   </array>
5796*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5797*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5798*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5799*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5800*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5801*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>a759006d1ce88e15fcd6de6a29e2579c</string>
5802*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5803*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>trackedClassVariables</string>
5804*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
5805*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5806*67e74705SXin Li// CHECK-NEXT:  <dict>
5807*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>291</integer>
5808*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
5809*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5810*67e74705SXin Li// CHECK-NEXT:  </dict>
5811*67e74705SXin Li// CHECK-NEXT:  </dict>
5812*67e74705SXin Li// CHECK-NEXT:  <dict>
5813*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5814*67e74705SXin Li// CHECK-NEXT:   <array>
5815*67e74705SXin Li// CHECK-NEXT:    <dict>
5816*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5817*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5818*67e74705SXin Li// CHECK-NEXT:     <dict>
5819*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>295</integer>
5820*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>13</integer>
5821*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5822*67e74705SXin Li// CHECK-NEXT:     </dict>
5823*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5824*67e74705SXin Li// CHECK-NEXT:     <array>
5825*67e74705SXin Li// CHECK-NEXT:       <array>
5826*67e74705SXin Li// CHECK-NEXT:        <dict>
5827*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>295</integer>
5828*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>13</integer>
5829*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5830*67e74705SXin Li// CHECK-NEXT:        </dict>
5831*67e74705SXin Li// CHECK-NEXT:        <dict>
5832*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>295</integer>
5833*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>15</integer>
5834*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5835*67e74705SXin Li// CHECK-NEXT:        </dict>
5836*67e74705SXin Li// CHECK-NEXT:       </array>
5837*67e74705SXin Li// CHECK-NEXT:     </array>
5838*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5839*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5840*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
5841*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5842*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;NSArray&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
5843*67e74705SXin Li// CHECK-NEXT:    </dict>
5844*67e74705SXin Li// CHECK-NEXT:    <dict>
5845*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5846*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5847*67e74705SXin Li// CHECK-NEXT:      <array>
5848*67e74705SXin Li// CHECK-NEXT:       <dict>
5849*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5850*67e74705SXin Li// CHECK-NEXT:         <array>
5851*67e74705SXin Li// CHECK-NEXT:          <dict>
5852*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>295</integer>
5853*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5854*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5855*67e74705SXin Li// CHECK-NEXT:          </dict>
5856*67e74705SXin Li// CHECK-NEXT:          <dict>
5857*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>295</integer>
5858*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5859*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5860*67e74705SXin Li// CHECK-NEXT:          </dict>
5861*67e74705SXin Li// CHECK-NEXT:         </array>
5862*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5863*67e74705SXin Li// CHECK-NEXT:         <array>
5864*67e74705SXin Li// CHECK-NEXT:          <dict>
5865*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5866*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5867*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5868*67e74705SXin Li// CHECK-NEXT:          </dict>
5869*67e74705SXin Li// CHECK-NEXT:          <dict>
5870*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5871*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5872*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5873*67e74705SXin Li// CHECK-NEXT:          </dict>
5874*67e74705SXin Li// CHECK-NEXT:         </array>
5875*67e74705SXin Li// CHECK-NEXT:       </dict>
5876*67e74705SXin Li// CHECK-NEXT:      </array>
5877*67e74705SXin Li// CHECK-NEXT:    </dict>
5878*67e74705SXin Li// CHECK-NEXT:    <dict>
5879*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5880*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5881*67e74705SXin Li// CHECK-NEXT:      <array>
5882*67e74705SXin Li// CHECK-NEXT:       <dict>
5883*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5884*67e74705SXin Li// CHECK-NEXT:         <array>
5885*67e74705SXin Li// CHECK-NEXT:          <dict>
5886*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5887*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5888*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5889*67e74705SXin Li// CHECK-NEXT:          </dict>
5890*67e74705SXin Li// CHECK-NEXT:          <dict>
5891*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5892*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5893*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5894*67e74705SXin Li// CHECK-NEXT:          </dict>
5895*67e74705SXin Li// CHECK-NEXT:         </array>
5896*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5897*67e74705SXin Li// CHECK-NEXT:         <array>
5898*67e74705SXin Li// CHECK-NEXT:          <dict>
5899*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5900*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>18</integer>
5901*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5902*67e74705SXin Li// CHECK-NEXT:          </dict>
5903*67e74705SXin Li// CHECK-NEXT:          <dict>
5904*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>296</integer>
5905*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>21</integer>
5906*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5907*67e74705SXin Li// CHECK-NEXT:          </dict>
5908*67e74705SXin Li// CHECK-NEXT:         </array>
5909*67e74705SXin Li// CHECK-NEXT:       </dict>
5910*67e74705SXin Li// CHECK-NEXT:      </array>
5911*67e74705SXin Li// CHECK-NEXT:    </dict>
5912*67e74705SXin Li// CHECK-NEXT:    <dict>
5913*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5914*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5915*67e74705SXin Li// CHECK-NEXT:     <dict>
5916*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>296</integer>
5917*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>18</integer>
5918*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
5919*67e74705SXin Li// CHECK-NEXT:     </dict>
5920*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
5921*67e74705SXin Li// CHECK-NEXT:     <array>
5922*67e74705SXin Li// CHECK-NEXT:       <array>
5923*67e74705SXin Li// CHECK-NEXT:        <dict>
5924*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>296</integer>
5925*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>18</integer>
5926*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5927*67e74705SXin Li// CHECK-NEXT:        </dict>
5928*67e74705SXin Li// CHECK-NEXT:        <dict>
5929*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>296</integer>
5930*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>21</integer>
5931*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
5932*67e74705SXin Li// CHECK-NEXT:        </dict>
5933*67e74705SXin Li// CHECK-NEXT:       </array>
5934*67e74705SXin Li// CHECK-NEXT:     </array>
5935*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
5936*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
5937*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5938*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
5939*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5940*67e74705SXin Li// CHECK-NEXT:    </dict>
5941*67e74705SXin Li// CHECK-NEXT:   </array>
5942*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
5943*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
5944*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
5945*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
5946*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
5947*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>4bb1729ff86647750b458e6f8d883f08</string>
5948*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
5949*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>nestedCollections</string>
5950*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
5951*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
5952*67e74705SXin Li// CHECK-NEXT:  <dict>
5953*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>296</integer>
5954*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>18</integer>
5955*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
5956*67e74705SXin Li// CHECK-NEXT:  </dict>
5957*67e74705SXin Li// CHECK-NEXT:  </dict>
5958*67e74705SXin Li// CHECK-NEXT:  <dict>
5959*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
5960*67e74705SXin Li// CHECK-NEXT:   <array>
5961*67e74705SXin Li// CHECK-NEXT:    <dict>
5962*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
5963*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
5964*67e74705SXin Li// CHECK-NEXT:      <array>
5965*67e74705SXin Li// CHECK-NEXT:       <dict>
5966*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
5967*67e74705SXin Li// CHECK-NEXT:         <array>
5968*67e74705SXin Li// CHECK-NEXT:          <dict>
5969*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>308</integer>
5970*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5971*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5972*67e74705SXin Li// CHECK-NEXT:          </dict>
5973*67e74705SXin Li// CHECK-NEXT:          <dict>
5974*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>308</integer>
5975*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
5976*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5977*67e74705SXin Li// CHECK-NEXT:          </dict>
5978*67e74705SXin Li// CHECK-NEXT:         </array>
5979*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
5980*67e74705SXin Li// CHECK-NEXT:         <array>
5981*67e74705SXin Li// CHECK-NEXT:          <dict>
5982*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>309</integer>
5983*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
5984*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5985*67e74705SXin Li// CHECK-NEXT:          </dict>
5986*67e74705SXin Li// CHECK-NEXT:          <dict>
5987*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>309</integer>
5988*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
5989*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
5990*67e74705SXin Li// CHECK-NEXT:          </dict>
5991*67e74705SXin Li// CHECK-NEXT:         </array>
5992*67e74705SXin Li// CHECK-NEXT:       </dict>
5993*67e74705SXin Li// CHECK-NEXT:      </array>
5994*67e74705SXin Li// CHECK-NEXT:    </dict>
5995*67e74705SXin Li// CHECK-NEXT:    <dict>
5996*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
5997*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
5998*67e74705SXin Li// CHECK-NEXT:     <dict>
5999*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>309</integer>
6000*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>10</integer>
6001*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6002*67e74705SXin Li// CHECK-NEXT:     </dict>
6003*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6004*67e74705SXin Li// CHECK-NEXT:     <array>
6005*67e74705SXin Li// CHECK-NEXT:       <array>
6006*67e74705SXin Li// CHECK-NEXT:        <dict>
6007*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>309</integer>
6008*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>10</integer>
6009*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6010*67e74705SXin Li// CHECK-NEXT:        </dict>
6011*67e74705SXin Li// CHECK-NEXT:        <dict>
6012*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>309</integer>
6013*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>29</integer>
6014*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6015*67e74705SXin Li// CHECK-NEXT:        </dict>
6016*67e74705SXin Li// CHECK-NEXT:       </array>
6017*67e74705SXin Li// CHECK-NEXT:     </array>
6018*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6019*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6020*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6021*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6022*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6023*67e74705SXin Li// CHECK-NEXT:    </dict>
6024*67e74705SXin Li// CHECK-NEXT:    <dict>
6025*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6026*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6027*67e74705SXin Li// CHECK-NEXT:      <array>
6028*67e74705SXin Li// CHECK-NEXT:       <dict>
6029*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6030*67e74705SXin Li// CHECK-NEXT:         <array>
6031*67e74705SXin Li// CHECK-NEXT:          <dict>
6032*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>309</integer>
6033*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6034*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6035*67e74705SXin Li// CHECK-NEXT:          </dict>
6036*67e74705SXin Li// CHECK-NEXT:          <dict>
6037*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>309</integer>
6038*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
6039*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6040*67e74705SXin Li// CHECK-NEXT:          </dict>
6041*67e74705SXin Li// CHECK-NEXT:         </array>
6042*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6043*67e74705SXin Li// CHECK-NEXT:         <array>
6044*67e74705SXin Li// CHECK-NEXT:          <dict>
6045*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6046*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6047*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6048*67e74705SXin Li// CHECK-NEXT:          </dict>
6049*67e74705SXin Li// CHECK-NEXT:          <dict>
6050*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6051*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6052*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6053*67e74705SXin Li// CHECK-NEXT:          </dict>
6054*67e74705SXin Li// CHECK-NEXT:         </array>
6055*67e74705SXin Li// CHECK-NEXT:       </dict>
6056*67e74705SXin Li// CHECK-NEXT:      </array>
6057*67e74705SXin Li// CHECK-NEXT:    </dict>
6058*67e74705SXin Li// CHECK-NEXT:    <dict>
6059*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6060*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6061*67e74705SXin Li// CHECK-NEXT:      <array>
6062*67e74705SXin Li// CHECK-NEXT:       <dict>
6063*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6064*67e74705SXin Li// CHECK-NEXT:         <array>
6065*67e74705SXin Li// CHECK-NEXT:          <dict>
6066*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6067*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6068*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6069*67e74705SXin Li// CHECK-NEXT:          </dict>
6070*67e74705SXin Li// CHECK-NEXT:          <dict>
6071*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6072*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6073*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6074*67e74705SXin Li// CHECK-NEXT:          </dict>
6075*67e74705SXin Li// CHECK-NEXT:         </array>
6076*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6077*67e74705SXin Li// CHECK-NEXT:         <array>
6078*67e74705SXin Li// CHECK-NEXT:          <dict>
6079*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6080*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>30</integer>
6081*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6082*67e74705SXin Li// CHECK-NEXT:          </dict>
6083*67e74705SXin Li// CHECK-NEXT:          <dict>
6084*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>310</integer>
6085*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>30</integer>
6086*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6087*67e74705SXin Li// CHECK-NEXT:          </dict>
6088*67e74705SXin Li// CHECK-NEXT:         </array>
6089*67e74705SXin Li// CHECK-NEXT:       </dict>
6090*67e74705SXin Li// CHECK-NEXT:      </array>
6091*67e74705SXin Li// CHECK-NEXT:    </dict>
6092*67e74705SXin Li// CHECK-NEXT:    <dict>
6093*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6094*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6095*67e74705SXin Li// CHECK-NEXT:     <dict>
6096*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>310</integer>
6097*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>30</integer>
6098*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6099*67e74705SXin Li// CHECK-NEXT:     </dict>
6100*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6101*67e74705SXin Li// CHECK-NEXT:     <array>
6102*67e74705SXin Li// CHECK-NEXT:       <array>
6103*67e74705SXin Li// CHECK-NEXT:        <dict>
6104*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>310</integer>
6105*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>30</integer>
6106*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6107*67e74705SXin Li// CHECK-NEXT:        </dict>
6108*67e74705SXin Li// CHECK-NEXT:        <dict>
6109*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>310</integer>
6110*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>30</integer>
6111*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6112*67e74705SXin Li// CHECK-NEXT:        </dict>
6113*67e74705SXin Li// CHECK-NEXT:       </array>
6114*67e74705SXin Li// CHECK-NEXT:     </array>
6115*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6116*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6117*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6118*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6119*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6120*67e74705SXin Li// CHECK-NEXT:    </dict>
6121*67e74705SXin Li// CHECK-NEXT:   </array>
6122*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6123*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
6124*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
6125*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
6126*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6127*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>38831553eaecfb6c02b51e71d21ec6ea</string>
6128*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6129*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>returnCollectionToIdVariable</string>
6130*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
6131*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6132*67e74705SXin Li// CHECK-NEXT:  <dict>
6133*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>310</integer>
6134*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>30</integer>
6135*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6136*67e74705SXin Li// CHECK-NEXT:  </dict>
6137*67e74705SXin Li// CHECK-NEXT:  </dict>
6138*67e74705SXin Li// CHECK-NEXT:  <dict>
6139*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
6140*67e74705SXin Li// CHECK-NEXT:   <array>
6141*67e74705SXin Li// CHECK-NEXT:    <dict>
6142*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6143*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6144*67e74705SXin Li// CHECK-NEXT:      <array>
6145*67e74705SXin Li// CHECK-NEXT:       <dict>
6146*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6147*67e74705SXin Li// CHECK-NEXT:         <array>
6148*67e74705SXin Li// CHECK-NEXT:          <dict>
6149*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>314</integer>
6150*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6151*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6152*67e74705SXin Li// CHECK-NEXT:          </dict>
6153*67e74705SXin Li// CHECK-NEXT:          <dict>
6154*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>314</integer>
6155*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6156*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6157*67e74705SXin Li// CHECK-NEXT:          </dict>
6158*67e74705SXin Li// CHECK-NEXT:         </array>
6159*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6160*67e74705SXin Li// CHECK-NEXT:         <array>
6161*67e74705SXin Li// CHECK-NEXT:          <dict>
6162*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>315</integer>
6163*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6164*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6165*67e74705SXin Li// CHECK-NEXT:          </dict>
6166*67e74705SXin Li// CHECK-NEXT:          <dict>
6167*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>315</integer>
6168*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6169*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6170*67e74705SXin Li// CHECK-NEXT:          </dict>
6171*67e74705SXin Li// CHECK-NEXT:         </array>
6172*67e74705SXin Li// CHECK-NEXT:       </dict>
6173*67e74705SXin Li// CHECK-NEXT:      </array>
6174*67e74705SXin Li// CHECK-NEXT:    </dict>
6175*67e74705SXin Li// CHECK-NEXT:    <dict>
6176*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6177*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6178*67e74705SXin Li// CHECK-NEXT:     <dict>
6179*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>315</integer>
6180*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>16</integer>
6181*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6182*67e74705SXin Li// CHECK-NEXT:     </dict>
6183*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6184*67e74705SXin Li// CHECK-NEXT:     <array>
6185*67e74705SXin Li// CHECK-NEXT:       <array>
6186*67e74705SXin Li// CHECK-NEXT:        <dict>
6187*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>315</integer>
6188*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
6189*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6190*67e74705SXin Li// CHECK-NEXT:        </dict>
6191*67e74705SXin Li// CHECK-NEXT:        <dict>
6192*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>315</integer>
6193*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>35</integer>
6194*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6195*67e74705SXin Li// CHECK-NEXT:        </dict>
6196*67e74705SXin Li// CHECK-NEXT:       </array>
6197*67e74705SXin Li// CHECK-NEXT:     </array>
6198*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6199*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6200*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6201*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6202*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6203*67e74705SXin Li// CHECK-NEXT:    </dict>
6204*67e74705SXin Li// CHECK-NEXT:    <dict>
6205*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6206*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6207*67e74705SXin Li// CHECK-NEXT:      <array>
6208*67e74705SXin Li// CHECK-NEXT:       <dict>
6209*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6210*67e74705SXin Li// CHECK-NEXT:         <array>
6211*67e74705SXin Li// CHECK-NEXT:          <dict>
6212*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>315</integer>
6213*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6214*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6215*67e74705SXin Li// CHECK-NEXT:          </dict>
6216*67e74705SXin Li// CHECK-NEXT:          <dict>
6217*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>315</integer>
6218*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6219*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6220*67e74705SXin Li// CHECK-NEXT:          </dict>
6221*67e74705SXin Li// CHECK-NEXT:         </array>
6222*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6223*67e74705SXin Li// CHECK-NEXT:         <array>
6224*67e74705SXin Li// CHECK-NEXT:          <dict>
6225*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6226*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6227*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6228*67e74705SXin Li// CHECK-NEXT:          </dict>
6229*67e74705SXin Li// CHECK-NEXT:          <dict>
6230*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6231*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6232*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6233*67e74705SXin Li// CHECK-NEXT:          </dict>
6234*67e74705SXin Li// CHECK-NEXT:         </array>
6235*67e74705SXin Li// CHECK-NEXT:       </dict>
6236*67e74705SXin Li// CHECK-NEXT:      </array>
6237*67e74705SXin Li// CHECK-NEXT:    </dict>
6238*67e74705SXin Li// CHECK-NEXT:    <dict>
6239*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6240*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6241*67e74705SXin Li// CHECK-NEXT:      <array>
6242*67e74705SXin Li// CHECK-NEXT:       <dict>
6243*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6244*67e74705SXin Li// CHECK-NEXT:         <array>
6245*67e74705SXin Li// CHECK-NEXT:          <dict>
6246*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6247*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6248*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6249*67e74705SXin Li// CHECK-NEXT:          </dict>
6250*67e74705SXin Li// CHECK-NEXT:          <dict>
6251*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6252*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6253*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6254*67e74705SXin Li// CHECK-NEXT:          </dict>
6255*67e74705SXin Li// CHECK-NEXT:         </array>
6256*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6257*67e74705SXin Li// CHECK-NEXT:         <array>
6258*67e74705SXin Li// CHECK-NEXT:          <dict>
6259*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6260*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>30</integer>
6261*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6262*67e74705SXin Li// CHECK-NEXT:          </dict>
6263*67e74705SXin Li// CHECK-NEXT:          <dict>
6264*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>316</integer>
6265*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>30</integer>
6266*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6267*67e74705SXin Li// CHECK-NEXT:          </dict>
6268*67e74705SXin Li// CHECK-NEXT:         </array>
6269*67e74705SXin Li// CHECK-NEXT:       </dict>
6270*67e74705SXin Li// CHECK-NEXT:      </array>
6271*67e74705SXin Li// CHECK-NEXT:    </dict>
6272*67e74705SXin Li// CHECK-NEXT:    <dict>
6273*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6274*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6275*67e74705SXin Li// CHECK-NEXT:     <dict>
6276*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>316</integer>
6277*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>30</integer>
6278*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6279*67e74705SXin Li// CHECK-NEXT:     </dict>
6280*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6281*67e74705SXin Li// CHECK-NEXT:     <array>
6282*67e74705SXin Li// CHECK-NEXT:       <array>
6283*67e74705SXin Li// CHECK-NEXT:        <dict>
6284*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>316</integer>
6285*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>30</integer>
6286*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6287*67e74705SXin Li// CHECK-NEXT:        </dict>
6288*67e74705SXin Li// CHECK-NEXT:        <dict>
6289*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>316</integer>
6290*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>30</integer>
6291*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6292*67e74705SXin Li// CHECK-NEXT:        </dict>
6293*67e74705SXin Li// CHECK-NEXT:       </array>
6294*67e74705SXin Li// CHECK-NEXT:     </array>
6295*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6296*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6297*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6298*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6299*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6300*67e74705SXin Li// CHECK-NEXT:    </dict>
6301*67e74705SXin Li// CHECK-NEXT:   </array>
6302*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSArray&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSNumber *&gt; *&apos;</string>
6303*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
6304*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
6305*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
6306*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6307*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>9fcbd4dcf212f004877292aa5085322b</string>
6308*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6309*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>eraseSpecialization</string>
6310*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
6311*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6312*67e74705SXin Li// CHECK-NEXT:  <dict>
6313*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>316</integer>
6314*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>30</integer>
6315*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6316*67e74705SXin Li// CHECK-NEXT:  </dict>
6317*67e74705SXin Li// CHECK-NEXT:  </dict>
6318*67e74705SXin Li// CHECK-NEXT:  <dict>
6319*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
6320*67e74705SXin Li// CHECK-NEXT:   <array>
6321*67e74705SXin Li// CHECK-NEXT:    <dict>
6322*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6323*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6324*67e74705SXin Li// CHECK-NEXT:      <array>
6325*67e74705SXin Li// CHECK-NEXT:       <dict>
6326*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6327*67e74705SXin Li// CHECK-NEXT:         <array>
6328*67e74705SXin Li// CHECK-NEXT:          <dict>
6329*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>320</integer>
6330*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6331*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6332*67e74705SXin Li// CHECK-NEXT:          </dict>
6333*67e74705SXin Li// CHECK-NEXT:          <dict>
6334*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>320</integer>
6335*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6336*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6337*67e74705SXin Li// CHECK-NEXT:          </dict>
6338*67e74705SXin Li// CHECK-NEXT:         </array>
6339*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6340*67e74705SXin Li// CHECK-NEXT:         <array>
6341*67e74705SXin Li// CHECK-NEXT:          <dict>
6342*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6343*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6344*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6345*67e74705SXin Li// CHECK-NEXT:          </dict>
6346*67e74705SXin Li// CHECK-NEXT:          <dict>
6347*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6348*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
6349*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6350*67e74705SXin Li// CHECK-NEXT:          </dict>
6351*67e74705SXin Li// CHECK-NEXT:         </array>
6352*67e74705SXin Li// CHECK-NEXT:       </dict>
6353*67e74705SXin Li// CHECK-NEXT:      </array>
6354*67e74705SXin Li// CHECK-NEXT:    </dict>
6355*67e74705SXin Li// CHECK-NEXT:    <dict>
6356*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6357*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6358*67e74705SXin Li// CHECK-NEXT:      <array>
6359*67e74705SXin Li// CHECK-NEXT:       <dict>
6360*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6361*67e74705SXin Li// CHECK-NEXT:         <array>
6362*67e74705SXin Li// CHECK-NEXT:          <dict>
6363*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6364*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6365*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6366*67e74705SXin Li// CHECK-NEXT:          </dict>
6367*67e74705SXin Li// CHECK-NEXT:          <dict>
6368*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6369*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
6370*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6371*67e74705SXin Li// CHECK-NEXT:          </dict>
6372*67e74705SXin Li// CHECK-NEXT:         </array>
6373*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6374*67e74705SXin Li// CHECK-NEXT:         <array>
6375*67e74705SXin Li// CHECK-NEXT:          <dict>
6376*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6377*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>14</integer>
6378*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6379*67e74705SXin Li// CHECK-NEXT:          </dict>
6380*67e74705SXin Li// CHECK-NEXT:          <dict>
6381*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>321</integer>
6382*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>14</integer>
6383*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6384*67e74705SXin Li// CHECK-NEXT:          </dict>
6385*67e74705SXin Li// CHECK-NEXT:         </array>
6386*67e74705SXin Li// CHECK-NEXT:       </dict>
6387*67e74705SXin Li// CHECK-NEXT:      </array>
6388*67e74705SXin Li// CHECK-NEXT:    </dict>
6389*67e74705SXin Li// CHECK-NEXT:    <dict>
6390*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6391*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6392*67e74705SXin Li// CHECK-NEXT:     <dict>
6393*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>321</integer>
6394*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>14</integer>
6395*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6396*67e74705SXin Li// CHECK-NEXT:     </dict>
6397*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6398*67e74705SXin Li// CHECK-NEXT:     <array>
6399*67e74705SXin Li// CHECK-NEXT:       <array>
6400*67e74705SXin Li// CHECK-NEXT:        <dict>
6401*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>321</integer>
6402*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>14</integer>
6403*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6404*67e74705SXin Li// CHECK-NEXT:        </dict>
6405*67e74705SXin Li// CHECK-NEXT:        <dict>
6406*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>321</integer>
6407*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>33</integer>
6408*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6409*67e74705SXin Li// CHECK-NEXT:        </dict>
6410*67e74705SXin Li// CHECK-NEXT:       </array>
6411*67e74705SXin Li// CHECK-NEXT:     </array>
6412*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6413*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6414*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6415*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6416*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSArray&lt;NSString *&gt; *&apos; is inferred from this context</string>
6417*67e74705SXin Li// CHECK-NEXT:    </dict>
6418*67e74705SXin Li// CHECK-NEXT:    <dict>
6419*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6420*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6421*67e74705SXin Li// CHECK-NEXT:     <dict>
6422*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>321</integer>
6423*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>14</integer>
6424*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6425*67e74705SXin Li// CHECK-NEXT:     </dict>
6426*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6427*67e74705SXin Li// CHECK-NEXT:     <array>
6428*67e74705SXin Li// CHECK-NEXT:       <array>
6429*67e74705SXin Li// CHECK-NEXT:        <dict>
6430*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>321</integer>
6431*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>14</integer>
6432*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6433*67e74705SXin Li// CHECK-NEXT:        </dict>
6434*67e74705SXin Li// CHECK-NEXT:        <dict>
6435*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>321</integer>
6436*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>33</integer>
6437*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6438*67e74705SXin Li// CHECK-NEXT:        </dict>
6439*67e74705SXin Li// CHECK-NEXT:       </array>
6440*67e74705SXin Li// CHECK-NEXT:     </array>
6441*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6442*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6443*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSArray&lt;NSString *&gt; *&apos; which is incompatible with static type &apos;NSSet *&apos;</string>
6444*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6445*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSArray&lt;NSString *&gt; *&apos; which is incompatible with static type &apos;NSSet *&apos;</string>
6446*67e74705SXin Li// CHECK-NEXT:    </dict>
6447*67e74705SXin Li// CHECK-NEXT:   </array>
6448*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSArray&lt;NSString *&gt; *&apos; which is incompatible with static type &apos;NSSet *&apos;</string>
6449*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
6450*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
6451*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
6452*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6453*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>be6714fed24af6e7ac522b87a5098de0</string>
6454*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6455*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>returnToUnrelatedType</string>
6456*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
6457*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6458*67e74705SXin Li// CHECK-NEXT:  <dict>
6459*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>321</integer>
6460*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>14</integer>
6461*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6462*67e74705SXin Li// CHECK-NEXT:  </dict>
6463*67e74705SXin Li// CHECK-NEXT:  </dict>
6464*67e74705SXin Li// CHECK-NEXT:  <dict>
6465*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
6466*67e74705SXin Li// CHECK-NEXT:   <array>
6467*67e74705SXin Li// CHECK-NEXT:    <dict>
6468*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6469*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6470*67e74705SXin Li// CHECK-NEXT:      <array>
6471*67e74705SXin Li// CHECK-NEXT:       <dict>
6472*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6473*67e74705SXin Li// CHECK-NEXT:         <array>
6474*67e74705SXin Li// CHECK-NEXT:          <dict>
6475*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>326</integer>
6476*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6477*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6478*67e74705SXin Li// CHECK-NEXT:          </dict>
6479*67e74705SXin Li// CHECK-NEXT:          <dict>
6480*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>326</integer>
6481*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6482*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6483*67e74705SXin Li// CHECK-NEXT:          </dict>
6484*67e74705SXin Li// CHECK-NEXT:         </array>
6485*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6486*67e74705SXin Li// CHECK-NEXT:         <array>
6487*67e74705SXin Li// CHECK-NEXT:          <dict>
6488*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>327</integer>
6489*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6490*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6491*67e74705SXin Li// CHECK-NEXT:          </dict>
6492*67e74705SXin Li// CHECK-NEXT:          <dict>
6493*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>327</integer>
6494*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
6495*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6496*67e74705SXin Li// CHECK-NEXT:          </dict>
6497*67e74705SXin Li// CHECK-NEXT:         </array>
6498*67e74705SXin Li// CHECK-NEXT:       </dict>
6499*67e74705SXin Li// CHECK-NEXT:      </array>
6500*67e74705SXin Li// CHECK-NEXT:    </dict>
6501*67e74705SXin Li// CHECK-NEXT:    <dict>
6502*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6503*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6504*67e74705SXin Li// CHECK-NEXT:     <dict>
6505*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>327</integer>
6506*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>10</integer>
6507*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6508*67e74705SXin Li// CHECK-NEXT:     </dict>
6509*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6510*67e74705SXin Li// CHECK-NEXT:     <array>
6511*67e74705SXin Li// CHECK-NEXT:       <array>
6512*67e74705SXin Li// CHECK-NEXT:        <dict>
6513*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>327</integer>
6514*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>10</integer>
6515*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6516*67e74705SXin Li// CHECK-NEXT:        </dict>
6517*67e74705SXin Li// CHECK-NEXT:        <dict>
6518*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>327</integer>
6519*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>29</integer>
6520*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6521*67e74705SXin Li// CHECK-NEXT:        </dict>
6522*67e74705SXin Li// CHECK-NEXT:       </array>
6523*67e74705SXin Li// CHECK-NEXT:     </array>
6524*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6525*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6526*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSString *&apos; is inferred from this context</string>
6527*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6528*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;NSString *&apos; is inferred from this context</string>
6529*67e74705SXin Li// CHECK-NEXT:    </dict>
6530*67e74705SXin Li// CHECK-NEXT:    <dict>
6531*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6532*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6533*67e74705SXin Li// CHECK-NEXT:      <array>
6534*67e74705SXin Li// CHECK-NEXT:       <dict>
6535*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6536*67e74705SXin Li// CHECK-NEXT:         <array>
6537*67e74705SXin Li// CHECK-NEXT:          <dict>
6538*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>327</integer>
6539*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6540*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6541*67e74705SXin Li// CHECK-NEXT:          </dict>
6542*67e74705SXin Li// CHECK-NEXT:          <dict>
6543*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>327</integer>
6544*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
6545*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6546*67e74705SXin Li// CHECK-NEXT:          </dict>
6547*67e74705SXin Li// CHECK-NEXT:         </array>
6548*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6549*67e74705SXin Li// CHECK-NEXT:         <array>
6550*67e74705SXin Li// CHECK-NEXT:          <dict>
6551*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6552*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6553*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6554*67e74705SXin Li// CHECK-NEXT:          </dict>
6555*67e74705SXin Li// CHECK-NEXT:          <dict>
6556*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6557*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>10</integer>
6558*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6559*67e74705SXin Li// CHECK-NEXT:          </dict>
6560*67e74705SXin Li// CHECK-NEXT:         </array>
6561*67e74705SXin Li// CHECK-NEXT:       </dict>
6562*67e74705SXin Li// CHECK-NEXT:      </array>
6563*67e74705SXin Li// CHECK-NEXT:    </dict>
6564*67e74705SXin Li// CHECK-NEXT:    <dict>
6565*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6566*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6567*67e74705SXin Li// CHECK-NEXT:      <array>
6568*67e74705SXin Li// CHECK-NEXT:       <dict>
6569*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6570*67e74705SXin Li// CHECK-NEXT:         <array>
6571*67e74705SXin Li// CHECK-NEXT:          <dict>
6572*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6573*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6574*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6575*67e74705SXin Li// CHECK-NEXT:          </dict>
6576*67e74705SXin Li// CHECK-NEXT:          <dict>
6577*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6578*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>10</integer>
6579*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6580*67e74705SXin Li// CHECK-NEXT:          </dict>
6581*67e74705SXin Li// CHECK-NEXT:         </array>
6582*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6583*67e74705SXin Li// CHECK-NEXT:         <array>
6584*67e74705SXin Li// CHECK-NEXT:          <dict>
6585*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6586*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>19</integer>
6587*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6588*67e74705SXin Li// CHECK-NEXT:          </dict>
6589*67e74705SXin Li// CHECK-NEXT:          <dict>
6590*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>328</integer>
6591*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>19</integer>
6592*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6593*67e74705SXin Li// CHECK-NEXT:          </dict>
6594*67e74705SXin Li// CHECK-NEXT:         </array>
6595*67e74705SXin Li// CHECK-NEXT:       </dict>
6596*67e74705SXin Li// CHECK-NEXT:      </array>
6597*67e74705SXin Li// CHECK-NEXT:    </dict>
6598*67e74705SXin Li// CHECK-NEXT:    <dict>
6599*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6600*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6601*67e74705SXin Li// CHECK-NEXT:     <dict>
6602*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>328</integer>
6603*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>19</integer>
6604*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6605*67e74705SXin Li// CHECK-NEXT:     </dict>
6606*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6607*67e74705SXin Li// CHECK-NEXT:     <array>
6608*67e74705SXin Li// CHECK-NEXT:       <array>
6609*67e74705SXin Li// CHECK-NEXT:        <dict>
6610*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>328</integer>
6611*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
6612*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6613*67e74705SXin Li// CHECK-NEXT:        </dict>
6614*67e74705SXin Li// CHECK-NEXT:        <dict>
6615*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>328</integer>
6616*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>19</integer>
6617*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6618*67e74705SXin Li// CHECK-NEXT:        </dict>
6619*67e74705SXin Li// CHECK-NEXT:       </array>
6620*67e74705SXin Li// CHECK-NEXT:     </array>
6621*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6622*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6623*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSString *&apos; which is incompatible with static type &apos;NSNumber *&apos;</string>
6624*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6625*67e74705SXin Li// CHECK-NEXT:     <string>Object has a dynamic type &apos;NSString *&apos; which is incompatible with static type &apos;NSNumber *&apos;</string>
6626*67e74705SXin Li// CHECK-NEXT:    </dict>
6627*67e74705SXin Li// CHECK-NEXT:   </array>
6628*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Object has a dynamic type &apos;NSString *&apos; which is incompatible with static type &apos;NSNumber *&apos;</string>
6629*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Type Error</string>
6630*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Dynamic and static type mismatch</string>
6631*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>alpha.core.DynamicTypeChecker</string>
6632*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6633*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>5e96ef711c8f115bc64f69baa3f6ea7a</string>
6634*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6635*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>returnToIdVariable</string>
6636*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
6637*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6638*67e74705SXin Li// CHECK-NEXT:  <dict>
6639*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>328</integer>
6640*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>19</integer>
6641*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6642*67e74705SXin Li// CHECK-NEXT:  </dict>
6643*67e74705SXin Li// CHECK-NEXT:  </dict>
6644*67e74705SXin Li// CHECK-NEXT:  <dict>
6645*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
6646*67e74705SXin Li// CHECK-NEXT:   <array>
6647*67e74705SXin Li// CHECK-NEXT:    <dict>
6648*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6649*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6650*67e74705SXin Li// CHECK-NEXT:     <dict>
6651*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>337</integer>
6652*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>12</integer>
6653*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6654*67e74705SXin Li// CHECK-NEXT:     </dict>
6655*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6656*67e74705SXin Li// CHECK-NEXT:     <array>
6657*67e74705SXin Li// CHECK-NEXT:       <array>
6658*67e74705SXin Li// CHECK-NEXT:        <dict>
6659*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>337</integer>
6660*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>12</integer>
6661*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6662*67e74705SXin Li// CHECK-NEXT:        </dict>
6663*67e74705SXin Li// CHECK-NEXT:        <dict>
6664*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>337</integer>
6665*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>12</integer>
6666*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6667*67e74705SXin Li// CHECK-NEXT:        </dict>
6668*67e74705SXin Li// CHECK-NEXT:       </array>
6669*67e74705SXin Li// CHECK-NEXT:     </array>
6670*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6671*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6672*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
6673*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6674*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
6675*67e74705SXin Li// CHECK-NEXT:    </dict>
6676*67e74705SXin Li// CHECK-NEXT:    <dict>
6677*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6678*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6679*67e74705SXin Li// CHECK-NEXT:      <array>
6680*67e74705SXin Li// CHECK-NEXT:       <dict>
6681*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6682*67e74705SXin Li// CHECK-NEXT:         <array>
6683*67e74705SXin Li// CHECK-NEXT:          <dict>
6684*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>337</integer>
6685*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6686*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6687*67e74705SXin Li// CHECK-NEXT:          </dict>
6688*67e74705SXin Li// CHECK-NEXT:          <dict>
6689*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>337</integer>
6690*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
6691*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6692*67e74705SXin Li// CHECK-NEXT:          </dict>
6693*67e74705SXin Li// CHECK-NEXT:         </array>
6694*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6695*67e74705SXin Li// CHECK-NEXT:         <array>
6696*67e74705SXin Li// CHECK-NEXT:          <dict>
6697*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6698*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6699*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6700*67e74705SXin Li// CHECK-NEXT:          </dict>
6701*67e74705SXin Li// CHECK-NEXT:          <dict>
6702*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6703*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6704*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6705*67e74705SXin Li// CHECK-NEXT:          </dict>
6706*67e74705SXin Li// CHECK-NEXT:         </array>
6707*67e74705SXin Li// CHECK-NEXT:       </dict>
6708*67e74705SXin Li// CHECK-NEXT:      </array>
6709*67e74705SXin Li// CHECK-NEXT:    </dict>
6710*67e74705SXin Li// CHECK-NEXT:    <dict>
6711*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6712*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6713*67e74705SXin Li// CHECK-NEXT:      <array>
6714*67e74705SXin Li// CHECK-NEXT:       <dict>
6715*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6716*67e74705SXin Li// CHECK-NEXT:         <array>
6717*67e74705SXin Li// CHECK-NEXT:          <dict>
6718*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6719*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6720*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6721*67e74705SXin Li// CHECK-NEXT:          </dict>
6722*67e74705SXin Li// CHECK-NEXT:          <dict>
6723*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6724*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6725*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6726*67e74705SXin Li// CHECK-NEXT:          </dict>
6727*67e74705SXin Li// CHECK-NEXT:         </array>
6728*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6729*67e74705SXin Li// CHECK-NEXT:         <array>
6730*67e74705SXin Li// CHECK-NEXT:          <dict>
6731*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6732*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>7</integer>
6733*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6734*67e74705SXin Li// CHECK-NEXT:          </dict>
6735*67e74705SXin Li// CHECK-NEXT:          <dict>
6736*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>338</integer>
6737*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>9</integer>
6738*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6739*67e74705SXin Li// CHECK-NEXT:          </dict>
6740*67e74705SXin Li// CHECK-NEXT:         </array>
6741*67e74705SXin Li// CHECK-NEXT:       </dict>
6742*67e74705SXin Li// CHECK-NEXT:      </array>
6743*67e74705SXin Li// CHECK-NEXT:    </dict>
6744*67e74705SXin Li// CHECK-NEXT:    <dict>
6745*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6746*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6747*67e74705SXin Li// CHECK-NEXT:     <dict>
6748*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>338</integer>
6749*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>7</integer>
6750*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6751*67e74705SXin Li// CHECK-NEXT:     </dict>
6752*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6753*67e74705SXin Li// CHECK-NEXT:     <array>
6754*67e74705SXin Li// CHECK-NEXT:       <array>
6755*67e74705SXin Li// CHECK-NEXT:        <dict>
6756*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>338</integer>
6757*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>7</integer>
6758*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6759*67e74705SXin Li// CHECK-NEXT:        </dict>
6760*67e74705SXin Li// CHECK-NEXT:        <dict>
6761*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>338</integer>
6762*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>9</integer>
6763*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6764*67e74705SXin Li// CHECK-NEXT:        </dict>
6765*67e74705SXin Li// CHECK-NEXT:       </array>
6766*67e74705SXin Li// CHECK-NEXT:     </array>
6767*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6768*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6769*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
6770*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6771*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
6772*67e74705SXin Li// CHECK-NEXT:    </dict>
6773*67e74705SXin Li// CHECK-NEXT:   </array>
6774*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to incompatible type &apos;NSArray&lt;NSString *&gt; *&apos;</string>
6775*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
6776*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
6777*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
6778*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6779*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>8347f65fb51a85ccd462d75ffd761078</string>
6780*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6781*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>testGetMostInformativeDerivedForId</string>
6782*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>2</string>
6783*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6784*67e74705SXin Li// CHECK-NEXT:  <dict>
6785*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>338</integer>
6786*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>7</integer>
6787*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6788*67e74705SXin Li// CHECK-NEXT:  </dict>
6789*67e74705SXin Li// CHECK-NEXT:  </dict>
6790*67e74705SXin Li// CHECK-NEXT:  <dict>
6791*67e74705SXin Li// CHECK-NEXT:   <key>path</key>
6792*67e74705SXin Li// CHECK-NEXT:   <array>
6793*67e74705SXin Li// CHECK-NEXT:    <dict>
6794*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6795*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6796*67e74705SXin Li// CHECK-NEXT:     <dict>
6797*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>337</integer>
6798*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>12</integer>
6799*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6800*67e74705SXin Li// CHECK-NEXT:     </dict>
6801*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6802*67e74705SXin Li// CHECK-NEXT:     <array>
6803*67e74705SXin Li// CHECK-NEXT:       <array>
6804*67e74705SXin Li// CHECK-NEXT:        <dict>
6805*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>337</integer>
6806*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>12</integer>
6807*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6808*67e74705SXin Li// CHECK-NEXT:        </dict>
6809*67e74705SXin Li// CHECK-NEXT:        <dict>
6810*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>337</integer>
6811*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>12</integer>
6812*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6813*67e74705SXin Li// CHECK-NEXT:        </dict>
6814*67e74705SXin Li// CHECK-NEXT:       </array>
6815*67e74705SXin Li// CHECK-NEXT:     </array>
6816*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6817*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6818*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
6819*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6820*67e74705SXin Li// CHECK-NEXT:     <string>Type &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; is inferred from implicit cast (from &apos;UnrelatedTypeGeneric&lt;NSString *&gt; *&apos; to &apos;id&apos;)</string>
6821*67e74705SXin Li// CHECK-NEXT:    </dict>
6822*67e74705SXin Li// CHECK-NEXT:    <dict>
6823*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>control</string>
6824*67e74705SXin Li// CHECK-NEXT:     <key>edges</key>
6825*67e74705SXin Li// CHECK-NEXT:      <array>
6826*67e74705SXin Li// CHECK-NEXT:       <dict>
6827*67e74705SXin Li// CHECK-NEXT:        <key>start</key>
6828*67e74705SXin Li// CHECK-NEXT:         <array>
6829*67e74705SXin Li// CHECK-NEXT:          <dict>
6830*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>337</integer>
6831*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6832*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6833*67e74705SXin Li// CHECK-NEXT:          </dict>
6834*67e74705SXin Li// CHECK-NEXT:          <dict>
6835*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>337</integer>
6836*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>4</integer>
6837*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6838*67e74705SXin Li// CHECK-NEXT:          </dict>
6839*67e74705SXin Li// CHECK-NEXT:         </array>
6840*67e74705SXin Li// CHECK-NEXT:        <key>end</key>
6841*67e74705SXin Li// CHECK-NEXT:         <array>
6842*67e74705SXin Li// CHECK-NEXT:          <dict>
6843*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>343</integer>
6844*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6845*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6846*67e74705SXin Li// CHECK-NEXT:          </dict>
6847*67e74705SXin Li// CHECK-NEXT:          <dict>
6848*67e74705SXin Li// CHECK-NEXT:           <key>line</key><integer>343</integer>
6849*67e74705SXin Li// CHECK-NEXT:           <key>col</key><integer>3</integer>
6850*67e74705SXin Li// CHECK-NEXT:           <key>file</key><integer>0</integer>
6851*67e74705SXin Li// CHECK-NEXT:          </dict>
6852*67e74705SXin Li// CHECK-NEXT:         </array>
6853*67e74705SXin Li// CHECK-NEXT:       </dict>
6854*67e74705SXin Li// CHECK-NEXT:      </array>
6855*67e74705SXin Li// CHECK-NEXT:    </dict>
6856*67e74705SXin Li// CHECK-NEXT:    <dict>
6857*67e74705SXin Li// CHECK-NEXT:     <key>kind</key><string>event</string>
6858*67e74705SXin Li// CHECK-NEXT:     <key>location</key>
6859*67e74705SXin Li// CHECK-NEXT:     <dict>
6860*67e74705SXin Li// CHECK-NEXT:      <key>line</key><integer>343</integer>
6861*67e74705SXin Li// CHECK-NEXT:      <key>col</key><integer>3</integer>
6862*67e74705SXin Li// CHECK-NEXT:      <key>file</key><integer>0</integer>
6863*67e74705SXin Li// CHECK-NEXT:     </dict>
6864*67e74705SXin Li// CHECK-NEXT:     <key>ranges</key>
6865*67e74705SXin Li// CHECK-NEXT:     <array>
6866*67e74705SXin Li// CHECK-NEXT:       <array>
6867*67e74705SXin Li// CHECK-NEXT:        <dict>
6868*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>343</integer>
6869*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>16</integer>
6870*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6871*67e74705SXin Li// CHECK-NEXT:        </dict>
6872*67e74705SXin Li// CHECK-NEXT:        <dict>
6873*67e74705SXin Li// CHECK-NEXT:         <key>line</key><integer>343</integer>
6874*67e74705SXin Li// CHECK-NEXT:         <key>col</key><integer>38</integer>
6875*67e74705SXin Li// CHECK-NEXT:         <key>file</key><integer>0</integer>
6876*67e74705SXin Li// CHECK-NEXT:        </dict>
6877*67e74705SXin Li// CHECK-NEXT:       </array>
6878*67e74705SXin Li// CHECK-NEXT:     </array>
6879*67e74705SXin Li// CHECK-NEXT:     <key>depth</key><integer>0</integer>
6880*67e74705SXin Li// CHECK-NEXT:     <key>extended_message</key>
6881*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
6882*67e74705SXin Li// CHECK-NEXT:     <key>message</key>
6883*67e74705SXin Li// CHECK-NEXT:     <string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
6884*67e74705SXin Li// CHECK-NEXT:    </dict>
6885*67e74705SXin Li// CHECK-NEXT:   </array>
6886*67e74705SXin Li// CHECK-NEXT:   <key>description</key><string>Conversion from value of type &apos;NSNumber *&apos; to incompatible type &apos;NSString *&apos;</string>
6887*67e74705SXin Li// CHECK-NEXT:   <key>category</key><string>Core Foundation/Objective-C</string>
6888*67e74705SXin Li// CHECK-NEXT:   <key>type</key><string>Generics</string>
6889*67e74705SXin Li// CHECK-NEXT:   <key>check_name</key><string>core.DynamicTypePropagation</string>
6890*67e74705SXin Li// CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
6891*67e74705SXin Li// CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>6528db66f562ac0c2a94933f3ca5f6a8</string>
6892*67e74705SXin Li// CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
6893*67e74705SXin Li// CHECK-NEXT:  <key>issue_context</key><string>testGetMostInformativeDerivedForId</string>
6894*67e74705SXin Li// CHECK-NEXT:  <key>issue_hash_function_offset</key><string>7</string>
6895*67e74705SXin Li// CHECK-NEXT:  <key>location</key>
6896*67e74705SXin Li// CHECK-NEXT:  <dict>
6897*67e74705SXin Li// CHECK-NEXT:   <key>line</key><integer>343</integer>
6898*67e74705SXin Li// CHECK-NEXT:   <key>col</key><integer>3</integer>
6899*67e74705SXin Li// CHECK-NEXT:   <key>file</key><integer>0</integer>
6900*67e74705SXin Li// CHECK-NEXT:  </dict>
6901*67e74705SXin Li// CHECK-NEXT:  </dict>
6902*67e74705SXin Li// CHECK-NEXT: </array>
6903