|
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
|
|
|
|
17
|
|
import static com.ancientprogramming.fixedformat4j.format.FixedFormatUtil.getFixedFormatterInstance; |
|
18
|
|
import static java.lang.String.format; |
|
19
|
|
|
|
20
|
|
/** |
|
21
|
|
* JVM-level cache of per-class field metadata ({@link FieldDescriptor} lists). |
|
22
|
|
* |
|
23
|
|
* <p>The first call to {@link #get} for a class scans its annotations and builds one |
|
24
|
|
* {@link FieldDescriptor} per effective {@code @Field}. Subsequent calls return the same |
|
25
|
|
* immutable list without re-scanning. |
|
26
|
|
* |
|
27
|
|
* <p>Thread safety: {@link ClassValue} guarantees that {@link #build} runs at most once per |
|
28
|
|
* class key. Helper objects ({@link AnnotationScanner}, {@link FormatInstructionsBuilder}, |
|
29
|
|
* {@link RepeatingFieldSupport}) are created as local variables inside {@code build} so that |
|
30
|
|
* concurrent builds of different classes never share mutable state. |
|
31
|
|
* |
|
32
|
|
* <p>Classloader safety: values are stored inside each {@link Class} object via {@link ClassValue}, |
|
33
|
|
* so they are automatically eligible for GC once the defining classloader becomes unreachable. |
|
34
|
|
* This prevents classloader leaks in hot-reload and multi-classloader environments. |
|
35
|
|
* |
|
36
|
|
* @author Jacob von Eyben - <a href="https://eybenconsult.com">https://eybenconsult.com</a> |
|
37
|
|
* @since 1.7.0 |
|
38
|
|
*/ |
|
39
|
|
class ClassMetadataCache { |
|
40
|
|
|
|
41
|
|
static final ClassMetadataCache INSTANCE = new ClassMetadataCache(); |
|
42
|
|
|
|
43
|
3
1. <init> : Removed assignment to member variable cache → KILLED
2. <init> : Removed assignment to member variable this$0 → KILLED
3. <init> : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::<init> → KILLED
|
private final ClassValue<List<FieldDescriptor>> cache = new ClassValue<List<FieldDescriptor>>() { |
|
44
|
|
@Override |
|
45
|
|
protected List<FieldDescriptor> computeValue(Class<?> clazz) { |
|
46
|
2
1. computeValue : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
2. computeValue : replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::computeValue → KILLED
|
return build(clazz); |
|
47
|
|
} |
|
48
|
|
}; |
|
49
|
|
|
|
50
|
|
List<FieldDescriptor> get(Class<?> clazz) { |
|
51
|
2
1. get : removed call to java/lang/ClassValue::get → KILLED
2. get : replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::get → KILLED
|
return cache.get(clazz); |
|
52
|
|
} |
|
53
|
|
|
|
54
|
|
private List<FieldDescriptor> build(Class<?> clazz) { |
|
55
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::<init> → KILLED
|
AnnotationScanner scanner = new AnnotationScanner(); |
|
56
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::<init> → KILLED
|
FormatInstructionsBuilder instructionsBuilder = new FormatInstructionsBuilder(); |
|
57
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::<init> → KILLED
|
RepeatingFieldSupport repeatingFieldSupport = new RepeatingFieldSupport(); |
|
58
|
|
|
|
59
|
1
1. build : removed call to java/util/ArrayList::<init> → KILLED
|
List<FieldDescriptor> result = new ArrayList<>(); |
|
60
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::scan → KILLED
|
for (AnnotationTarget target : scanner.scan(clazz)) { |
|
61
|
1
1. build : removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
Field fieldAnnotation = target.annotationSource.getAnnotation(Field.class); |
|
62
|
1
1. build : removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
Fields fieldsAnnotation = target.annotationSource.getAnnotation(Fields.class); |
|
63
|
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) { |
|
64
|
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)); |
|
65
|
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) { |
|
66
|
1
1. build : removed call to com/ancientprogramming/fixedformat4j/annotation/Fields::value → KILLED
|
Field[] fields = fieldsAnnotation.value(); |
|
67
|
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++) { |
|
68
|
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)); |
|
69
|
|
} |
|
70
|
|
} |
|
71
|
|
} |
|
72
|
3
1. build : replaced call to java/util/Collections::unmodifiableList with argument → SURVIVED
2. build : removed call to java/util/Collections::unmodifiableList → KILLED
3. build : replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
return Collections.unmodifiableList(result); |
|
73
|
|
} |
|
74
|
|
|
|
75
|
|
@SuppressWarnings({"unchecked", "rawtypes"}) |
|
76
|
|
private FieldDescriptor buildDescriptor( |
|
77
|
|
Class<?> clazz, |
|
78
|
|
AnnotationTarget target, |
|
79
|
|
Field fieldAnnotation, |
|
80
|
|
boolean isLoadField, |
|
81
|
|
AnnotationScanner scanner, |
|
82
|
|
FormatInstructionsBuilder instructionsBuilder, |
|
83
|
|
RepeatingFieldSupport repeatingFieldSupport) { |
|
84
|
|
|
|
85
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::datatype → KILLED
|
Class<?> datatype = instructionsBuilder.datatype(target.getter, fieldAnnotation); |
|
86
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::validateCount → KILLED
|
repeatingFieldSupport.validateCount(target.getter, fieldAnnotation); |
|
87
|
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; |
|
88
|
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; |
|
89
|
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; |
|
90
|
|
|
|
91
|
4
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::context → KILLED
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
|
FormatContext<?> context = isRepeating ? null : instructionsBuilder.context(datatype, fieldAnnotation); |
|
92
|
4
1. buildDescriptor : negated conditional → KILLED
2. buildDescriptor : removed conditional - replaced equality check with true → KILLED
3. buildDescriptor : removed conditional - replaced equality check with false → KILLED
4. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
FormatInstructions formatInstructions = isRepeating ? null : instructionsBuilder.build(target.annotationSource, fieldAnnotation, datatype, clazz); |
|
93
|
6
1. buildDescriptor : removed conditional - replaced equality check with true → KILLED
2. buildDescriptor : negated conditional → KILLED
3. buildDescriptor : removed conditional - replaced equality check with false → KILLED
4. buildDescriptor : negated conditional → KILLED
5. buildDescriptor : removed conditional - replaced equality check with false → KILLED
6. buildDescriptor : removed conditional - replaced equality check with true → KILLED
|
FixedFormatter<?> formatter = (isRepeating || isNestedRecord) ? null |
|
94
|
2
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → KILLED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
|
: getFixedFormatterInstance(context.getFormatter(), context); |
|
95
|
|
|
|
96
|
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); |
|
97
|
1
1. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::toHandle → KILLED
|
MethodHandle setterHandle = toHandle(setter); |
|
98
|
|
|
|
99
|
2
1. buildDescriptor : replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
2. buildDescriptor : removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
|
return new FieldDescriptor(target, setter, setterHandle, fieldAnnotation, datatype, context, |
|
100
|
|
formatInstructions, formatter, isRepeating, isNestedRecord, isLoadField); |
|
101
|
|
} |
|
102
|
|
|
|
103
|
|
private Method resolveSetter(Class<?> clazz, Method getter, Class<?> datatype, AnnotationScanner scanner) { |
|
104
|
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()); |
|
105
|
|
try { |
|
106
|
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); |
|
107
|
|
} catch (NoSuchMethodException e) { |
|
108
|
|
return null; |
|
109
|
|
} |
|
110
|
|
} |
|
111
|
|
|
|
112
|
|
private MethodHandle toHandle(Method method) { |
|
113
|
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; |
|
114
|
|
try { |
|
115
|
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); |
|
116
|
|
} catch (IllegalAccessException e) { |
|
117
|
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); |
|
118
|
|
} |
|
119
|
|
} |
|
120
|
|
} |
| | Mutations |
| 43 |
|
1.1 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] Removed assignment to member variable this$0 → KILLED
3.3 Location : <init> Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::<init> → KILLED
|
| 46 |
|
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
2.2 Location : computeValue Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache$1::computeValue → KILLED
|
| 51 |
|
1.1 Location : get Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/lang/ClassValue::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:repeatingFieldDescriptorHasNullContextAndInstructions()] replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::get → KILLED
|
| 55 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::<init> → KILLED
|
| 56 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::<init> → KILLED
|
| 57 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::<init> → KILLED
|
| 59 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/util/ArrayList::<init> → KILLED
|
| 60 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/AnnotationScanner::scan → KILLED
|
| 61 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
| 62 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldsAnnotationExpandsIntoMultipleDescriptors()] removed call to java/lang/reflect/AnnotatedElement::getAnnotation → KILLED
|
| 63 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] removed conditional - replaced equality check with true → KILLED
|
| 64 |
|
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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/util/List::add → KILLED
|
| 65 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] removed conditional - replaced equality check with false → KILLED
|
| 66 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldsAnnotationExpandsIntoMultipleDescriptors()] removed call to com/ancientprogramming/fixedformat4j/annotation/Fields::value → KILLED
|
| 67 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] removed conditional - replaced comparison check with false → KILLED
|
| 68 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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:fieldsAnnotationExpandsIntoMultipleDescriptors()] 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
|
| 72 |
|
1.1 Location : build Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/util/Collections::unmodifiableList → KILLED
2.2 Location : build Killed by : none replaced call to java/util/Collections::unmodifiableList with argument → 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:repeatingFieldDescriptorHasNullContextAndInstructions()] replaced return value with Collections.emptyList for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::build → KILLED
|
| 85 |
|
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::datatype → KILLED
|
| 86 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestRepeatingField.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestRepeatingField]/[method:testCountOneWithArrayTypeThrows()] removed call to com/ancientprogramming/fixedformat4j/format/impl/RepeatingFieldSupport::validateCount → KILLED
|
| 87 |
|
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 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] Substituted 1 with 0 → KILLED
|
| 88 |
|
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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] 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
|
| 89 |
|
1.1 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
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:eachSimpleFieldDescriptorHasNonNullMetadata()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] 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
|
| 91 |
|
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 call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::context → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] removed conditional - replaced equality check with false → 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()] removed conditional - replaced equality check with true → KILLED
|
| 92 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] 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 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:repeatingFieldDescriptorHasNullContextAndInstructions()] removed conditional - replaced equality check with false → 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()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FormatInstructionsBuilder::build → KILLED
|
| 93 |
|
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 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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] removed conditional - replaced equality check with false → 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()] 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:nestedRecordFieldDescriptorHasNullFormatter()] removed conditional - replaced equality check with false → KILLED
6.6 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed conditional - replaced equality check with true → KILLED
|
| 94 |
|
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 call to com/ancientprogramming/fixedformat4j/format/FixedFormatUtil::getFixedFormatterInstance → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:fieldWithCustomFormatterIsNotMarkedAsNestedRecord()] removed call to com/ancientprogramming/fixedformat4j/format/FormatContext::getFormatter → KILLED
|
| 96 |
|
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.TestClassloaderLeak.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassloaderLeak]/[method:cachedRecordClassIsGcEligibleAfterLoaderRelease()] replaced call to com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::resolveSetter with argument → KILLED
|
| 97 |
|
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
|
| 99 |
|
1.1 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] replaced return value with null for com/ancientprogramming/fixedformat4j/format/impl/ClassMetadataCache::buildDescriptor → KILLED
2.2 Location : buildDescriptor Killed by : com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache.[engine:junit-jupiter]/[class:com.ancientprogramming.fixedformat4j.format.impl.TestClassMetadataCache]/[method:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to com/ancientprogramming/fixedformat4j/format/impl/FieldDescriptor::<init> → KILLED
|
| 104 |
|
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:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/lang/reflect/Method::getName → KILLED
|
| 106 |
|
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:repeatingFieldDescriptorHasNullContextAndInstructions()] 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:repeatingFieldDescriptorHasNullContextAndInstructions()] Substituted 1 with 0 → KILLED
|
| 113 |
|
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
|
| 115 |
|
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:repeatingFieldDescriptorHasNullContextAndInstructions()] removed call to java/lang/invoke/MethodHandles::lookup → KILLED
|
| 117 |
|
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
|