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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</string> 377*67e74705SXin Li// CHECK-NEXT: <key>message</key> 378*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 474*67e74705SXin Li// CHECK-NEXT: <key>message</key> 475*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</string> 523*67e74705SXin Li// CHECK-NEXT: <key>message</key> 524*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</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 'NSNumber *' to incompatible type 'NSString *'</string> 586*67e74705SXin Li// CHECK-NEXT: <key>message</key> 587*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</string> 635*67e74705SXin Li// CHECK-NEXT: <key>message</key> 636*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 732*67e74705SXin Li// CHECK-NEXT: <key>message</key> 733*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'getTypedStuff'</string> 815*67e74705SXin Li// CHECK-NEXT: <key>message</key> 816*67e74705SXin Li// CHECK-NEXT: <string>Calling 'getTypedStuff'</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 'crossProceduralErasedTypes'</string> 829*67e74705SXin Li// CHECK-NEXT: <key>message</key> 830*67e74705SXin Li// CHECK-NEXT: <string>Entered call from 'crossProceduralErasedTypes'</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 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *')</string> 892*67e74705SXin Li// CHECK-NEXT: <key>message</key> 893*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *')</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 'getTypedStuff'</string> 955*67e74705SXin Li// CHECK-NEXT: <key>message</key> 956*67e74705SXin Li// CHECK-NEXT: <string>Returning from 'getTypedStuff'</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 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *'</string> 984*67e74705SXin Li// CHECK-NEXT: <key>message</key> 985*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *'</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 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</string> 1033*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1034*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</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 'NSNumber *' to incompatible type 'NSString *'</string> 1096*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1097*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</string> 1145*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1146*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 1242*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1243*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *')</string> 1291*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1292*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *')</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 'NSNumber *' to incompatible type 'NSString *'</string> 1354*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1355*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *')</string> 1403*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1404*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 1500*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1501*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</string> 1549*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1550*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 1646*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1647*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</string> 1695*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1696*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</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 'NSNumber *' to incompatible type 'NSString *'</string> 1758*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1759*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</string> 1807*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1808*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 1904*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1905*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *')</string> 1987*67e74705SXin Li// CHECK-NEXT: <key>message</key> 1988*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *')</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 'NSString *' to incompatible type 'NSMutableString *'</string> 2084*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2085*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *'</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 'NSString *' to incompatible type 'NSMutableString *'</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</string> 2133*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2134*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 2230*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2231*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *')</string> 2279*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2280*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *')</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 'NSString *' to incompatible type 'NSMutableString *'</string> 2342*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2343*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *'</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 'NSString *' to incompatible type 'NSMutableString *'</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</string> 2425*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2426*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</string> 2522*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2523*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id')</string> 2571*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2572*67e74705SXin Li// CHECK-NEXT: <string>Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id')</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 'NSNumber *' to incompatible type 'NSString *'</string> 2634*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2635*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id')</string> 2683*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2684*67e74705SXin Li// CHECK-NEXT: <string>Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id')</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 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</string> 2780*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2781*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *')</string> 2829*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2830*67e74705SXin Li// CHECK-NEXT: <string>Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *')</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 'NSNumber *' to incompatible type 'NSString *'</string> 2892*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2893*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *')</string> 2941*67e74705SXin Li// CHECK-NEXT: <key>message</key> 2942*67e74705SXin Li// CHECK-NEXT: <string>Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *')</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 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</string> 3038*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3039*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *'</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</string> 3087*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3088*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</string> 3184*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3185*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *')</string> 3233*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3234*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *')</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</string> 3330*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3331*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *')</string> 3379*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3380*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *')</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</string> 3476*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3477*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *')</string> 3525*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3526*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</string> 3622*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3623*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *')</string> 3671*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3672*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *')</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *')</string> 3734*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3735*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</string> 3831*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3832*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *')</string> 3880*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3881*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</string> 3977*67e74705SXin Li// CHECK-NEXT: <key>message</key> 3978*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *')</string> 4026*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4027*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *')</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</string> 4123*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4124*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id')</string> 4172*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4173*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id')</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</string> 4269*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4270*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *')</string> 4318*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4319*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *')</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 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *')</string> 4381*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4382*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *')</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</string> 4478*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4479*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *'</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 'NSNumber *' is inferred from this context</string> 4595*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4596*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSNumber *' 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 'NSNumber *' which is incompatible with static type 'NSString *'</string> 4624*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4625*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' is inferred from this context</string> 4741*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4742*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSNumber *' 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 'NSNumber *' which is incompatible with static type 'NSString *'</string> 4770*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4771*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' is inferred from this context</string> 4887*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4888*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSNumber *' 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 'NSNumber *' which is incompatible with static type 'NSString *'</string> 4916*67e74705SXin Li// CHECK-NEXT: <key>message</key> 4917*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' is inferred from this context</string> 5033*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5034*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSNumber *' 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 'NSNumber *' which is incompatible with static type 'NSString *'</string> 5062*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5063*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *'</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 'NSNumber *' which is incompatible with static type 'NSString *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *')</string> 5111*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5112*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *')</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 'NSString *' to incompatible type 'NSMutableString *'</string> 5242*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5243*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *'</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 'NSString *' to incompatible type 'NSMutableString *'</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 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *')</string> 5291*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5292*67e74705SXin Li// CHECK-NEXT: <string>Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *')</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 'NSString *' to incompatible type 'NSMutableString *'</string> 5388*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5389*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *'</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 'NSString *' to incompatible type 'NSMutableString *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</string> 5437*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5438*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *')</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 'NSNumber *' to incompatible type 'NSString *'</string> 5500*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5501*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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 'NSArray<NSString *> *' is inferred from this context</string> 5617*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5618*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' 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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 5646*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5647*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from this context</string> 5763*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5764*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' 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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 5792*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5793*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</string> 5841*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5842*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id')</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 5938*67e74705SXin Li// CHECK-NEXT: <key>message</key> 5939*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from this context</string> 6021*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6022*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' 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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 6118*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6119*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from this context</string> 6201*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6202*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' 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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</string> 6298*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6299*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *'</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 'NSArray<NSString *> *' is inferred from this context</string> 6415*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6416*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSArray<NSString *> *' 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 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *'</string> 6444*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6445*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *'</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 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *'</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 'NSString *' is inferred from this context</string> 6527*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6528*67e74705SXin Li// CHECK-NEXT: <string>Type 'NSString *' 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 'NSString *' which is incompatible with static type 'NSNumber *'</string> 6624*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6625*67e74705SXin Li// CHECK-NEXT: <string>Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *'</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 'NSString *' which is incompatible with static type 'NSNumber *'</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 'UnrelatedTypeGeneric<NSString *> *' is inferred from implicit cast (from 'UnrelatedTypeGeneric<NSString *> *' to 'id')</string> 6673*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6674*67e74705SXin Li// CHECK-NEXT: <string>Type 'UnrelatedTypeGeneric<NSString *> *' is inferred from implicit cast (from 'UnrelatedTypeGeneric<NSString *> *' to 'id')</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 'UnrelatedTypeGeneric<NSString *> *' to incompatible type 'NSArray<NSString *> *'</string> 6770*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6771*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'UnrelatedTypeGeneric<NSString *> *' to incompatible type 'NSArray<NSString *> *'</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 'UnrelatedTypeGeneric<NSString *> *' to incompatible type 'NSArray<NSString *> *'</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 'UnrelatedTypeGeneric<NSString *> *' is inferred from implicit cast (from 'UnrelatedTypeGeneric<NSString *> *' to 'id')</string> 6819*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6820*67e74705SXin Li// CHECK-NEXT: <string>Type 'UnrelatedTypeGeneric<NSString *> *' is inferred from implicit cast (from 'UnrelatedTypeGeneric<NSString *> *' to 'id')</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 'NSNumber *' to incompatible type 'NSString *'</string> 6882*67e74705SXin Li// CHECK-NEXT: <key>message</key> 6883*67e74705SXin Li// CHECK-NEXT: <string>Conversion from value of type 'NSNumber *' to incompatible type 'NSString *'</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 'NSNumber *' to incompatible type 'NSString *'</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