|
1
|
|
package com.ancientprogramming.fixedformat4j.format.impl; |
|
2
|
|
|
|
3
|
|
import com.ancientprogramming.fixedformat4j.annotation.Field; |
|
4
|
|
import com.ancientprogramming.fixedformat4j.annotation.Fields; |
|
5
|
|
import com.ancientprogramming.fixedformat4j.annotation.Record; |
|
6
|
|
import com.ancientprogramming.fixedformat4j.format.FixedFormatter; |
|
7
|
|
import com.ancientprogramming.fixedformat4j.format.FormatContext; |
|
8
|
|
import com.ancientprogramming.fixedformat4j.format.FormatInstructions; |
|
9
|
|
|
|
10
|
|
import java.lang.invoke.MethodHandle; |
|
11
|
|
import java.lang.invoke.MethodHandles; |
|
12
|
|
import java.lang.reflect.Method; |
|
13
|
|
import java.util.ArrayList; |
|
14
|
|
import java.util.Collections; |
|
15
|
|
import java.util.List; |
|
16
|
|
import java.util.Map; |
|
17
|
|
|
|
18
|
|
import static com.ancientprogramming.fixedformat4j.format.FixedFormatUtil.getFixedFormatterInstance; |
|
19
|
|
import static java.lang.String.format; |
|
20
|
|
|
|
21
|
|
/** |
|
22
|
|
* JVM-level cache of per-class field metadata ({@link FieldDescriptor} lists). |
|
23
|
|
* |
|
24
|
|
* <p>The first call to {@link #get} for a class scans its annotations and builds one |
|
25
|
|
* {@link FieldDescriptor} per effective {@code @Field}. Subsequent calls return the same |
|
26
|
|
* immutable list without re-scanning. |
|
27
|
|
* |
|
28
|
|
* <p>Thread safety: under contention {@link ClassValue} may invoke {@link #build} more than once |
|
29
|
|
* for the same class key, but installs and returns a single value; the redundant results are |
|
30
|
|
* discarded. This is harmless because {@code build} is pure — its helper objects |
|
31
|
|
* ({@link AnnotationScanner}, {@link FormatInstructionsBuilder}, {@link RepeatingFieldSupport}) |
|
32
|
|
* are created as local variables, so concurrent builds never share mutable state. |
|
33
|
|
* |
|
34
|
|
* <p>Classloader safety: values are stored inside each {@link Class} object via {@link ClassValue}, |
|
35
|
|
* so they are automatically eligible for GC once the defining classloader becomes unreachable. |
|
36
|
|
* This prevents classloader leaks in hot-reload and multi-classloader environments. |
|
37
|
|
* |
|
38
|
|
* @author Jacob von Eyben - <a href="https://eybenconsult.com">https://eybenconsult.com</a> |
|
39
|
|
* @since 1.7.0 |
|
40
|
|
*/ |
|
41
|
|
class ClassMetadataCache { |
|
42
|
|
|
|
43
|
|
static final ClassMetadataCache INSTANCE = new ClassMetadataCache(Collections.emptyMap()); |
|
44
|
|
|
|
45
|
|
private final Map<Class<?>, Class<? extends com.ancientprogramming.fixedformat4j.format.FixedFormatter<?>>> customRegistry; |
|
46
|
|
|
|
47
|
|
ClassMetadataCache(Map<Class<?>, Class<? extends com.ancientprogramming.fixedformat4j.format.FixedFormatter<?>>> customRegistry) { |
|
48
|
5
1. <init> : removed call to java/util/Collections::emptyMap → NO_COVERAGE
2. <init> : removed conditional - replaced equality check with true → SURVIVED
3. <init> : negated conditional → KILLED
4. <init> : Removed assignment to member variable customRegistry → KILLED
5. <init> : removed conditional - replaced equality check with false → KILLED
|
this.customRegistry = customRegistry != null ? customRegistry : Collections.emptyMap(); |
|
49
|
|
} |
|
50
|
|
|
|
51
|
|
/** Per-class metadata: the field descriptors plus, for Java records, the constructor binding. */ |
|
52
|
|
private static final class ClassMetadata { |
|
53
|
|
final List<FieldDescriptor> descriptors; |
|
54
|
|
final ConstructorBinding constructorBinding; |
|
55
|
|
|
|
56
|
|
ClassMetadata(List<FieldDescriptor> descriptors, ConstructorBinding constructorBinding) { |
|
57
|
1
1. <init> : Removed assignment to member variable descriptors → KILLED
|
this.descriptors = descriptors; |
|
58
|
1
1. <init> : Removed assignment to member variable constructorBinding → SURVIVED
|
this.constructorBinding = constructorBinding; |
|
59
|
|
} |
|
60
|
|
} |
|
61
|
|
|
|
62
|
3
1. <init> : Removed assignment to member variable cache → KILLED
2. <init> : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::<init> → KILLED
3. <init> : Removed assignment to member variable this$0 → KILLED
|
private final ClassValue<ClassMetadata> cache = new ClassValue<>() { |
|
63
|
|
@Override |
|
64
|
|
protected ClassMetadata computeValue(Class<?> clazz) { |
|
65
|
1
1. computeValue : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
List<FieldDescriptor> descriptors = build(clazz); |
|
66
|
4
1. computeValue : removed conditional - replaced equality check with false → SURVIVED
2. computeValue : removed call to com/ancientprogramming/fixedformat4j/format/impl/JavaRecordSupport::isJavaRecord → SURVIVED
3. computeValue : removed conditional - replaced equality check with true → KILLED
4. computeValue : negated conditional → KILLED
|
ConstructorBinding binding = JavaRecordSupport.isJavaRecord(clazz) |
|
67
|
1
1. computeValue : removed call to com/ancientprogramming/fixedformat4j/format/impl/ConstructorBinding::forRecord → NO_COVERAGE
|
? ConstructorBinding.forRecord(clazz, descriptors) |
|
68
|
|
: null; |
|
69
|
2
1. computeValue : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::computeValue → KILLED
2. computeValue : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$ClassMetadata::<init> → KILLED
|
return new ClassMetadata(descriptors, binding); |
|
70
|
|
} |
|
71
|
|
}; |
|
72
|
|
|
|
73
|
|
List<FieldDescriptor> get(Class<?> clazz) { |
|
74
|
2
1. get : replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::get → KILLED
2. get : removed call to java/lang/ClassValue::get → KILLED
|
return cache.get(clazz).descriptors; |
|
75
|
|
} |
|
76
|
|
|
|
77
|
|
/** |
|
78
|
|
* Returns the canonical-constructor binding for Java {@code record} classes, or |
|
79
|
|
* {@code null} for conventional setter-based classes. |
|
80
|
|
*/ |
|
81
|
|
ConstructorBinding constructorBinding(Class<?> clazz) { |
|
82
|
2
1. constructorBinding : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::constructorBinding → SURVIVED
2. constructorBinding : removed call to java/lang/ClassValue::get → KILLED
|
return cache.get(clazz).constructorBinding; |
|
83
|
|
} |
|
84
|
|
|
|
85
|
|
private List<FieldDescriptor> build(Class<?> clazz) { |
|
86
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::<init> → KILLED
|
AnnotationScanner scanner = new AnnotationScanner(); |
|
87
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::<init> → KILLED
|
FormatInstructionsBuilder instructionsBuilder = new FormatInstructionsBuilder(); |
|
88
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::<init> → KILLED
|
RepeatingFieldSupport repeatingFieldSupport = new RepeatingFieldSupport(); |
|
89
|
|
|
|
90
|
1
1. build : removed call to java/util/ArrayList::<init> → KILLED
|
List<FieldDescriptor> result = new ArrayList<>(); |
|
91
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::scan → KILLED
|
for (AnnotationTarget target : scanner.scan(clazz)) { |
|
92
|
1
1. build : removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
Field fieldAnnotation = target.annotationSource.getAnnotation(Field.class); |
|
93
|
1
1. build : removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
Fields fieldsAnnotation = target.annotationSource.getAnnotation(Fields.class); |
|
94
|
3
1. build : removed conditional - replaced equality check with false → KILLED
2. build : negated conditional → KILLED
3. build : removed conditional - replaced equality check with true → KILLED
|
if (fieldAnnotation != null) { |
|
95
|
3
1. build : Substituted 1 with 0 → KILLED
2. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
3. build : removed call to java/util/List::add → KILLED
|
result.add(buildDescriptor(clazz, target, fieldAnnotation, true, scanner, instructionsBuilder, repeatingFieldSupport)); |
|
96
|
3
1. build : removed conditional - replaced equality check with true → SURVIVED
2. build : negated conditional → KILLED
3. build : removed conditional - replaced equality check with false → KILLED
|
} else if (fieldsAnnotation != null) { |
|
97
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/annotation/Fields::value → KILLED
|
Field[] fields = fieldsAnnotation.value(); |
|
98
|
5
1. build : changed conditional boundary → KILLED
2. build : negated conditional → KILLED
3. build : removed conditional - replaced comparison check with true → KILLED
4. build : Substituted 0 with 1 → KILLED
5. build : removed conditional - replaced comparison check with false → KILLED
|
for (int i = 0; i < fields.length; i++) { |
|
99
|
7
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
2. build : removed call to java/util/List::add → KILLED
3. build : Substituted 0 with 1 → KILLED
4. build : removed conditional - replaced equality check with true → KILLED
5. build : Substituted 1 with 0 → KILLED
6. build : removed conditional - replaced equality check with false → KILLED
7. build : negated conditional → KILLED
|
result.add(buildDescriptor(clazz, target, fields[i], i == 0, scanner, instructionsBuilder, repeatingFieldSupport)); |
|
100
|
|
} |
|
101
|
|
} |
|
102
|
|
} |
|
103
|
2
1. build : removed call to java/util/List::copyOf → KILLED
2. build : replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
return List.copyOf(result); |
|
104
|
|
} |
|
105
|
|
|
|
106
|
|
@SuppressWarnings({"unchecked", "rawtypes"}) |
|
107
|
|
private FieldDescriptor buildDescriptor( |
|
108
|
|
Class<?> clazz, |
|
109
|
|
AnnotationTarget target, |
|
110
|
|
Field fieldAnnotation, |
|
111
|
|
boolean isLoadField, |
|
112
|
|
AnnotationScanner scanner, |
|
113
|
|
FormatInstructionsBuilder instructionsBuilder, |
|
114
|
|
RepeatingFieldSupport repeatingFieldSupport) { |
|
115
|
|
|
|
116
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::datatype → KILLED
|
Class<?> datatype = instructionsBuilder.datatype(target.getter, fieldAnnotation); |
|
117
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::validateCount → KILLED
|
repeatingFieldSupport.validateCount(target.getter, fieldAnnotation); |
|
118
|
8
1. buildDescriptor : removed conditional - replaced comparison check with true → KILLED
2. buildDescriptor : negated conditional → KILLED
3. buildDescriptor : Substituted 1 with 0 → KILLED
4. buildDescriptor : Substituted 0 with 1 → KILLED
5. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::count → KILLED
6. buildDescriptor : removed conditional - replaced comparison check with false → KILLED
7. buildDescriptor : changed conditional boundary → KILLED
8. buildDescriptor : Substituted 1 with 0 → KILLED
|
boolean isRepeating = fieldAnnotation.count() > 1; |
|
119
|
6
1. buildDescriptor : removed conditional - replaced equality check with false → KILLED
2. buildDescriptor : removed conditional - replaced equality check with true → KILLED
3. buildDescriptor : Substituted 0 with 1 → KILLED
4. buildDescriptor : Substituted 1 with 0 → KILLED
5. buildDescriptor : negated conditional → KILLED
6. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → KILLED
|
boolean hasCustomFormatter = fieldAnnotation.formatter() != ByTypeFormatter.class; |
|
120
|
12
1. buildDescriptor : removed conditional - replaced equality check with true → SURVIVED
2. buildDescriptor : negated conditional → KILLED
3. buildDescriptor : removed conditional - replaced equality check with false → KILLED
4. buildDescriptor : removed conditional - replaced equality check with true → KILLED
5. buildDescriptor : negated conditional → KILLED
6. buildDescriptor : Substituted 0 with 1 → KILLED
7. buildDescriptor : removed call to java/lang/Class::getAnnotation → KILLED
8. buildDescriptor : removed conditional - replaced equality check with false → KILLED
9. buildDescriptor : negated conditional → KILLED
10. buildDescriptor : removed conditional - replaced equality check with true → KILLED
11. buildDescriptor : removed conditional - replaced equality check with false → KILLED
12. buildDescriptor : Substituted 1 with 0 → KILLED
|
boolean isNestedRecord = !isRepeating && !hasCustomFormatter && datatype.getAnnotation(Record.class) != null; |
|
121
|
|
|
|
122
|
2
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter → KILLED
2. buildDescriptor : replaced call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter with argument → KILLED
|
Method setter = resolveSetter(clazz, target.getter, datatype, scanner); |
|
123
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::toHandle → KILLED
|
MethodHandle setterHandle = toHandle(setter); |
|
124
|
|
|
|
125
|
3
1. buildDescriptor : negated conditional → KILLED
2. buildDescriptor : removed conditional - replaced equality check with false → KILLED
3. buildDescriptor : removed conditional - replaced equality check with true → KILLED
|
if (isRepeating) { |
|
126
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::resolveElementType → KILLED
|
Class<?> elementType = repeatingFieldSupport.resolveElementType(target.getter); |
|
127
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
FormatInstructions formatInstructions = instructionsBuilder.build(target.annotationSource, fieldAnnotation, elementType, clazz); |
|
128
|
3
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::offset → SURVIVED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::<init> → KILLED
3. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → KILLED
|
FormatContext protoContext = new FormatContext(fieldAnnotation.offset(), elementType, fieldAnnotation.formatter()); |
|
129
|
|
// Deliberately NOT unwrapped via resolveConcreteFormatter: ByTypeFormatter resolves its |
|
130
|
|
// delegate lazily, keeping the unsupported-element-type failure at parse time |
|
131
|
|
// (wrapped in ParseException) exactly as before metadata caching. The custom registry is |
|
132
|
|
// passed so registered element types resolve in repeating fields too. |
|
133
|
4
1. buildDescriptor : removed conditional - replaced equality check with true → SURVIVED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
3. buildDescriptor : negated conditional → KILLED
4. buildDescriptor : removed conditional - replaced equality check with false → KILLED
|
FixedFormatter<?> formatter = protoContext.getFormatter() == ByTypeFormatter.class |
|
134
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::<init> → KILLED
|
? new ByTypeFormatter(protoContext, customRegistry) |
|
135
|
2
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → NO_COVERAGE
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → NO_COVERAGE
|
: getFixedFormatterInstance(protoContext.getFormatter(), protoContext); |
|
136
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::count → KILLED
|
FormatContext<?>[] elementContexts = new FormatContext[fieldAnnotation.count()]; |
|
137
|
5
1. buildDescriptor : changed conditional boundary → KILLED
2. buildDescriptor : removed conditional - replaced comparison check with false → KILLED
3. buildDescriptor : Substituted 0 with 1 → KILLED
4. buildDescriptor : negated conditional → KILLED
5. buildDescriptor : removed conditional - replaced comparison check with true → KILLED
|
for (int i = 0; i < elementContexts.length; i++) { |
|
138
|
6
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → SURVIVED
2. buildDescriptor : Replaced integer multiplication with division → KILLED
3. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::<init> → KILLED
4. buildDescriptor : Replaced integer addition with subtraction → KILLED
5. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::length → KILLED
6. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/annotation/Field::offset → KILLED
|
elementContexts[i] = new FormatContext(fieldAnnotation.offset() + fieldAnnotation.length() * i, elementType, fieldAnnotation.formatter()); |
|
139
|
|
} |
|
140
|
4
1. buildDescriptor : Substituted 0 with 1 → SURVIVED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
3. buildDescriptor : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
4. buildDescriptor : Substituted 1 with 0 → KILLED
|
return new FieldDescriptor(target, setter, setterHandle, fieldAnnotation, datatype, null, |
|
141
|
|
formatInstructions, formatter, true, false, isLoadField, elementType, elementContexts); |
|
142
|
|
} |
|
143
|
|
|
|
144
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::context → KILLED
|
FormatContext<?> context = instructionsBuilder.context(datatype, fieldAnnotation); |
|
145
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
FormatInstructions formatInstructions = instructionsBuilder.build(target.annotationSource, fieldAnnotation, datatype, clazz); |
|
146
|
3
1. buildDescriptor : negated conditional → KILLED
2. buildDescriptor : removed conditional - replaced equality check with false → KILLED
3. buildDescriptor : removed conditional - replaced equality check with true → KILLED
|
FixedFormatter<?> rawFormatter = isNestedRecord ? null |
|
147
|
2
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → KILLED
|
: getFixedFormatterInstance(context.getFormatter(), context); |
|
148
|
2
1. buildDescriptor : replaced call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter with argument → KILLED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
FixedFormatter<?> formatter = resolveConcreteFormatter(rawFormatter, datatype); |
|
149
|
|
|
|
150
|
3
1. buildDescriptor : Substituted 0 with 1 → KILLED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
3. buildDescriptor : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
|
return new FieldDescriptor(target, setter, setterHandle, fieldAnnotation, datatype, context, |
|
151
|
|
formatInstructions, formatter, false, isNestedRecord, isLoadField, null, null); |
|
152
|
|
} |
|
153
|
|
|
|
154
|
|
private FixedFormatter<?> resolveConcreteFormatter(FixedFormatter<?> candidate, Class<?> datatype) { |
|
155
|
3
1. resolveConcreteFormatter : negated conditional → KILLED
2. resolveConcreteFormatter : removed conditional - replaced equality check with false → KILLED
3. resolveConcreteFormatter : removed conditional - replaced equality check with true → KILLED
|
if (candidate instanceof ByTypeFormatter) { |
|
156
|
2
1. resolveConcreteFormatter : removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::getContext → SURVIVED
2. resolveConcreteFormatter : removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::<init> → KILLED
|
ByTypeFormatter btf = new ByTypeFormatter(((ByTypeFormatter) candidate).getContext(), customRegistry); |
|
157
|
2
1. resolveConcreteFormatter : removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::actualFormatter → KILLED
2. resolveConcreteFormatter : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
return btf.actualFormatter(datatype); |
|
158
|
|
} |
|
159
|
1
1. resolveConcreteFormatter : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
return candidate; |
|
160
|
|
} |
|
161
|
|
|
|
162
|
|
private Method resolveSetter(Class<?> clazz, Method getter, Class<?> datatype, AnnotationScanner scanner) { |
|
163
|
3
1. resolveSetter : replaced call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::stripMethodPrefix with argument → KILLED
2. resolveSetter : removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::stripMethodPrefix → KILLED
3. resolveSetter : removed call to java/lang/reflect/Method::getName → KILLED
|
String setterName = "set" + scanner.stripMethodPrefix(getter.getName()); |
|
164
|
|
try { |
|
165
|
4
1. resolveSetter : removed call to java/lang/Class::getMethod → KILLED
2. resolveSetter : Substituted 0 with 1 → KILLED
3. resolveSetter : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter → KILLED
4. resolveSetter : Substituted 1 with 0 → KILLED
|
return clazz.getMethod(setterName, datatype); |
|
166
|
|
} catch (NoSuchMethodException e) { |
|
167
|
|
return null; |
|
168
|
|
} |
|
169
|
|
} |
|
170
|
|
|
|
171
|
|
private MethodHandle toHandle(Method method) { |
|
172
|
3
1. toHandle : removed conditional - replaced equality check with true → KILLED
2. toHandle : negated conditional → KILLED
3. toHandle : removed conditional - replaced equality check with false → KILLED
|
if (method == null) return null; |
|
173
|
|
try { |
|
174
|
3
1. toHandle : removed call to java/lang/invoke/MethodHandles$Lookup::unreflect → KILLED
2. toHandle : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::toHandle → KILLED
3. toHandle : removed call to java/lang/invoke/MethodHandles::lookup → KILLED
|
return MethodHandles.lookup().unreflect(method); |
|
175
|
|
} catch (IllegalAccessException e) { |
|
176
|
5
1. toHandle : Substituted 0 with 1 → NO_COVERAGE
2. toHandle : removed call to java/lang/String::format → NO_COVERAGE
3. toHandle : replaced call to java/lang/String::format with argument → NO_COVERAGE
4. toHandle : Substituted 1 with 0 → NO_COVERAGE
5. toHandle : removed call to java/lang/RuntimeException::<init> → NO_COVERAGE
|
throw new RuntimeException(format("Cannot create MethodHandle for %s", method), e); |
|
177
|
|
} |
|
178
|
|
} |
|
179
|
|
} |
| | Mutations |
| 48 |
|
1.1 Location : <init> Killed by : none removed call to java/util/Collections::emptyMap → NO_COVERAGE
2.2 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_overridesBuiltIn_formatterInDescriptorIsCustom()] negated conditional → KILLED
3.3 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_overridesBuiltIn_formatterInDescriptorIsCustom()] Removed assignment to member variable customRegistry → KILLED
4.4 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_overridesBuiltIn_formatterInDescriptorIsCustom()] removed conditional - replaced equality check with false → KILLED
5.5 Location : <init> Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
|
| 57 |
|
1.1 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Removed assignment to member variable descriptors → KILLED
|
| 58 |
|
1.1 Location : <init> Killed by : none Removed assignment to member variable constructorBinding → SURVIVED
Covering tests
|
| 62 |
|
1.1 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Removed assignment to member variable cache → KILLED
2.2 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::<init> → KILLED
3.3 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Removed assignment to member variable this$0 → KILLED
|
| 65 |
|
1.1 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.issues.TestLombokFieldAnnotations.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.issues.TestLombokFieldAnnotations]/[method:testNoGetter_throwsFixedFormatException()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
| 66 |
|
1.1 Location : computeValue Killed by : none removed conditional - replaced equality check with false → SURVIVED
Covering tests
2.2 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with true → KILLED
3.3 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
4.4 Location : computeValue Killed by : none removed call to com/ancientprogramming/fixedformat4j/format/impl/JavaRecordSupport::isJavaRecord → SURVIVED
Covering tests
|
| 67 |
|
1.1 Location : computeValue Killed by : none removed call to com/ancientprogramming/fixedformat4j/format/impl/ConstructorBinding::forRecord → NO_COVERAGE
|
| 69 |
|
1.1 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::computeValue → KILLED
2.2 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$ClassMetadata::<init> → KILLED
|
| 74 |
|
1.1 Location : get Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::get → KILLED
2.2 Location : get Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/lang/ClassValue::get → KILLED
|
| 82 |
|
1.1 Location : constructorBinding Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplErrors.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplErrors]/[method:load_classWithNoDefaultConstructor_throwsFixedFormatException()] removed call to java/lang/ClassValue::get → KILLED
2.2 Location : constructorBinding Killed by : none replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::constructorBinding → SURVIVED
Covering tests
|
| 86 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::<init> → KILLED
|
| 87 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::<init> → KILLED
|
| 88 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::<init> → KILLED
|
| 90 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/util/ArrayList::<init> → KILLED
|
| 91 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::scan → KILLED
|
| 92 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
| 93 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
| 94 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with false → KILLED
2.2 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
3.3 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced equality check with true → KILLED
|
| 95 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:allSimpleFieldDescriptorsAreMarkedAsLoadFields()] Substituted 1 with 0 → KILLED
2.2 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
3.3 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/util/List::add → KILLED
|
| 96 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] negated conditional → KILLED
2.2 Location : build Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
3.3 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced equality check with false → KILLED
|
| 97 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed call to com/ancientprogramming/fixedformat4j/annotation/Fields::value → KILLED
|
| 98 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] changed conditional boundary → KILLED
2.2 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] negated conditional → KILLED
3.3 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced comparison check with true → KILLED
4.4 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] Substituted 0 with 1 → KILLED
5.5 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced comparison check with false → KILLED
|
| 99 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
2.2 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed call to java/util/List::add → KILLED
3.3 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] Substituted 0 with 1 → KILLED
4.4 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced equality check with true → KILLED
5.5 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] Substituted 1 with 0 → KILLED
6.6 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] removed conditional - replaced equality check with false → KILLED
7.7 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:onlyFirstFieldsAnnotationDescriptorIsLoadField()] negated conditional → KILLED
|
| 103 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/util/List::copyOf → KILLED
2.2 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
| 116 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::datatype → KILLED
|
| 117 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestRepeatingField.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestRepeatingField]/[method:testNegativeCountThrows()] removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::validateCount → KILLED
|
| 118 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced comparison check with true → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] Substituted 1 with 0 → KILLED
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Substituted 0 with 1 → KILLED
5.5 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::count → KILLED
6.6 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed conditional - replaced comparison check with false → KILLED
7.7 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] changed conditional boundary → KILLED
8.8 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Substituted 1 with 0 → KILLED
|
| 119 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] removed conditional - replaced equality check with false → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with true → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] Substituted 0 with 1 → KILLED
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] Substituted 1 with 0 → KILLED
5.5 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] negated conditional → KILLED
6.6 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → KILLED
|
| 120 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with false → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with true → KILLED
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] negated conditional → KILLED
5.5 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Substituted 0 with 1 → KILLED
6.6 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed call to java/lang/Class::getAnnotation → KILLED
7.7 Location : buildDescriptor Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
8.8 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with false → KILLED
9.9 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] negated conditional → KILLED
10.10 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] removed conditional - replaced equality check with true → KILLED
11.11 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with false → KILLED
12.12 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] Substituted 1 with 0 → KILLED
|
| 122 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder]/[method:registerType_builtInType_customFormatterShadowsBuiltIn()] replaced call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter with argument → KILLED
|
| 123 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::toHandle → KILLED
|
| 125 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed conditional - replaced equality check with false → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with true → KILLED
|
| 126 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::resolveElementType → KILLED
|
| 127 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
| 128 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::<init> → KILLED
2.2 Location : buildDescriptor Killed by : none removed call to com/ancientprogramming/fixedformat4j/annotation/Field::offset → SURVIVED
Covering tests
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → KILLED
|
| 133 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder]/[method:builderManager_repeatingFieldCustomType_exportWorks()] removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder]/[method:builderManager_repeatingFieldCustomType_exportWorks()] negated conditional → KILLED
3.3 Location : buildDescriptor Killed by : none removed conditional - replaced equality check with true → SURVIVED
Covering tests
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestFixedFormatManagerImplBuilder]/[method:builderManager_repeatingFieldCustomType_exportWorks()] removed conditional - replaced equality check with false → KILLED
|
| 134 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::<init> → KILLED
|
| 135 |
|
1.1 Location : buildDescriptor Killed by : none removed call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → NO_COVERAGE
2.2 Location : buildDescriptor Killed by : none removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → NO_COVERAGE
|
| 136 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::count → KILLED
|
| 137 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] changed conditional boundary → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed conditional - replaced comparison check with false → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] Substituted 0 with 1 → KILLED
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] negated conditional → KILLED
5.5 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed conditional - replaced comparison check with true → KILLED
|
| 138 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] Replaced integer multiplication with division → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::<init> → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] Replaced integer addition with subtraction → KILLED
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::length → KILLED
5.5 Location : buildDescriptor Killed by : none removed call to com/ancientprogramming/fixedformat4j/annotation/Field::formatter → SURVIVED
Covering tests
6.6 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/annotation/Field::offset → KILLED
|
| 140 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
3.3 Location : buildDescriptor Killed by : none Substituted 0 with 1 → SURVIVED
Covering tests
4.4 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorCachesElementMetadata()] Substituted 1 with 0 → KILLED
|
| 144 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::context → KILLED
|
| 145 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
| 146 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with false → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with true → KILLED
|
| 147 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → KILLED
|
| 148 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter with argument → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
| 150 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nonRepeatingFieldDescriptorHasNoElementMetadata()] Substituted 0 with 1 → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
3.3 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
|
| 155 |
|
1.1 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] negated conditional → KILLED
2.2 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed conditional - replaced equality check with false → KILLED
3.3 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with true → KILLED
|
| 156 |
|
1.1 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::<init> → KILLED
2.2 Location : resolveConcreteFormatter Killed by : none removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::getContext → SURVIVED
Covering tests
|
| 157 |
|
1.1 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ByTypeFormatter::actualFormatter → KILLED
2.2 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
| 159 |
|
1.1 Location : resolveConcreteFormatter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveConcreteFormatter → KILLED
|
| 163 |
|
1.1 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] replaced call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::stripMethodPrefix with argument → KILLED
2.2 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::stripMethodPrefix → KILLED
3.3 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/lang/reflect/Method::getName → KILLED
|
| 165 |
|
1.1 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed call to java/lang/Class::getMethod → KILLED
2.2 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Substituted 0 with 1 → KILLED
3.3 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter → KILLED
4.4 Location : resolveSetter Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] Substituted 1 with 0 → KILLED
|
| 172 |
|
1.1 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed conditional - replaced equality check with true → KILLED
2.2 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] negated conditional → KILLED
3.3 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] removed conditional - replaced equality check with false → KILLED
|
| 174 |
|
1.1 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] removed call to java/lang/invoke/MethodHandles$Lookup::unreflect → KILLED
2.2 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:eachSimpleFieldDescriptorHasNonNullMetadata()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::toHandle → KILLED
3.3 Location : toHandle Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:customRegistry_emptyMap_resolvesConcretFormatterAsUsual()] removed call to java/lang/invoke/MethodHandles::lookup → KILLED
|
| 176 |
|
1.1 Location : toHandle Killed by : none Substituted 0 with 1 → NO_COVERAGE
2.2 Location : toHandle Killed by : none removed call to java/lang/String::format → NO_COVERAGE
3.3 Location : toHandle Killed by : none replaced call to java/lang/String::format with argument → NO_COVERAGE
4.4 Location : toHandle Killed by : none Substituted 1 with 0 → NO_COVERAGE
5.5 Location : toHandle Killed by : none removed call to java/lang/RuntimeException::<init> → NO_COVERAGE
|