Skip to content

Commit a467c4c

Browse files
authored
Merge pull request #14 from jenkinsci/intern
Intern all strings of a mutation
2 parents 28e57b2 + 3640cfd commit a467c4c

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

src/main/java/edu/hm/hafner/coverage/Mutation.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,14 @@ private Mutation(final boolean detected, final MutationStatus status, final int
3737
this.detected = detected;
3838
this.status = status;
3939
this.line = line;
40-
this.mutator = mutator;
41-
this.killingTest = killingTest;
42-
this.mutatedClass = mutatedClass;
43-
this.method = method;
44-
this.signature = signature;
45-
this.description = description;
40+
41+
// Intern all these values as the content is repeated very often across all mutations
42+
this.mutator = mutator.intern();
43+
this.killingTest = killingTest.intern();
44+
this.mutatedClass = mutatedClass.intern();
45+
this.method = method.intern();
46+
this.signature = signature.intern();
47+
this.description = description.intern();
4648
}
4749

4850
public String getMutatedClass() {
@@ -130,11 +132,15 @@ public boolean equals(final Object o) {
130132
return false;
131133
}
132134
Mutation mutation = (Mutation) o;
133-
return detected == mutation.detected && line == mutation.line && status == mutation.status
134-
&& Objects.equals(mutator, mutation.mutator) && Objects.equals(killingTest,
135-
mutation.killingTest) && Objects.equals(mutatedClass, mutation.mutatedClass)
136-
&& Objects.equals(method, mutation.method) && Objects.equals(signature,
137-
mutation.signature) && Objects.equals(description, mutation.description);
135+
return detected == mutation.detected
136+
&& line == mutation.line
137+
&& status == mutation.status
138+
&& Objects.equals(mutator, mutation.mutator)
139+
&& Objects.equals(killingTest, mutation.killingTest)
140+
&& Objects.equals(mutatedClass, mutation.mutatedClass)
141+
&& Objects.equals(method, mutation.method)
142+
&& Objects.equals(signature, mutation.signature)
143+
&& Objects.equals(description, mutation.description);
138144
}
139145

140146
@Override

0 commit comments

Comments
 (0)