diff --git a/infer/src/integration/JsonReports.ml b/infer/src/integration/JsonReports.ml index 6db151616..005359304 100644 --- a/infer/src/integration/JsonReports.ml +++ b/infer/src/integration/JsonReports.ml @@ -33,10 +33,14 @@ let compute_hash ~(severity : string) ~(bug_type : string) ~(proc_name : Procnam let base_filename = Filename.basename file in let hashable_procedure_name = Procname.hashable_name proc_name in let location_independent_qualifier = - (* Removing the line,column, and infer temporary variable (e.g., n$67) information from the + (* Removing the line,column, line and column in lambda's name + (e.g. test::lambda.cpp:10:15::operator()), + and infer temporary variable (e.g., n$67) information from the error message as well as the index of the annonymmous class to make the hash invariant when moving the source code in the file *) - Str.global_replace (Str.regexp "\\(line \\|column \\|parameter \\|\\$\\)[0-9]+") "$_" qualifier + Str.global_replace + (Str.regexp "\\(line \\|column \\|:\\|parameter \\|\\$\\)[0-9]+") + "$_" qualifier in Utils.better_hash (severity, bug_type, hashable_procedure_name, base_filename, location_independent_qualifier)