Index: include/clang/StaticAnalyzer/Core/IssueHash.h =================================================================== --- /dev/null +++ include/clang/StaticAnalyzer/Core/IssueHash.h @@ -0,0 +1,43 @@ +//===---------- IssueHash.h - Generate identification hashes ----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef LLVM_CLANG_STATICANALYZER_CORE_ISSUE_HASH_H +#define LLVM_CLANG_STATICANALYZER_CORE_ISSUE_HASH_H + +#include "llvm/ADT/SmallString.h" + +namespace clang { +class Decl; +class SourceManager; +class FullSourceLoc; + +/// \brief Get an MD5 hash to help identify bugs. +/// +/// This function returns a hash that helps identify bugs within a source file. +/// This identification can be utilized to diff diagnostic results on different +/// snapshots of a projects, or maintain a database of suppressed diagnotics. +/// +/// The hash contains the normalized text of the location associated with the +/// diagnostic. Normalization means removing the whitespaces. The associated +/// location is the either the last location of a diagnostic path or a uniqueing +/// location. The bugtype and the name of the checker is also part of the hash. +/// The last component is the string representation of the enclosing declaration +/// of the associated location. +llvm::SmallString<32> GetIssueHash(const SourceManager &SM, + FullSourceLoc &IssueLoc, + llvm::StringRef CheckerName, + llvm::StringRef BugType, const Decl *D); + +/// \brief Get the string representation of issue hash. See GetIssueHash() for +/// more information. +std::string GetIssueString(const SourceManager &SM, FullSourceLoc &IssueLoc, + llvm::StringRef CheckerName, llvm::StringRef BugType, + const Decl *D); +} // namespace clang + +#endif Index: lib/StaticAnalyzer/Checkers/Checkers.td =================================================================== --- lib/StaticAnalyzer/Checkers/Checkers.td +++ lib/StaticAnalyzer/Checkers/Checkers.td @@ -591,4 +591,8 @@ HelpText<"View Exploded Graphs using GraphViz">, DescFile<"DebugCheckers.cpp">; +def BugHashDumper : Checker<"DumpBugHash">, + HelpText<"Dump the bug hash for all statements.">, + DescFile<"DebugCheckers.cpp">; + } // end "debug" Index: lib/StaticAnalyzer/Checkers/DebugCheckers.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/DebugCheckers.cpp +++ lib/StaticAnalyzer/Checkers/DebugCheckers.cpp @@ -16,7 +16,10 @@ #include "clang/Analysis/Analyses/LiveVariables.h" #include "clang/Analysis/CallGraph.h" #include "clang/StaticAnalyzer/Core/Checker.h" +#include "clang/StaticAnalyzer/Core/IssueHash.h" +#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h" +#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "llvm/Support/Process.h" @@ -209,3 +212,35 @@ void ento::registerExplodedGraphViewer(CheckerManager &mgr) { mgr.registerChecker(); } + +//===----------------------------------------------------------------------===// +// DumpBugHash +//===----------------------------------------------------------------------===// + +namespace { +class BugHashDumper : public Checker> { +public: + mutable std::unique_ptr BT; + + void checkPostStmt(const Stmt *S, CheckerContext &C) const { + if (!BT) + BT.reset(new BugType(this, "Dump hash components", "debug")); + + ExplodedNode *N = C.generateNonFatalErrorNode(); + if (!N) + return; + + const SourceManager &SM = C.getSourceManager(); + FullSourceLoc FL(S->getLocStart(), SM); + std::string HashContent = + GetIssueString(SM, FL, getCheckName().getName(), BT->getCategory(), + C.getLocationContext()->getDecl()); + + C.emitReport(llvm::make_unique(*BT, HashContent, N)); + } +}; +} + +void ento::registerBugHashDumper(CheckerManager &mgr) { + mgr.registerChecker(); +} Index: lib/StaticAnalyzer/Core/CMakeLists.txt =================================================================== --- lib/StaticAnalyzer/Core/CMakeLists.txt +++ lib/StaticAnalyzer/Core/CMakeLists.txt @@ -6,6 +6,7 @@ AnalyzerOptions.cpp BasicValueFactory.cpp BlockCounter.cpp + IssueHash.cpp BugReporter.cpp BugReporterVisitors.cpp CallEvent.cpp Index: lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp +++ lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp @@ -11,7 +11,6 @@ // //===----------------------------------------------------------------------===// -#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" #include "clang/Basic/FileManager.h" @@ -22,6 +21,8 @@ #include "clang/Rewrite/Core/Rewriter.h" #include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h" #include "clang/StaticAnalyzer/Core/CheckerManager.h" +#include "clang/StaticAnalyzer/Core/IssueHash.h" +#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h" #include "llvm/Support/Errc.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/MemoryBuffer.h" @@ -236,6 +237,13 @@ if (!BugType.empty()) os << "\n\n"; + PathDiagnosticLocation UPDLoc = D.getUniqueingLoc(); + FullSourceLoc L(SMgr.getExpansionLoc(UPDLoc.isValid() + ? UPDLoc.asLocation() + : D.getLocation().asLocation()), + SMgr); + const Decl *DeclWithIssue = D.getDeclWithIssue(); + StringRef BugCategory = D.getCategory(); if (!BugCategory.empty()) os << "\n\n"; @@ -246,6 +254,10 @@ os << "\n\n"; + os << "\n\n"; + os << "\n\n"; Index: lib/StaticAnalyzer/Core/IssueHash.cpp =================================================================== --- /dev/null +++ lib/StaticAnalyzer/Core/IssueHash.cpp @@ -0,0 +1,193 @@ +//===---------- IssueHash.cpp - Generate identification hashes --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "clang/StaticAnalyzer/Core/IssueHash.h" +#include "clang/AST/ASTContext.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclCXX.h" +#include "clang/Basic/SourceManager.h" +#include "clang/Basic/Specifiers.h" +#include "clang/Lex/Lexer.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/StringRef.h" +#include "llvm/ADT/Twine.h" +#include "llvm/Support/LineIterator.h" +#include "llvm/Support/MD5.h" +#include "llvm/Support/Path.h" + +#include +#include +#include + +using namespace clang; + +// Get a string representation of the parts of the signature that can be +// overloaded on. +static std::string GetSignature(const FunctionDecl *Target) { + if (!Target) + return ""; + std::string Signature; + + if (!isa(Target) && !isa(Target) && + !isa(Target)) + Signature.append(Target->getReturnType().getAsString()).append(" "); + Signature.append(Target->getQualifiedNameAsString()).append("("); + + for (int i = 0, paramsCount = Target->getNumParams(); i < paramsCount; ++i) { + if (i) + Signature.append(", "); + Signature.append(Target->getParamDecl(i)->getType().getAsString()); + } + + if (Target->isVariadic()) + Signature.append(", ..."); + Signature.append(")"); + + const auto *TargetT = + llvm::dyn_cast_or_null(Target->getType().getTypePtr()); + + if (!TargetT) + return Signature; + + if (TargetT->isConst()) + Signature.append(" const"); + if (TargetT->isVolatile()) + Signature.append(" volatile"); + if (TargetT->isRestrict()) + Signature.append(" restrict"); + + if (const auto *TargetPT = + dyn_cast_or_null(Target->getType().getTypePtr())) { + switch (TargetPT->getRefQualifier()) { + case RQ_LValue: + Signature.append(" &"); + break; + case RQ_RValue: + Signature.append(" &&"); + break; + default: + break; + } + } + + return Signature; +} + +static std::string GetEnclosingDeclContextSignature(const Decl *D) { + if (!D) + return ""; + + if (const auto *ND = dyn_cast(D)) { + std::string DeclName; + + switch (ND->getKind()) { + case Decl::Namespace: + case Decl::Record: + case Decl::CXXRecord: + case Decl::Enum: + DeclName = ND->getQualifiedNameAsString(); + break; + case Decl::CXXConstructor: + case Decl::CXXDestructor: + case Decl::CXXConversion: + case Decl::CXXMethod: + case Decl::Function: + DeclName = GetSignature(dyn_cast_or_null(ND)); + break; + case Decl::ObjCMethod: + // ObjC Methods can not be overloaded, qualified name uniquely identifies + // the method. + DeclName = ND->getQualifiedNameAsString(); + break; + default: + break; + } + + return DeclName; + } + + return ""; +} + +static StringRef GetNthLineOfFile(llvm::MemoryBuffer *Buffer, int Line) { + if (!Buffer) + return ""; + + llvm::line_iterator LI(*Buffer, false); + for (; !LI.is_at_eof() && LI.line_number() != Line; ++LI) + ; + + return *LI; +} + +static std::string NormalizeLine(const SourceManager &SM, FullSourceLoc &L, + const Decl *D) { + static StringRef Whitespaces = " \t\n"; + + const LangOptions &Opts = D->getASTContext().getLangOpts(); + StringRef Str = GetNthLineOfFile(SM.getBuffer(L.getFileID(), L), + L.getExpansionLineNumber()); + unsigned col = Str.find_first_not_of(Whitespaces); + + SourceLocation StartOfLine = + SM.translateLineCol(SM.getFileID(L), L.getExpansionLineNumber(), col); + llvm::MemoryBuffer *Buffer = + SM.getBuffer(SM.getFileID(StartOfLine), StartOfLine); + if (!Buffer) + return {}; + + const char *BufferPos = SM.getCharacterData(StartOfLine); + + Token Token; + Lexer Lexer(SM.getLocForStartOfFile(SM.getFileID(StartOfLine)), Opts, + Buffer->getBufferStart(), BufferPos, Buffer->getBufferEnd()); + + size_t NextStart = 0; + std::ostringstream LineBuff; + while (!Lexer.LexFromRawLexer(Token) && NextStart < 2) { + if (Token.isAtStartOfLine() && NextStart++ > 0) + continue; + LineBuff << std::string(SM.getCharacterData(Token.getLocation()), + Token.getLength()); + } + + return LineBuff.str(); +} + +static llvm::SmallString<32> GetHashOfContent(StringRef Content) { + llvm::MD5 Hash; + llvm::MD5::MD5Result MD5Res; + SmallString<32> Res; + + Hash.update(Content); + Hash.final(MD5Res); + llvm::MD5::stringifyResult(MD5Res, Res); + + return Res; +} + +std::string clang::GetIssueString(const SourceManager &SM, + FullSourceLoc &IssueLoc, + StringRef CheckerName, StringRef BugType, + const Decl *D) { + static StringRef Delimiter = "$"; + + return (llvm::Twine(CheckerName) + Delimiter + + GetEnclosingDeclContextSignature(D) + Delimiter + + std::to_string(IssueLoc.getExpansionColumnNumber()) + Delimiter + + NormalizeLine(SM, IssueLoc, D) + Delimiter + BugType) + .str(); +} + +SmallString<32> clang::GetIssueHash(const SourceManager &SM, + FullSourceLoc &IssueLoc, + StringRef CheckerName, StringRef BugType, + const Decl *D) { + return GetHashOfContent( + GetIssueString(SM, IssueLoc, CheckerName, BugType, D)); +} Index: lib/StaticAnalyzer/Core/PlistDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -11,13 +11,13 @@ // //===----------------------------------------------------------------------===// -#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/PlistSupport.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/Version.h" #include "clang/Lex/Preprocessor.h" #include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h" +#include "clang/StaticAnalyzer/Core/IssueHash.h" #include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" @@ -390,6 +390,17 @@ o << " check_name"; EmitString(o, D->getCheckName()) << '\n'; + o << " issue_hash_content_of_line_in_context"; + PathDiagnosticLocation UPDLoc = D->getUniqueingLoc(); + FullSourceLoc L(SM->getExpansionLoc(UPDLoc.isValid() + ? UPDLoc.asLocation() + : D->getLocation().asLocation()), + *SM); + const Decl *DeclWithIssue = D->getDeclWithIssue(); + EmitString(o, GetIssueHash(*SM, L, D->getCheckName(), D->getBugType(), + DeclWithIssue)) + << '\n'; + // Output information about the semantic context where // the issue occurred. if (const Decl *DeclWithIssue = D->getDeclWithIssue()) { @@ -429,22 +440,17 @@ // will have different issue_hashes and that the hash will identify // the leak location even after code is added between the allocation // site and the end of scope (leak report location). - PathDiagnosticLocation UPDLoc = D->getUniqueingLoc(); if (UPDLoc.isValid()) { - FullSourceLoc UL(SM->getExpansionLoc(UPDLoc.asLocation()), - *SM); FullSourceLoc UFunL(SM->getExpansionLoc( D->getUniqueingDecl()->getBody()->getLocStart()), *SM); - o << " issue_hash" - << UL.getExpansionLineNumber() - UFunL.getExpansionLineNumber() + o << " issue_hash_function_offset" + << L.getExpansionLineNumber() - UFunL.getExpansionLineNumber() << "\n"; // Otherwise, use the location on which the bug is reported. } else { - FullSourceLoc L(SM->getExpansionLoc(D->getLocation().asLocation()), - *SM); FullSourceLoc FunL(SM->getExpansionLoc(Body->getLocStart()), *SM); - o << " issue_hash" + o << " issue_hash_function_offset" << L.getExpansionLineNumber() - FunL.getExpansionLineNumber() << "\n"; } Index: test/Analysis/MismatchedDeallocator-path-notes.cpp =================================================================== --- test/Analysis/MismatchedDeallocator-path-notes.cpp +++ test/Analysis/MismatchedDeallocator-path-notes.cpp @@ -289,10 +289,11 @@ // CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator -// CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_content_of_line_in_context2009ca1da75217064b6052ba7465dff9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line13 Index: test/Analysis/NewDelete-path-notes.cpp =================================================================== --- test/Analysis/NewDelete-path-notes.cpp +++ test/Analysis/NewDelete-path-notes.cpp @@ -260,9 +260,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free // CHECK-NEXT: check_namecplusplus.NewDelete +// CHECK-NEXT: issue_hash_content_of_line_in_contextbd8e324d09c70b9e2be6f824a4942e5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line13 @@ -476,9 +477,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free // CHECK-NEXT: check_namecplusplus.NewDelete +// CHECK-NEXT: issue_hash_content_of_line_in_context8bf1a5b9fdae9d86780aa6c4cdce2605 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line26 Index: test/Analysis/bug_hash_test.cpp =================================================================== --- /dev/null +++ test/Analysis/bug_hash_test.cpp @@ -0,0 +1,1329 @@ +// RUN: %clang_cc1 -std=c++11 -analyze -analyzer-checker=core,debug.DumpBugHash -analyzer-output=plist %s -o %t.plist +// RUN: FileCheck --input-file=%t.plist %s + +int function(int p) { + return 5; +} + +namespace { +int variadicParam(int p, ...) { + return 5; +} +} + +constexpr int f() { return 5; } + +namespace AA { + class X { + int priv; + X() : priv(5) { priv = 0; } + + static int static_method() { + return 5; + } + + int method() && { + class Y { + inline int method() const & { + return 5; + } + }; + + return 5; + } + + int OutOfLine(); + + X& operator=(int a) { + return *this; + } + + operator int() { + return 0; + } + + explicit operator float() { + return 0; + } + }; +} + +int AA::X::OutOfLine() { + return 5; +} + +void testLambda() { + [] () { + return; + }(); +} + +// CHECK: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contexte7be204e83f8e5ad3c870ec011d5131d +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextfunction +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextbc5dc0507ee90f1d14259057d25fb2b9 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextvariadicParam +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int f()$28$namespaceAA{$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int f()$28$namespaceAA{$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int f()$28$namespaceAA{$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextf8ee38da3de42e209c4afa886b5531ab +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextf +// CHECK-NEXT: issue_hash_function_offset0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextd23266517ac17d5ec5e2fbbdb1922af1 +// CHECK-NEXT: issue_hash_function_offset0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context7bfcc45512a6a3f61dda6e3ecebc7384 +// CHECK-NEXT: issue_hash_function_offset0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context95dbfbcdd1dd6401d262994c45d088be +// CHECK-NEXT: issue_hash_function_offset0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context064a01551caa8eca3202f1fd55b9c692 +// CHECK-NEXT: issue_hash_function_offset0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context651fcca72f8ad65771702903ecd5f68a +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextstatic_method +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextc8ac8f24467234bea1f34adf5ad5007b +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextmethod +// CHECK-NEXT: issue_hash_function_offset7 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextb47cf7973c9b459d9c99c483e722db8e +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextoperator= +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context0cbb0e1e5b03ba5b4f7f8f17504de671 +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextdf306826bf89e50c1b55e1d379a761b3 +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context9dd7b17a6f62ed8c95b37a38cf71f3a9 +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextOutOfLine +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context6ad4400e40885a78a0f57f585421a515 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context6ad4400e40885a78a0f57f585421a515 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context378e6de75fb41b05bcef3950ad5ffa5e +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/bug_hash_test.m =================================================================== --- /dev/null +++ test/Analysis/bug_hash_test.m @@ -0,0 +1,1182 @@ +// RUN: %clang_cc1 -fblocks -analyze -analyzer-checker=core,debug.DumpBugHash -analyzer-output=plist %s -o %t.plist +// RUN: FileCheck --input-file=%t.plist %s + +@protocol NSObject ++ (id)alloc; +- (id)init; +@end + +@protocol NSCopying +@end + +__attribute__((objc_root_class)) +@interface NSObject +- (void)method:(int)arg param:(int)arg2; +@end + +@implementation NSObject +- (void)method:(int)arg param:(int)arg2 { + arg = 5; + return; +} +@end + + +void testBlocks() { + int x = 5; + ^{ int y = 1 + x; }(); +} + +// CHECK: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$NSObject::method:param:$3$arg=5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$NSObject::method:param:$3$arg=5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$NSObject::method:param:$3$arg=5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextf9f569e94382c1f969aabd304581b294 +// CHECK-NEXT: issue_context_kindObjective-C method +// CHECK-NEXT: issue_contextmethod:param: +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$NSObject::method:param:$9$arg=5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$NSObject::method:param:$9$arg=5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$NSObject::method:param:$9$arg=5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextca44d6aa882ee55f76e11a80d5a66372 +// CHECK-NEXT: issue_context_kindObjective-C method +// CHECK-NEXT: issue_contextmethod:param: +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$intx=5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$intx=5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testBlocks()$3$intx=5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context84ec7c854c1c7849abfa03f7f20b4f06 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestBlocks +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$11$intx=5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$11$intx=5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testBlocks()$11$intx=5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextf91db2d7b129ed60e7c9caf6f8a84d5c +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestBlocks +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context0f1e9483a8ff59e787eaac18b68068ad +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestBlocks +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testBlocks()$3$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context0f1e9483a8ff59e787eaac18b68068ad +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestBlocks +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$$6$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$$6$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$$6$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context8a8e42efc427e1334b77d510d3fb6361 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context6d6028808f1d47ec5b74a417e96c2a02 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$$14$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_context162138b23629276baad7dd3e8051fd6f +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line26 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: message +// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'testBlocks' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col6 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$$18$^{inty=1+x;}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$$18$^{inty=1+x;}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$$18$^{inty=1+x;}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_content_of_line_in_contextb3add78bcab0ebc3da3b640081057525 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/conditional-path-notes.c =================================================================== --- test/Analysis/conditional-path-notes.c +++ test/Analysis/conditional-path-notes.c @@ -314,9 +314,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context8ea3f4e6a3100c73f078fac15acb0a9c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondOp -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line10 @@ -458,9 +459,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context2c219a33e961fc1be7d54b700867259e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondProblem -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line19 @@ -602,9 +604,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context8d43b511137326eab7d1242950e72984 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLHSProblem -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line25 @@ -746,9 +749,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb8e93b7355a6779a960f9a942fafac15 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRHSProblem -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line33 @@ -958,9 +962,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta944281d096940ca43ec995649b48b5f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryCondOp -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line44 @@ -1102,9 +1107,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context4db164bbf5cea42d75c5e838be1eef6f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryLHSProblem -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line53 @@ -1280,9 +1286,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context778d56ad485369222613ac2c03b97700 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDiagnosableBranch -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line62 @@ -1463,9 +1470,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextebd0bb32bbdcaa2a806ff1984974c07a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonDiagnosableBranchLogical -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line71 @@ -1578,9 +1586,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextf56671e5f67c73abef619b56f7c29fa4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonDiagnosableBranchArithmetic -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line79 Index: test/Analysis/cxx-for-range.cpp =================================================================== --- test/Analysis/cxx-for-range.cpp +++ test/Analysis/cxx-for-range.cpp @@ -597,9 +597,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context7c0b35987817cf3d44b88c5349bcd4f2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoop -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line12 @@ -823,9 +824,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextf53792d63dffe6176babc00ee455a3e0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextget -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line33 @@ -1098,9 +1100,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context7bc3cb8a56be029296ec61f7ee83fc9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line42 @@ -1242,9 +1245,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdc7b457a64bd56c30467c1af44049756 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line48 @@ -1517,9 +1521,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextf4697ded3a92318349a3969238e05387 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueIterator -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line77 @@ -1661,9 +1666,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context6855b29ad2407a5af43c57f062bc4602 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueIterator -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line83 Index: test/Analysis/diagnostics/deref-track-symbolic-region.c =================================================================== --- test/Analysis/diagnostics/deref-track-symbolic-region.c +++ test/Analysis/diagnostics/deref-track-symbolic-region.c @@ -306,9 +306,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context5cafa075eb4d5b0bf1f228608a3ec87e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line23 @@ -644,9 +645,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta213f858dacf7993492e6b32080aaa64 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestTrackConstraintBRVisitorIsTrackingTurnedOn -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line38 Index: test/Analysis/diagnostics/report-issues-within-main-file.cpp =================================================================== --- test/Analysis/diagnostics/report-issues-within-main-file.cpp +++ test/Analysis/diagnostics/report-issues-within-main-file.cpp @@ -70,1599 +70,1631 @@ j--; } -// CHECK: diagnostics +// CHECK: +// CHECK-NEXT: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line51 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line51 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line51 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header2' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header2' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line21 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'callInMacro' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'callInMacro' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line21 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line21 +// CHECK-NEXT: col4 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col5 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'h2' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'h2' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line22 // CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col5 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col12 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context81ef0773d42c0309a03a9a11048f497e +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcause_div_by_zero_in_header2 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line63 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line63 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line63 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'callInMacro3' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'callInMacro3' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line55 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'callCallInMacro3' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'callCallInMacro3' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line55 +// CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 -// CHECK-NEXT: col23 +// CHECK-NEXT: line55 +// CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header2' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header2' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header3' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header3' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line29 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'callInMacro3' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'callInMacro3' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line21 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line29 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line29 +// CHECK-NEXT: col4 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col5 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'callInMacro' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'callInMacro' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line21 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line21 -// CHECK-NEXT: col4 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'h3' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'h3' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col5 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col12 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contexta4f425d2b2715e682b08a754fc88d2c8 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcause_div_by_zero_in_header3 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line69 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line69 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line69 +// CHECK-NEXT: col51 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header4' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header4' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line37 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'callInMacroArg' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'callInMacroArg' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line22 +// CHECK-NEXT: line37 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line37 +// CHECK-NEXT: col4 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 // CHECK-NEXT: col3 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col8 +// CHECK-NEXT: line38 +// CHECK-NEXT: col5 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'h2' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'h2' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'h4' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'h4' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col5 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col8 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col12 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context35f2ebe7ff6b3b34233a5465a6eaf661 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcause_div_by_zero_in_header4 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line39 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col8 +// CHECK-NEXT: line6 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col22 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col29 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Memory is allocated +// CHECK-NEXT: message +// CHECK-NEXT: Memory is allocated +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col22 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line6 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: key_event +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling '~auto_ptr' +// CHECK-NEXT: message +// CHECK-NEXT: Calling '~auto_ptr' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'mainPlusHeader' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'mainPlusHeader' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col3 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col12 +// CHECK-NEXT: line7 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col17 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col22 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col17 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col24 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col29 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' +// CHECK-NEXT: message +// CHECK-NEXT: Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' (within a call to '~auto_ptr') +// CHECK-NEXT: categoryMemory Error +// CHECK-NEXT: typeBad deallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_content_of_line_in_contextf21ac032efaa3d1459a5ed31f0ad44f0 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextmainPlusHeader +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line7 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line16 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line16 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line18 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line18 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line18 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line18 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line18 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextcause_div_by_zero_in_header2 -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'auxInMain' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'auxInMain' +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'mainPlusMainPlusHeader' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'mainPlusMainPlusHeader' // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line10 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 -// CHECK-NEXT: col16 +// CHECK-NEXT: line10 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'callInMacro3' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'callInMacro3' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line55 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'callCallInMacro3' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'callCallInMacro3' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line55 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line55 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line58 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line58 +// CHECK-NEXT: line12 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line58 -// CHECK-NEXT: col23 +// CHECK-NEXT: line12 +// CHECK-NEXT: col29 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header3' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header3' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line29 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'callInMacro3' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'callInMacro3' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line29 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line29 -// CHECK-NEXT: col4 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 // CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: key_event +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col32 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'cause_div_by_zero_in_header' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col1 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'auxInMain' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'auxInMain' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 +// CHECK-NEXT: line10 +// CHECK-NEXT: col1 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col8 +// CHECK-NEXT: line10 +// CHECK-NEXT: col4 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'h3' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'h3' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col8 +// CHECK-NEXT: line11 +// CHECK-NEXT: col3 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col12 +// CHECK-NEXT: line11 +// CHECK-NEXT: col5 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextcause_div_by_zero_in_header3 -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line11 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line69 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line69 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line69 -// CHECK-NEXT: col51 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line11 +// CHECK-NEXT: col3 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line11 +// CHECK-NEXT: col7 +// CHECK-NEXT: file1 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header4' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header4' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'callInMacroArg' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'callInMacroArg' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col4 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'h' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'h' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line38 +// CHECK-NEXT: line11 // CHECK-NEXT: col3 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col8 +// CHECK-NEXT: line11 +// CHECK-NEXT: col5 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'h4' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'h4' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line38 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col8 +// CHECK-NEXT: line12 +// CHECK-NEXT: col9 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col12 +// CHECK-NEXT: line12 +// CHECK-NEXT: col9 // CHECK-NEXT: file1 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col9 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col7 +// CHECK-NEXT: file1 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col10 +// CHECK-NEXT: file1 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextcause_div_by_zero_in_header4 -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line39 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 -// CHECK-NEXT: +// CHECK-NEXT: depth2 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero (within a call to 'cause_div_by_zero_in_header') +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contextdceba279187ce4f6514f4a4c43a51063 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextauxInMain +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col10 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col20 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col22 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col20 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col20 +// CHECK-NEXT: line28 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col29 +// CHECK-NEXT: line28 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Memory is allocated -// CHECK-NEXT: message -// CHECK-NEXT: Memory is allocated -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col20 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col22 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line6 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: key_event -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling '~auto_ptr' -// CHECK-NEXT: message -// CHECK-NEXT: Calling '~auto_ptr' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'mainPlusHeader' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'mainPlusHeader' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col17 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col22 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col17 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col24 -// CHECK-NEXT: file1 +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col29 -// CHECK-NEXT: file1 +// CHECK-NEXT: line30 +// CHECK-NEXT: col22 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line30 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' -// CHECK-NEXT: message -// CHECK-NEXT: Memory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' (within a call to '~auto_ptr') -// CHECK-NEXT: categoryMemory Error -// CHECK-NEXT: typeBad deallocator -// CHECK-NEXT: check_nameunix.MismatchedDeallocator -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextmainPlusHeader -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line7 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'causeDivByZeroInMain' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'causeDivByZeroInMain' // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'mainPlusMain' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'mainPlusMain' // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line16 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line16 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line18 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line18 -// CHECK-NEXT: col11 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line18 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line18 -// CHECK-NEXT: col3 +// CHECK-NEXT: line22 +// CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line18 -// CHECK-NEXT: col13 +// CHECK-NEXT: line22 +// CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'auxInMain' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'auxInMain' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line9 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'mainPlusMainPlusHeader' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'mainPlusMainPlusHeader' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line9 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line9 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col29 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: key_event -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col32 +// CHECK-NEXT: line23 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'cause_div_by_zero_in_header' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 // CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'auxInMain' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'auxInMain' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col1 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line10 -// CHECK-NEXT: col4 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line23 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'm' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'm' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line11 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 -// CHECK-NEXT: file1 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col7 -// CHECK-NEXT: file1 +// CHECK-NEXT: line23 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'h' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'h' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col3 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col5 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 -// CHECK-NEXT: file1 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col7 -// CHECK-NEXT: file1 +// CHECK-NEXT: line24 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col10 -// CHECK-NEXT: file1 +// CHECK-NEXT: line24 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth2 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero (within a call to 'cause_div_by_zero_in_header') -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextauxInMain -// CHECK-NEXT: issue_hash3 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contextd0d513aa4710781c2b56c44226354403 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcauseDivByZeroInMain +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line28 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line28 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col22 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line30 +// CHECK-NEXT: line41 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line30 -// CHECK-NEXT: col25 +// CHECK-NEXT: line41 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line43 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line43 +// CHECK-NEXT: col14 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'causeDivByZeroInMain' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'causeDivByZeroInMain' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'mainPlusMain' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'mainPlusMain' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 +// CHECK-NEXT: line43 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col7 +// CHECK-NEXT: line43 +// CHECK-NEXT: col14 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'm' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'm' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col9 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col9 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col9 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col7 +// CHECK-NEXT: line44 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col10 +// CHECK-NEXT: line44 +// CHECK-NEXT: col23 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line44 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line44 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line44 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextcauseDivByZeroInMain -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col9 -// CHECK-NEXT: file0 +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'causeDivByZeroInMain2' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'causeDivByZeroInMain2' // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line34 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'mainPlustHeaderCallAndReturnPlusMain' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'mainPlustHeaderCallAndReturnPlusMain' // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line41 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line41 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line43 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line43 -// CHECK-NEXT: col14 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line43 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line43 -// CHECK-NEXT: col14 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line44 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line44 -// CHECK-NEXT: col23 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line44 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line44 +// CHECK-NEXT: line34 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line34 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line44 -// CHECK-NEXT: col26 +// CHECK-NEXT: line35 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Calling 'causeDivByZeroInMain2' -// CHECK-NEXT: message -// CHECK-NEXT: Calling 'causeDivByZeroInMain2' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line34 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Entered call from 'mainPlustHeaderCallAndReturnPlusMain' -// CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'mainPlustHeaderCallAndReturnPlusMain' -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line34 -// CHECK-NEXT: col1 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line34 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 // CHECK-NEXT: -// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'm2' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'm2' initialized to 0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: line35 @@ -1671,93 +1703,69 @@ // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: line35 -// CHECK-NEXT: col8 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'm2' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'm2' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line36 -// CHECK-NEXT: col10 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line36 -// CHECK-NEXT: col10 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line36 -// CHECK-NEXT: col10 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: line36 -// CHECK-NEXT: col8 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: line36 -// CHECK-NEXT: col12 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line36 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line36 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line36 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: depth1 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextcauseDivByZeroInMain2 -// CHECK-NEXT: issue_hash2 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line36 -// CHECK-NEXT: col10 -// CHECK-NEXT: file0 -// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context577ddcf4482f18dec120e21890ed234a +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcauseDivByZeroInMain2 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line36 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/diagnostics/undef-value-caller.c =================================================================== --- test/Analysis/diagnostics/undef-value-caller.c +++ test/Analysis/diagnostics/undef-value-caller.c @@ -147,9 +147,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeGarbage return value // CHECK-NEXT: check_namecore.uninitialized.UndefReturn +// CHECK-NEXT: issue_hash_content_of_line_in_context1ef750c5562c09a467ea54ea4b4de771 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calling_unimportant_callee -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line11 Index: test/Analysis/diagnostics/undef-value-param.c =================================================================== --- test/Analysis/diagnostics/undef-value-param.c +++ test/Analysis/diagnostics/undef-value-param.c @@ -436,9 +436,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined // CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult +// CHECK-NEXT: issue_hash_content_of_line_in_contextae5e3bd03d6d97614947942dae18e1da // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line26 @@ -754,9 +755,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined // CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult +// CHECK-NEXT: issue_hash_content_of_line_in_context96cf3258da3df14d13cd5c2236c9cb27 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestPassingParentRegionArray -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line42 @@ -1169,9 +1171,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context299055864402de225b0ab4f2ecd8e76c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestPassingParentRegionStruct -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line62 Index: test/Analysis/diagnostics/undef-value-param.m =================================================================== --- test/Analysis/diagnostics/undef-value-param.m +++ test/Analysis/diagnostics/undef-value-param.m @@ -544,9 +544,10 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenull passed to CF memory management function // CHECK-NEXT: check_nameosx.coreFoundation.CFRetainRelease +// CHECK-NEXT: issue_hash_content_of_line_in_context102c9a15c089fdc618a4c209bd5560bc // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line39 @@ -925,9 +926,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeUninitialized argument value // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_contextfe2bb14813e15196c0180196fc1cce4c // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line48 Index: test/Analysis/edges-new.mm =================================================================== --- test/Analysis/edges-new.mm +++ test/Analysis/edges-new.mm @@ -726,9 +726,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line53 @@ -904,9 +905,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context8f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line59 @@ -1145,9 +1147,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context94c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line66 @@ -1323,9 +1326,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line71 @@ -1564,9 +1568,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line78 @@ -1742,9 +1747,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line85 @@ -2080,9 +2086,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb12acffa40177b55b695aa2292533410 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line97 @@ -2350,9 +2357,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc0a32b8291b0fc7230f847f05f415625 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line105 @@ -2610,9 +2618,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context29a10ca4af622b6146ca082e49d919d6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar8331641 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line123 @@ -2788,9 +2797,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexted7251f5b34b8380abd60cddfd3db46b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line132 @@ -2835,9 +2845,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contextdd09640bb87b201c2adcf5ef37bfcfaa // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line140 @@ -3042,9 +3053,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeAssigned value is garbage or undefined // CHECK-NEXT: check_namecore.uninitialized.Assign +// CHECK-NEXT: issue_hash_content_of_line_in_context025372576cd3ba6716044f93a51c978c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line140 @@ -3477,9 +3489,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context08f9a01186cb2f1b78b08ec20260f1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line148 @@ -3781,9 +3794,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context93a53e4c8f02d191b07477940ddcf89c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line162 @@ -4051,9 +4065,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextf2d2dbf579b0b21a6b68726df6a041fc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line172 @@ -4554,9 +4569,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context95c7d39fb9d0d8c172b894e02855a07c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line186 @@ -5052,9 +5068,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context4cbbc713c8267513fef8a33f1327d7ca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line192 @@ -5618,9 +5635,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta5aa7cf7ce6ba6683bebfff63df926fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line206 @@ -6184,9 +6202,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context940ba28399417701285cc8f80b1b8c2d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 -// CHECK-NEXT: issue_hash10 +// CHECK-NEXT: issue_hash_function_offset10 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line219 @@ -6629,9 +6648,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context89eb0611013a66315f63bf4de8130c3d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_do_while -// CHECK-NEXT: issue_hash12 +// CHECK-NEXT: issue_hash_function_offset12 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line234 @@ -6875,9 +6895,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context483f7a1c29cc32152ca2ea651443e16f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_and -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line241 @@ -7121,9 +7142,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context852b510b1e204194a9fe3045cabc952c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line248 @@ -7401,9 +7423,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta5081bea3b0e9f4f8132ecdb2c17991b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or_call -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line256 @@ -7681,9 +7704,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context16c21155317ccfddb4f482db43b6c635 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line264 @@ -8097,9 +8121,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context16c21155317ccfddb4f482db43b6c635 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line268 @@ -8581,9 +8606,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context5fec1fd2724e271bb73fa4dd4be2a7f5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_deeply_nested_logicals -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line278 @@ -8992,9 +9018,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc4ebf7f3e8a792521541ffae22ae2378 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ternary -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line287 @@ -9267,9 +9294,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context137a2333a17b5eecff7ff7a4b56d38d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestUseless -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line298 @@ -9474,9 +9502,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextd1a1b27348a9c4d0abaaea4a4df9b649 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestFoo -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line312 @@ -9647,9 +9676,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context1d7470f8b42e1cff6ab697162911b488 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest1_IPA_X -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line321 @@ -10043,9 +10073,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context3fda62f72d88e4bc250c415cbc45a9e2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_IPA_Y -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line341 @@ -10264,9 +10295,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contextd0d513aa4710781c2b56c44226354403 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line347 @@ -10408,9 +10440,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb21eba78798501dc6b716bb91e3f7f01 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line384 @@ -10518,9 +10551,10 @@ // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null // CHECK-NEXT: check_namecore.NonNullParamChecker +// CHECK-NEXT: issue_hash_content_of_line_in_contextc0b359a043c633f1b8d1581f68743361 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line394 @@ -10730,9 +10764,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context573a1a599cc8abe987f5227676d04abc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCast -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line404 @@ -10908,9 +10943,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextea1d5db6b4c380a432c88139fdd18f42 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line422 @@ -10967,9 +11003,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context3dd1ebf91fa4e92eeec82faaeb48beda // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line431 @@ -11096,9 +11133,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextf533db5cbb9c20d171f9f92105789dc4 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line433 @@ -11274,9 +11312,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line449 @@ -11719,9 +11758,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta76c8ba29cdedecd0dfa5e24711cd236 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash20 +// CHECK-NEXT: issue_hash_function_offset20 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line458 @@ -12130,9 +12170,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash26 +// CHECK-NEXT: issue_hash_function_offset26 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line464 @@ -12604,9 +12645,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash34 +// CHECK-NEXT: issue_hash_function_offset34 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line472 @@ -13859,9 +13901,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash62 +// CHECK-NEXT: issue_hash_function_offset62 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line500 @@ -15177,9 +15220,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash67 +// CHECK-NEXT: issue_hash_function_offset67 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line505 @@ -16592,9 +16636,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextbfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash74 +// CHECK-NEXT: issue_hash_function_offset74 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line512 @@ -18104,9 +18149,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context6c3e2dd10c375325a3089b996dd460c3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops -// CHECK-NEXT: issue_hash83 +// CHECK-NEXT: issue_hash_function_offset83 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line521 @@ -18388,9 +18434,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context51180616cd69dc1776be708299ec90fb // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line533 @@ -18628,7 +18675,8 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator // CHECK-NEXT: check_nameunix.MismatchedDeallocator -// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: issue_hash_content_of_line_in_contextd9dbbf68db41ab74e2158f4b131abe34 +// CHECK-NEXT: issue_hash_function_offset0 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line544 @@ -19341,9 +19389,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context5616a7601faa1a8c2ac56fa1b595b172 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextlongLines -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line568 @@ -19485,9 +19534,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdff4970e681578e07d0512d3258aeddd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestMacroInFunctionDecl -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line573 @@ -19668,7 +19718,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_content_of_line_in_contextde83c7c8cc706cf47429f220bfa49458 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line588 Index: test/Analysis/generics.m =================================================================== --- test/Analysis/generics.m +++ test/Analysis/generics.m @@ -328,6217 +328,6260 @@ NSNumber *res = a; // expected-warning {{Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *'}} } -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextincompatibleTypesErased -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line93 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line94 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line94 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line94 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line94 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line94 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextincompatibleTypesErased -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line94 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line92 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextincompatibleTypesErased -// CHECK: issue_hash5 -// CHECK: location -// CHECK: -// CHECK: line96 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col40 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col42 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Calling 'getTypedStuff' -// CHECK: message -// CHECK: Calling 'getTypedStuff' -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line79 -// CHECK: col1 -// CHECK: file0 -// CHECK: -// CHECK: depth1 -// CHECK: extended_message -// CHECK: Entered call from 'crossProceduralErasedTypes' -// CHECK: message -// CHECK: Entered call from 'crossProceduralErasedTypes' -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line79 -// CHECK: col1 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line79 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line80 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col37 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth1 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line80 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line81 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line81 -// CHECK: col8 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col42 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Returning from 'getTypedStuff' -// CHECK: message -// CHECK: Returning from 'getTypedStuff' -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line100 -// CHECK: col42 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextcrossProceduralErasedTypes -// CHECK: issue_hash1 -// CHECK: location -// CHECK: -// CHECK: line100 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line106 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line106 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line106 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line106 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line106 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextincompatibleTypesErasedReverseConversion -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line106 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line105 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextincompatibleTypesErasedReverseConversion -// CHECK: issue_hash4 -// CHECK: location -// CHECK: -// CHECK: line108 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line113 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line113 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line113 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line113 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line113 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextidErasedIncompatibleTypesReverseConversion -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line113 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line112 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextidErasedIncompatibleTypesReverseConversion -// CHECK: issue_hash4 -// CHECK: location -// CHECK: -// CHECK: line115 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextidErasedIncompatibleTypes -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line121 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line122 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line122 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line122 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line122 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line122 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextidErasedIncompatibleTypes -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line122 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line120 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextidErasedIncompatibleTypes -// CHECK: issue_hash5 -// CHECK: location -// CHECK: -// CHECK: line124 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line129 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line129 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line133 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line133 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line134 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line134 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line134 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line134 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line136 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line136 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line136 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line136 -// CHECK: col17 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line136 -// CHECK: col39 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextpathSensitiveInference -// CHECK: issue_hash8 -// CHECK: location -// CHECK: -// CHECK: line136 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line141 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line141 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line141 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line141 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line141 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextverifyAPIusage -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line142 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line147 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line147 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line147 -// CHECK: col42 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line147 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line147 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line148 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line148 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line148 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line148 -// CHECK: col17 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line148 -// CHECK: col39 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contexttrustExplicitCasts -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line148 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line154 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line154 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line155 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line155 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextsubtypeOfGeneric -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line156 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line164 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line164 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line164 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line164 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line164 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextgenericSubtypeOfGeneric -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line164 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line162 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextgenericSubtypeOfGeneric -// CHECK: issue_hash5 -// CHECK: location -// CHECK: -// CHECK: line166 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') -// CHECK: message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line174 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line174 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line174 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line174 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line174 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextgenericSubtypeOfGenericReverse -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line174 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') -// CHECK: message -// CHECK: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line172 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextgenericSubtypeOfGenericReverse -// CHECK: issue_hash5 -// CHECK: location -// CHECK: -// CHECK: line176 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line182 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line182 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line182 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line182 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line182 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPI -// CHECK: issue_hash4 -// CHECK: location -// CHECK: -// CHECK: line183 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line187 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line187 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line187 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line187 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line187 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPI2 -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line188 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line192 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line192 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line192 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line192 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line192 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPIWithLegacyTypes -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line193 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line197 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line197 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line197 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line197 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line197 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPIWithLegacyTypes2 -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line198 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line202 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line202 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line202 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line202 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line202 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line203 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line203 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPIWithLegacyTypes3 -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line204 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line208 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line208 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line208 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line208 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line208 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextinferenceFromAPIWithBuggyTypes -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line209 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line213 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line213 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line213 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line213 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line213 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextInferenceFromAPIWithBuggyTypes2 -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line214 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line218 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line218 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line218 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line218 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line218 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextInferenceFromAPIWithBuggyTypes3 -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line220 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line224 -// CHECK: col45 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line224 -// CHECK: col45 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line224 -// CHECK: col45 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line224 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line224 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line225 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col20 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line225 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col25 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: message -// CHECK: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextInferenceFromAPIWithBuggyTypes4 -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line226 -// CHECK: col27 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line239 -// CHECK: col38 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextworkWithProperties -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line239 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col23 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line241 -// CHECK: col23 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextworkWithProperties -// CHECK: issue_hash4 -// CHECK: location -// CHECK: -// CHECK: line241 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col21 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line243 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col11 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col21 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line243 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line243 -// CHECK: col21 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextworkWithProperties -// CHECK: issue_hash6 -// CHECK: location -// CHECK: -// CHECK: line243 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line238 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSNumber *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line245 -// CHECK: col12 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextworkWithProperties -// CHECK: issue_hash8 -// CHECK: location -// CHECK: -// CHECK: line245 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line251 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line251 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line251 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line251 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line251 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line252 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line252 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line252 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line252 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line253 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line253 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line253 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line253 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line254 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line254 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line254 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line254 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line254 -// CHECK: col41 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextfindMethodDeclInTrackedType -// CHECK: issue_hash4 -// CHECK: location -// CHECK: -// CHECK: line254 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line263 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line263 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line263 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line263 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line263 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line264 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line264 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line264 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line264 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line265 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line265 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line265 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line265 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line265 -// CHECK: col41 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextfindMethodDeclInTrackedType2 -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line265 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line278 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line278 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line278 -// CHECK: col42 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line278 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line278 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line280 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line280 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line280 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line280 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line280 -// CHECK: col41 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: message -// CHECK: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contexttestAnnotatedLiterals -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line280 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line289 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line289 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col39 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line290 -// CHECK: col39 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contexttrackedClassVariables -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line290 -// CHECK: col28 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line289 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line289 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line291 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contexttrackedClassVariables -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line291 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line295 -// CHECK: col13 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line295 -// CHECK: col13 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line295 -// CHECK: col15 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line295 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line295 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col21 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line296 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line296 -// CHECK: col21 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextnestedCollections -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line296 -// CHECK: col18 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line308 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line308 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line309 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col29 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line309 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contextreturnCollectionToIdVariable -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line310 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line314 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line314 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line315 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col16 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col35 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line315 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: message -// CHECK: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: -// CHECK: -// CHECK: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' -// CHECK: categoryCore Foundation/Objective-C -// CHECK: typeGenerics -// CHECK: check_namecore.DynamicTypePropagation -// CHECK: issue_context_kindfunction -// CHECK: issue_contexteraseSpecialization -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line316 -// CHECK: col30 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line320 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line320 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col7 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col33 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSArray<NSString *> *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line321 -// CHECK: col33 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextreturnToUnrelatedType -// CHECK: issue_hash2 -// CHECK: location -// CHECK: -// CHECK: line321 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line326 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line326 -// CHECK: col9 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line327 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col29 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Type 'NSString *' is inferred from this context -// CHECK: message -// CHECK: Type 'NSString *' is inferred from this context -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line327 -// CHECK: col4 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col10 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' -// CHECK: message -// CHECK: Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' -// CHECK: -// CHECK: -// CHECK: descriptionObject has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' -// CHECK: categoryType Error -// CHECK: typeDynamic and static type mismatch -// CHECK: check_namealpha.core.DynamicTypeChecker -// CHECK: issue_context_kindfunction -// CHECK: issue_contextreturnToIdVariable -// CHECK: issue_hash3 -// CHECK: location -// CHECK: -// CHECK: line328 -// CHECK: col19 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: +// CHECK: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context9632a21d129601d531e0b4585a27c686 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextincompatibleTypesErased +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line93 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context3c9499ea9f5adc148d5c4b684e3dcc5a +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextincompatibleTypesErased +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line94 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'NSArray *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line92 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context1d8497465a98d7cc2067a916e217d5bc +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextincompatibleTypesErased +// CHECK-NEXT: issue_hash_function_offset5 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line96 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col40 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col42 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'getTypedStuff' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'getTypedStuff' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line79 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'crossProceduralErasedTypes' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'crossProceduralErasedTypes' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line79 +// CHECK-NEXT: col1 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line79 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col37 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSNumber *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSNumber *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line80 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line81 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line81 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col42 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Returning from 'getTypedStuff' +// CHECK-NEXT: message +// CHECK-NEXT: Returning from 'getTypedStuff' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col42 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSNumber *> *' to incompatible type 'NSArray<NSString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context82c378fdcfcc5c0318d2f3ca46420ec1 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextcrossProceduralErasedTypes +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line100 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context97a49604cb3d640307a104f14b6d950d +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextincompatibleTypesErasedReverseConversion +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line106 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line105 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextb358a659d36c93a9fba593cf6d866a2b +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextincompatibleTypesErasedReverseConversion +// CHECK-NEXT: issue_hash_function_offset4 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line108 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexta57d9309397250421e9b96afe80c2045 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextidErasedIncompatibleTypesReverseConversion +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line113 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'id' to 'NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line112 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context3c86c79284e67f28d04b7ef88bedbb8b +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextidErasedIncompatibleTypesReverseConversion +// CHECK-NEXT: issue_hash_function_offset4 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line115 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexta669a3ca1da5a07458c0186f43a295cb +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextidErasedIncompatibleTypes +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line121 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context7ab912bd3fb03b47dc9489cac0297e2a +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextidErasedIncompatibleTypes +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line122 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line120 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context0c7b4313b8b720c914b04863f47f971f +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextidErasedIncompatibleTypes +// CHECK-NEXT: issue_hash_function_offset5 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line124 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line129 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line129 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'MutableArray *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line133 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line134 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line134 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line134 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line134 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col39 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context24a08781e7d8971a7d8f8f607ce40074 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextpathSensitiveInference +// CHECK-NEXT: issue_hash_function_offset8 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line136 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line141 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line141 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line141 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line141 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line141 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexta8534f675404d57d833dc3c371d49845 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextverifyAPIusage +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line142 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line147 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line147 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line147 +// CHECK-NEXT: col42 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from explicit cast (from 'MutableArray *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line147 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line147 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col39 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context0549631e5a7fa668375061b6c898e438 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttrustExplicitCasts +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line148 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line154 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line154 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line155 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextd113e22b9ee9ded1cd94750c3557eff4 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextsubtypeOfGeneric +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line156 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context22fad8121164716006b2a12f4ddc494e +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextgenericSubtypeOfGeneric +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line164 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'ExceptionalArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line162 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextf1b900572a63726a729714a765595c38 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextgenericSubtypeOfGeneric +// CHECK-NEXT: issue_hash_function_offset5 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line166 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextc70c13fbce3e6a90637decd9d0e19d95 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextgenericSubtypeOfGenericReverse +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line174 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'ExceptionalArray<NSString *> *' is inferred from implicit cast (from 'id' to 'ExceptionalArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line172 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'ExceptionalArray<NSString *> *' to incompatible type 'MutableArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextb6ee3b22fbad45f213b4bf14bec7eeaf +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextgenericSubtypeOfGenericReverse +// CHECK-NEXT: issue_hash_function_offset5 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line176 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line182 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line182 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line182 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line182 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line182 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context6aab15d40b39ec0a6b749e561d486e6a +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPI +// CHECK-NEXT: issue_hash_function_offset4 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line183 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line187 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line187 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line187 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'id' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line187 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line187 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextbd1da1b7775323773555e5d5c122661f +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPI2 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line188 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line192 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line192 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line192 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line192 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line192 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context3f2abd3c0b4b4a80a71bcbb668124ffb +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPIWithLegacyTypes +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line193 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line197 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line197 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line197 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacySpecialMutableArray *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line197 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line197 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context73a50f2592e8b3c9af898749f24176f7 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPIWithLegacyTypes2 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line198 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line202 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line202 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line202 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'LegacyMutableArray *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line202 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line202 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'LegacyMutableArray *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line203 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context23ca540c8961ab9a362a194e1e895f86 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPIWithLegacyTypes3 +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line204 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line208 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line208 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line208 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line208 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line208 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextbe7e9426f827314f05fd4e15b25909df +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextinferenceFromAPIWithBuggyTypes +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line209 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line213 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line213 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line213 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'BuggySpecialMutableArray<NSMutableString *> *' to 'MutableArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line213 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line213 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context0f97a618ccac913d7c8631b5b86a133e +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextInferenceFromAPIWithBuggyTypes2 +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line214 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line218 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line218 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line218 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line218 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line218 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSMutableString *> *' to incompatible type 'MutableArray<NSString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context725c54c88bb271138b1de545ee59a8aa +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextInferenceFromAPIWithBuggyTypes3 +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line220 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line224 +// CHECK-NEXT: col45 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line224 +// CHECK-NEXT: col45 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line224 +// CHECK-NEXT: col45 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from '__kindof NSArray<NSString *> *' to 'BuggyMutableArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line224 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line224 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col20 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSString *> *' is inferred from implicit cast (from 'BuggyMutableArray<NSMutableString *> *' to 'MutableArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line225 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col25 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'MutableArray<NSString *> *' to incompatible type 'MutableArray<NSMutableString *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextfb867af384c612fe5c09f821127eeaf0 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextInferenceFromAPIWithBuggyTypes4 +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line226 +// CHECK-NEXT: col27 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col38 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_context2e9f738345d9fa7dae2324ff7accd1ae +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextworkWithProperties +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line239 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col23 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_contextd85392b4efadf710b8da65a043a65e24 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextworkWithProperties +// CHECK-NEXT: issue_hash_function_offset4 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line241 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_context456c6227549a5e577088c9dce4cea452 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextworkWithProperties +// CHECK-NEXT: issue_hash_function_offset6 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line243 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line238 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSNumber *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSNumber *' which is incompatible with static type 'NSString *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_contextdf7f090d2b72ac07bc2351177ed6552d +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextworkWithProperties +// CHECK-NEXT: issue_hash_function_offset8 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line245 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line251 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line251 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line251 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to 'NSArray<NSMutableString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line251 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line251 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line252 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line252 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line252 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line252 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line253 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line253 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line253 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line253 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col41 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexta0fa75143d7a7ac234292642a6d93360 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextfindMethodDeclInTrackedType +// CHECK-NEXT: issue_hash_function_offset4 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line254 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line263 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line263 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line263 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'MutableArray<NSMutableString *> *' is inferred from implicit cast (from 'MutableArray<NSMutableString *> *' to '__kindof NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line263 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line263 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line264 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line264 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line264 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line264 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col41 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSString *' to incompatible type 'NSMutableString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contextd0b99c8523e81ec43ba4ea80aeedef1b +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextfindMethodDeclInTrackedType2 +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line265 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line278 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line278 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line278 +// CHECK-NEXT: col42 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray *' to 'NSArray<NSString *> *') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line278 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line278 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col41 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSNumber *' to incompatible type 'NSString *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexted543d4961e934fb4ac8db00e885fc7f +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestAnnotatedLiterals +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line280 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line289 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line289 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col39 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col39 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context46aa94b866747bcbe1ded581da7a2633 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttrackedClassVariables +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line290 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line289 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line289 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_contexta759006d1ce88e15fcd6de6a29e2579c +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttrackedClassVariables +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line291 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line295 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line295 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line295 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from implicit cast (from 'NSArray<NSString *> *' to 'id') +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line295 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line295 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context4bb1729ff86647750b458e6f8d883f08 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextnestedCollections +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line296 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line308 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line308 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col29 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line309 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context38831553eaecfb6c02b51e71d21ec6ea +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextreturnCollectionToIdVariable +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line310 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line314 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line314 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col35 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line315 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: message +// CHECK-NEXT: Conversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionConversion from value of type 'NSArray<NSString *> *' to incompatible type 'NSArray<NSNumber *> *' +// CHECK-NEXT: categoryCore Foundation/Objective-C +// CHECK-NEXT: typeGenerics +// CHECK-NEXT: check_namecore.DynamicTypePropagation +// CHECK-NEXT: issue_hash_content_of_line_in_context9fcbd4dcf212f004877292aa5085322b +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexteraseSpecialization +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line316 +// CHECK-NEXT: col30 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line320 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line320 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col33 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSArray<NSString *> *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col33 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSArray<NSString *> *' which is incompatible with static type 'NSSet *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_contextbe6714fed24af6e7ac522b87a5098de0 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextreturnToUnrelatedType +// CHECK-NEXT: issue_hash_function_offset2 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line321 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line326 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line326 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col29 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Type 'NSString *' is inferred from this context +// CHECK-NEXT: message +// CHECK-NEXT: Type 'NSString *' is inferred from this context +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line327 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' +// CHECK-NEXT: message +// CHECK-NEXT: Object has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionObject has a dynamic type 'NSString *' which is incompatible with static type 'NSNumber *' +// CHECK-NEXT: categoryType Error +// CHECK-NEXT: typeDynamic and static type mismatch +// CHECK-NEXT: check_namealpha.core.DynamicTypeChecker +// CHECK-NEXT: issue_hash_content_of_line_in_context5e96ef711c8f115bc64f69baa3f6ea7a +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextreturnToIdVariable +// CHECK-NEXT: issue_hash_function_offset3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line328 +// CHECK-NEXT: col19 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/inline-plist.c =================================================================== --- test/Analysis/inline-plist.c +++ test/Analysis/inline-plist.c @@ -290,9 +290,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context8bca94f2f862468bb877fb70e66a3304 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfoo -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line18 @@ -511,9 +512,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context62ddaf4e66ff527b230b474b98791ced // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexthas_bug -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line23 @@ -863,9 +865,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context1ee3fb0b2fbd9c66e0cc34ca1181ece3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttriggers_bug -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line33 @@ -1084,6 +1087,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta2e7504f29818834127c44ba841f4da8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line60 @@ -1457,9 +1461,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context931be9c3a45b61c0a9c99b4772bd6fca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_ret -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line70 @@ -1707,9 +1712,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context524a8647c40f017409d858ff70900c1a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_blockvar -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line78 @@ -1957,9 +1963,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context0efdf891fbddf2932f9d434968b94164 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_arg -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line86 Index: test/Analysis/inline-unique-reports.c =================================================================== --- test/Analysis/inline-unique-reports.c +++ test/Analysis/inline-unique-reports.c @@ -292,9 +292,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta6ef969f9d5a84fe3b6d153fa488020a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextbug -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line5 Index: test/Analysis/inlining/eager-reclamation-path-notes.c =================================================================== --- test/Analysis/inlining/eager-reclamation-path-notes.c +++ test/Analysis/inlining/eager-reclamation-path-notes.c @@ -319,9 +319,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context5c273b7f0421359833fde3f06e8a5c07 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line6 @@ -777,9 +778,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context1d1fa98a8e9fbfa90777dac9fc2795a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse2 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line28 Index: test/Analysis/inlining/eager-reclamation-path-notes.cpp =================================================================== --- test/Analysis/inlining/eager-reclamation-path-notes.cpp +++ test/Analysis/inlining/eager-reclamation-path-notes.cpp @@ -373,9 +373,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_contextf4a4cee851880ebbe93d3b657920ebe9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmemberCallBaseDisappears -// CHECK-NEXT: issue_hash19 +// CHECK-NEXT: issue_hash_function_offset19 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line33 Index: test/Analysis/inlining/path-notes.c =================================================================== --- test/Analysis/inlining/path-notes.c +++ test/Analysis/inlining/path-notes.c @@ -348,9 +348,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context52499a849b132453be19ec9167d8c021 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestZero -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line14 @@ -526,9 +527,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextcb893891b6a08ee4b7dc3d0c11df856e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCheck -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line24 @@ -767,9 +769,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextec20b5e53a72c82d442b3ca04c81e138 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitCheck -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line39 @@ -1008,9 +1011,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context1ae8e7c84d15f307abc1df9f5612078b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreCheck -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line51 @@ -1321,9 +1325,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextd03346854b8f45b55cbd5efe29bf2c8e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line65 @@ -1634,9 +1639,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context5a72f98932a4061a833287a12b28ba8b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero2 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line72 @@ -2010,9 +2016,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context6d3745ba4b32e1858de16c61fecf8ed4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitZero -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line83 @@ -2386,9 +2393,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context2d25b170621486480ca76aaba4c7a0c0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreZero -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line92 @@ -2805,9 +2813,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context567151df0ae29b0f0e1a412114d544dc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextusePointer -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line97 @@ -3055,9 +3064,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context7849ab11af99aee1e3603a24ae95cdfd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestSetFieldToNull -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line119 @@ -3165,9 +3175,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context3ccb5e7e2cc82aba5c28a1cc873c83a1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line132 @@ -3343,9 +3354,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context19292468c6c6f83fbbdb2ff072bb2ae8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest4 -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line139 Index: test/Analysis/inlining/path-notes.cpp =================================================================== --- test/Analysis/inlining/path-notes.cpp +++ test/Analysis/inlining/path-notes.cpp @@ -878,9 +878,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context2bf06135909de50c70d8390e77bddf9e // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextuse -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line8 @@ -1167,9 +1168,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextefde323086a985fe1e8ccc6cd0123c12 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextmethod -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line41 @@ -1417,7 +1419,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_context8162ef7a27137328a4a7a131e8d52cbe +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line63 @@ -1665,7 +1668,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_context675157873c1414a885eb1f429b26f389 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line68 @@ -1947,7 +1951,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_contextaff5e83726a1ce1144580e4c80bde47c +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line73 @@ -2263,9 +2268,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context9484c73e190dfe4b8c6c5bdfad9700c1 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line78 @@ -2615,9 +2621,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta0f0ac76cf282b61236bfac7eb2eca62 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line83 @@ -2903,7 +2910,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_context74b213f52cad2a4cbfcc8c5766bdd974 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line88 @@ -3151,9 +3159,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context0d5730cf85cea686ed80d788ab666603 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line173 @@ -3498,9 +3507,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context992e0f2917d29d0977d09ee64b3d10ef // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRef -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line180 @@ -3608,9 +3618,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeReturning null reference // CHECK-NEXT: check_namecore.uninitialized.UndefReturn +// CHECK-NEXT: issue_hash_content_of_line_in_contextece17cf25bc055cbc118d903744a00cf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreturnNullReference -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line190 @@ -3974,7 +3985,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_context32677550226a34f422a4165a34f6a124 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line197 @@ -4179,9 +4191,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb5460cc5ca67af5b9f4943d7117f9bcf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonPrintableAssignment -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line212 @@ -4289,9 +4302,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context749bda64658e48896477213e90176f5e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line221 @@ -4467,9 +4481,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context2f9098b97145118cf80f1c9f2b9f8a90 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line237 @@ -4577,9 +4592,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of undefined pointer value // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context41b38aba8763180af245befa02f63d61 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line243 @@ -4784,9 +4800,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_context8b577b362ffa5a7290d00d03635c1fca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDeclRefExprToReferenceInGetDerefExpr -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line261 @@ -5005,9 +5022,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contextf7fcdbc77cfb95588c0e5b606288013d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextgenerateNoteOnDefaultArgument -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line269 @@ -5240,7 +5258,8 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_content_of_line_in_contextff61a6b893cd2d64c7ccaa2a9805311d +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line281 Index: test/Analysis/inlining/path-notes.m =================================================================== --- test/Analysis/inlining/path-notes.m +++ test/Analysis/inlining/path-notes.m @@ -576,9 +576,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextad3081ebf0d1e26cc4edb01c88faa1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZeroIfNil -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line79 @@ -884,9 +885,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contexta0c225402d31c1994b43b156184ce509 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDispatchSyncInlining -// CHECK-NEXT: issue_hash14 +// CHECK-NEXT: issue_hash_function_offset14 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line101 @@ -1134,6 +1136,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeuninitialized variable captured by block // CHECK-NEXT: check_namecore.uninitialized.CapturedBlockVariable +// CHECK-NEXT: issue_hash_content_of_line_in_context6763f0438bcb4337c8f8c9863b35b8c1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line118 @@ -1449,9 +1452,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextd32b4cd912950f7b38ae28dbf29d9e63 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNilReceiverHelper -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line135 @@ -1627,9 +1631,10 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenil argument // CHECK-NEXT: check_nameosx.cocoa.NilArg +// CHECK-NEXT: issue_hash_content_of_line_in_contexta90589ba5d063fbfecc615bf06f84f5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCreateArrayLiteral -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line153 @@ -2023,9 +2028,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contexta3c91a7a52619d81ebe032dcc49ebb93 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestAutoreleaseTakesEffectInDispatch -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line169 Index: test/Analysis/lambda-notes.cpp =================================================================== --- test/Analysis/lambda-notes.cpp +++ test/Analysis/lambda-notes.cpp @@ -12,193 +12,194 @@ }(); } -// CHECK: -// CHECK: -// CHECK: path -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line8 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line8 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line12 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: The value 0 is assigned to field '' -// CHECK: message -// CHECK: The value 0 is assigned to field '' -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col3 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line12 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth0 -// CHECK: extended_message -// CHECK: Calling 'operator()' -// CHECK: message -// CHECK: Calling 'operator()' -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line9 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: depth1 -// CHECK: extended_message -// CHECK: Entered call from 'diagnosticFromLambda' -// CHECK: message -// CHECK: Entered call from 'diagnosticFromLambda' -// CHECK: -// CHECK: -// CHECK: kindcontrol -// CHECK: edges -// CHECK: -// CHECK: -// CHECK: start -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line9 -// CHECK: col5 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: end -// CHECK: -// CHECK: -// CHECK: line10 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line10 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: -// CHECK: kindevent -// CHECK: location -// CHECK: -// CHECK: line10 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: ranges -// CHECK: -// CHECK: -// CHECK: -// CHECK: line10 -// CHECK: col13 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: line10 -// CHECK: col15 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: -// CHECK: depth1 -// CHECK: extended_message -// CHECK: Division by zero -// CHECK: message -// CHECK: Division by zero -// CHECK: -// CHECK: -// CHECK: descriptionDivision by zero -// CHECK: categoryLogic error -// CHECK: typeDivision by zero -// CHECK: check_namecore.DivideZero -// CHECK: issue_context_kindC++ method -// CHECK: issue_contextoperator() -// CHECK: issue_hash1 -// CHECK: location -// CHECK: -// CHECK: line10 -// CHECK: col14 -// CHECK: file0 -// CHECK: -// CHECK: -// CHECK: - +// CHECK: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line8 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line8 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: The value 0 is assigned to field '' +// CHECK-NEXT: message +// CHECK-NEXT: The value 0 is assigned to field '' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line12 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Calling 'operator()' +// CHECK-NEXT: message +// CHECK-NEXT: Calling 'operator()' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Entered call from 'diagnosticFromLambda' +// CHECK-NEXT: message +// CHECK-NEXT: Entered call from 'diagnosticFromLambda' +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line9 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth1 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_contextbd4eed3234018edced5efc2ed5562a74 +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextoperator() +// CHECK-NEXT: issue_hash_function_offset1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/malloc-plist.c =================================================================== --- test/Analysis/malloc-plist.c +++ test/Analysis/malloc-plist.c @@ -409,9 +409,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contextc60b35a3e46fd104f362f430a1eaca5d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextdiagnosticTest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line15 @@ -572,9 +573,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context9b732ec46c4a08108dfbd37aa0955c51 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmyArrayAllocation -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line22 @@ -958,9 +960,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context37c0b1a1e65d26af6f9fb840cf159149 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line29 @@ -1358,9 +1361,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context384d1700f3d9c8eeea96d171e3030bdf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_wrapper -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line46 @@ -1879,9 +1883,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeUse-after-free // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context422436dc85b85cde7e15046a5616ee99 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_double_action_call -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line62 @@ -2439,9 +2444,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context23a6c295a515c455bea1c81519bc05b6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocIntra -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line77 @@ -2708,9 +2714,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context45181c7fc1df81a732346f1ed1b3f238 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_ret -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line87 @@ -2871,9 +2878,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contextd8483ccf1d5a1af1e8bcaac6905a18b3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextLeakedSymbol -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line98 @@ -3077,9 +3085,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contextb07aebe89e4ba5ea104a9f957df9531b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak1 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line104 @@ -3283,9 +3292,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contextefe2ffcb7c227e872aa732c5f793895d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak2 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line112 @@ -3586,9 +3596,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context0ddc87e8a7e7104428af3905f3057611 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak3 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line121 @@ -3889,9 +3900,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context948d356840e67fc4baa8cc5d0600463c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak4 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line132 @@ -4095,9 +4107,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context2b0361060027060b94915ff4de8aa782 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak5 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line143 @@ -4301,9 +4314,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context73f573faa903ad4308d5155ef979cf31 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak6 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line154 @@ -4536,9 +4550,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contexteb5628850b9b9118fbda903e721436a5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_function_with_leak7 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line170 @@ -4771,9 +4786,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_contextad5b603037bc3581ff94947e86dbb1c8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestOnlyRefferToVisibleVariables -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line180 @@ -5040,9 +5056,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context8d59cc5cc4b7db55d432abc18b0e6c23 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestMyMalloc -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line192 Index: test/Analysis/method-call-path-notes.cpp =================================================================== --- test/Analysis/method-call-path-notes.cpp +++ test/Analysis/method-call-path-notes.cpp @@ -144,9 +144,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is uninitialized // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_context8c0cdb645ae6be246ed75941dcefd32d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line14 @@ -254,9 +255,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_context98e39ef0e4bbc0b9b2b1832285634d67 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line19 @@ -398,9 +400,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_context84f3d9d5009d2ac455b46b4aae88f67f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_set_to_null -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line25 @@ -542,9 +545,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_contextc5bd8e35fb6da070914016804720ae4d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line30 @@ -652,9 +656,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_context4681ee922f6860377317b26b3a4bb5d4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_member_ptr -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line37 @@ -796,9 +801,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_content_of_line_in_contexte23397f9f2eff1b08593c2b2db137494 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cast -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line42 Index: test/Analysis/model-file.cpp =================================================================== --- test/Analysis/model-file.cpp +++ test/Analysis/model-file.cpp @@ -40,250 +40,251 @@ // CHECK: diagnostics // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'p' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'p' initialized to 0 // CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'p' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'p' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col24 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col24 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 // CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col13 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: descriptionDivision by zero -// CHECK-NEXT: categoryLogic error -// CHECK-NEXT: typeDivision by zero -// CHECK-NEXT: check_namecore.DivideZero -// CHECK-NEXT: issue_context_kindfunction -// CHECK-NEXT: issue_contextmain -// CHECK-NEXT: issue_hash15 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: \ No newline at end of file +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_content_of_line_in_context86cb845e4f1e6abde1c5b319d5b08eca +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextmain +// CHECK-NEXT: issue_hash_function_offset15 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/null-deref-path-notes.m =================================================================== --- test/Analysis/null-deref-path-notes.m +++ test/Analysis/null-deref-path-notes.m @@ -284,9 +284,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context3ff6dd9f2084f4a0dac8c3688c02fd0f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNull -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line19 @@ -510,9 +511,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context208c1267ca2da821fcc1b9183e1d624b // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextinitWithID: -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line33 @@ -785,9 +787,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context9e1f67627fbbfb46b4e3a618246e6b0a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrepeatedStores -// CHECK-NEXT: issue_hash11 +// CHECK-NEXT: issue_hash_function_offset11 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line50 Index: test/Analysis/objc-arc.m =================================================================== --- test/Analysis/objc-arc.m +++ test/Analysis/objc-arc.m @@ -367,9 +367,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb41b510812f2a0d8735c67dfff6a9a5c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_working -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line54 @@ -530,9 +531,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context61d185b2522d15fb327f6784e0217adf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cf_leak -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line96 @@ -589,9 +591,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context63df5972efc8a7acccdbd2aca10c9e9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar9424882 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line119 @@ -648,9 +651,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context125290ceaf2b55f5778c262d87b2b6d5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line139 @@ -707,9 +711,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context54627578ee3b8520400ae899bc32b3d6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line144 @@ -766,9 +771,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context27c31d7f5825a1613c0206b5be082800 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line145 @@ -825,9 +831,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contexta59b85c1e38300cb17eaeedcf193f94b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line146 @@ -1003,9 +1010,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context5baa7d5f38420d0a035aa61607675f3e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line146 @@ -1132,9 +1140,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4665e04694fd55e7c4ed7a67860b3b74 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line147 @@ -1191,9 +1200,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context70a67cc8fefa3ad133a35c3ffb579b9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line150 @@ -1250,9 +1260,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contextafc41cacb8f32bfbe4a4152f20cec5bc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line151 @@ -1309,9 +1320,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contexte512cd0ada59beca5acfa53e2a632670 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line152 @@ -1368,9 +1380,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contexta43ae78dcef14395931eeb452f81819f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line153 @@ -1512,9 +1525,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context798e65f80df0526369f9bb240e3d91fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_unretainedObject -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line166 @@ -1811,9 +1825,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contexte1fbcc142b678b3c2c43737ee35b64d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_arrays -// CHECK-NEXT: issue_hash24 +// CHECK-NEXT: issue_hash_function_offset24 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line202 @@ -1981,9 +1996,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contexte300a279615a384d2b310329651d3978 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar11059275_positive -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line216 @@ -2096,9 +2112,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context37efdaee587b783c6d49a228ff5ba49f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar14061675 -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line230 Index: test/Analysis/plist-macros.cpp =================================================================== --- test/Analysis/plist-macros.cpp +++ test/Analysis/plist-macros.cpp @@ -221,9 +221,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator // CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_content_of_line_in_context81d63a132b4ef0cc96734c17440a1c26 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextnoteOnMacro -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line16 @@ -316,9 +317,10 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_content_of_line_in_context2d723d9fb4e5f10dd54a7396866dfce4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroIsFirstInFunction -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line21 @@ -562,9 +564,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context3570104919aab3f953357f8c87b68bd7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpression -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line30 @@ -808,9 +811,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdeff163b13f3fd860bc332498b0dbc59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpressionNoNote -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line39 @@ -1020,9 +1024,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb67b58d85375752578e947b77c6aa70c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroWithArgInExpression -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line47 @@ -1164,9 +1169,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb53410f6c0d3d07e62ce5c6f91a1810a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNoteMacroWithError -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line56 @@ -1371,9 +1377,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context41f58f9549aa1867e461a7996a8d335c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNote -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line70 @@ -1592,9 +1599,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context2dc47a4afc2f349f12217b38588769f4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextnull_deref -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line78 Index: test/Analysis/plist-output-alternate.m =================================================================== --- test/Analysis/plist-output-alternate.m +++ test/Analysis/plist-output-alternate.m @@ -159,9 +159,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line6 @@ -303,9 +304,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context8f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line12 @@ -510,9 +512,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context94c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line19 @@ -688,9 +691,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line24 @@ -895,9 +899,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line31 @@ -1073,9 +1078,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line38 @@ -1367,9 +1373,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context29a10ca4af622b6146ca082e49d919d6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar8331641 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line58 Index: test/Analysis/plist-output.m =================================================================== --- test/Analysis/plist-output.m +++ test/Analysis/plist-output.m @@ -296,9 +296,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextdc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line6 @@ -440,9 +441,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context8f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line12 @@ -647,9 +649,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context94c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line19 @@ -825,9 +828,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line24 @@ -1032,9 +1036,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line31 @@ -1210,9 +1215,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line38 @@ -1514,9 +1520,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb12acffa40177b55b695aa2292533410 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line50 @@ -1784,9 +1791,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextc0a32b8291b0fc7230f847f05f415625 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line58 @@ -1928,9 +1936,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextea1d5db6b4c380a432c88139fdd18f42 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line77 @@ -1987,9 +1996,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_context3dd1ebf91fa4e92eeec82faaeb48beda // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line86 @@ -2150,9 +2160,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextf533db5cbb9c20d171f9f92105789dc4 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line88 @@ -2459,9 +2470,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context08f9a01186cb2f1b78b08ec20260f1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line98 @@ -2763,9 +2775,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context93a53e4c8f02d191b07477940ddcf89c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line111 @@ -3067,9 +3080,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextf2d2dbf579b0b21a6b68726df6a041fc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line121 @@ -3444,9 +3458,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context95c7d39fb9d0d8c172b894e02855a07c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line130 @@ -3884,9 +3899,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context4cbbc713c8267513fef8a33f1327d7ca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line136 @@ -4358,9 +4374,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta5aa7cf7ce6ba6683bebfff63df926fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line145 @@ -4832,9 +4849,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context3917bac4f8fdce1f6c6393b1f14a1320 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 -// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: issue_hash_function_offset7 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line155 @@ -4879,9 +4897,10 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_content_of_line_in_contextc94f341ebaf0fac5d6703aaa7e6bee9b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line163 @@ -5085,10 +5104,11 @@ // CHECK-NEXT: descriptionThe left expression of the compound assignment is an uninitialized value. The computed value will also be garbage // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeAssigned value is garbage or undefined -// CHECK-NEXT: check_namecore.uninitialized.Assign +// CHECK-NEXT: check_namecore.uninitialized.Assign +// CHECK-NEXT: issue_hash_content_of_line_in_context21c774309bdfd487c3d09a61a671bbcc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line163 @@ -5196,9 +5216,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contextb21eba78798501dc6b716bb91e3f7f01 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line172 @@ -5306,9 +5327,10 @@ // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null // CHECK-NEXT: check_namecore.NonNullParamChecker +// CHECK-NEXT: issue_hash_content_of_line_in_contextc0b359a043c633f1b8d1581f68743361 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line184 @@ -5547,9 +5569,10 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_contexta225fec9dc1e56142b68b3df82b00b6c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestFoo -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line194 Index: test/Analysis/retain-release-path-notes-gc.m =================================================================== --- test/Analysis/retain-release-path-notes-gc.m +++ test/Analysis/retain-release-path-notes-gc.m @@ -209,9 +209,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of object when using garbage collection // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context487197d1f3d333a1fb4d7610b6d852df // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line44 @@ -653,9 +654,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of object when using garbage collection // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4f71073d5e7f2546564c1614dfc95420 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectable -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line53 @@ -1022,9 +1024,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context3d18c66bf99e8cd2938e8c63c345f6ea // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextretainReleaseIgnored -// CHECK-NEXT: issue_hash5 +// CHECK-NEXT: issue_hash_function_offset5 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line61 @@ -1207,9 +1210,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object when using garbage collection // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextd012b4dfd7d763f06cdb53f8b5708275 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line67 @@ -1392,9 +1396,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object when using garbage collection // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextb241509266f9d666b8335e0ee2f45adf // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolation -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line72 Index: test/Analysis/retain-release-path-notes.m =================================================================== --- test/Analysis/retain-release-path-notes.m +++ test/Analysis/retain-release-path-notes.m @@ -465,9 +465,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextd21e9660cc6434ef84a51f39ffcdce86 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaAlloc -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line48 @@ -609,9 +610,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextf8ec2601a04113e567aa1d09c9902c91 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line53 @@ -978,9 +980,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextdd26a8ad9a7a057feaa636974b43ccb0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaMethod -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line61 @@ -1197,9 +1200,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context2f2de5d7fe728958585598b619069e5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaProperty -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line67 @@ -1416,9 +1420,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context1c02b65e83dad1b22270ff5a71de3118 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaCFFunction -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line73 @@ -1635,9 +1640,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context03c23f0f82d7f2fd880a22e0d9cf14b9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextexplicitDealloc -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line79 @@ -1854,9 +1860,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context6f1b3f0c6c7f79f1af9b313273a01e92 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextimplicitDealloc -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line85 @@ -2148,9 +2155,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextcb5e4205a8f925230a70715914a2e3d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextoverAutorelease -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line92 @@ -2367,9 +2375,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context1edd178e5ad76c79ce9812f519e8f467 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextautoreleaseUnowned -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line98 @@ -2661,9 +2670,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context3f08690fae9687c29bb23b7a7cb7995b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectableIgnored -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line105 @@ -2846,9 +2856,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4b621ab5f8f2ef9240699119f4d874cb // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFCopyRuleViolation -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line110 @@ -3031,9 +3042,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context5248d2310322982d02e5f3d564249b4f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFGetRuleViolation -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line115 @@ -3216,9 +3228,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4f23ad2725fb68134cec8b8354cd295c // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolation -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line121 @@ -3401,9 +3414,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextda1dab126ed46b144040160ae8628460 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationIndexedSubscript -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line126 @@ -3586,9 +3600,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context52877f9471b1ecdaf213b39016b84e52 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationKeyedSubscript -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line131 @@ -3771,9 +3786,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextcf8c65a18ad9982cb9848a266cd9c61b // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line136 @@ -3990,9 +4006,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contexte7b798151545b45a994592df0d27d250 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyAutorelease -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line142 @@ -4134,9 +4151,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4e0c810e2b301aca3f636ad7e3d6b0b8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNumericLiteral -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line171 @@ -4278,9 +4296,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context1d054002016aa4360aaf23a4c4d8fbb7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedInt -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line176 @@ -4422,9 +4441,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context67ca92144b05322ee4569aea88d08595 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedString -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line181 @@ -4566,9 +4586,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context32fcec71872b8f62d8d7b1b05284b0fe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestArray -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line186 @@ -4710,9 +4731,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextd9584825bb1e62066879949e3ade8570 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDictionary -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line191 @@ -5091,9 +5113,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contexteef2aef4b58abf21fcfa4bbf69e19c02 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line226 @@ -5443,9 +5466,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context8c27524f691296551f9e52856b824326 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest -// CHECK-NEXT: issue_hash8 +// CHECK-NEXT: issue_hash_function_offset8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line237 @@ -5737,9 +5761,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context4fc36e73ba317d307dc9cc4b3d62fd0a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFOverAutorelease -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line250 @@ -5956,9 +5981,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_context08e6a3931d34cda45c09dfda76976e17 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFAutoreleaseUnowned -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash_function_offset3 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line256 @@ -6250,9 +6276,10 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_content_of_line_in_contextd9bb23a5435fe15df9d7ffdc27a8a072 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFAutoreleaseUnownedMixed -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash_function_offset4 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line263 Index: test/Analysis/unix-fns.c =================================================================== --- test/Analysis/unix-fns.c +++ test/Analysis/unix-fns.c @@ -407,9 +407,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'open' // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context5ef25c5c47db3dbfb329901d426452e7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_open -// CHECK-NEXT: issue_hash6 +// CHECK-NEXT: issue_hash_function_offset6 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line55 @@ -556,9 +557,10 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' // CHECK-NEXT: check_nameosx.API +// CHECK-NEXT: issue_hash_content_of_line_in_context173fbcac3fc64dbaec32768d4cfda250 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line62 @@ -637,9 +639,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'pthread_once' // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context1e2f657a65cf8ee3c3ac2227de05ade4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_pthread_once -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line73 @@ -718,9 +721,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context0e841458f0cb7cf161d35f9db5862dcf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextpr2899 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line82 @@ -799,9 +803,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_contexta267ff573c7e8b959a3f886677893eb0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line94 @@ -880,9 +885,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context14eb72957baab3c63bac610a10e6f48b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc2 -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line100 @@ -961,9 +967,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context7f6f67ebe3d481aed7750005bea7e371 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_realloc -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line112 @@ -1042,9 +1049,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context4941698efbd81601653dff10ef9c645b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_reallocf -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line118 @@ -1123,9 +1131,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_contextb7ca3488e81d9d9d4b8dc545258ce97c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_alloca -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line136 @@ -1204,9 +1213,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context1ec52551362b070237f47f6bb6c3847d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_builtin_alloca -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line148 @@ -1285,9 +1295,10 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_content_of_line_in_context675741e04c8d0071d280324e23f41d35 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_valloc -// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: issue_hash_function_offset1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line160 @@ -1366,9 +1377,10 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' // CHECK-NEXT: check_nameosx.API +// CHECK-NEXT: issue_hash_content_of_line_in_context8ded1f2025c1e4a4bcd5302dc97006d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once_in_macro -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash_function_offset2 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line184 @@ -1776,6 +1788,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context5d3f4c433004c7a6d4a06aa30cc3ea85 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line192 @@ -2163,6 +2176,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_content_of_line_in_context265c4fd608dafee211bfa93d21c28866 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line202 Index: utils/analyzer/CmpRuns.py =================================================================== --- utils/analyzer/CmpRuns.py +++ utils/analyzer/CmpRuns.py @@ -71,7 +71,7 @@ if 'issue_context' in self._data : id += self._data['issue_context'] + "+" if 'issue_hash' in self._data : - id += str(self._data['issue_hash']) + id += str(self._data['issue_hash_content_of_line_in_context']) return id def getReport(self):