public class org.junit.jupiter.engine.execution.ExtensionValuesStore extends java.lang.Object
{
private static final java.util.Comparator REVERSE_INSERT_ORDER;
private final java.util.concurrent.atomic.AtomicInteger insertOrderSequence;
private final java.util.concurrent.ConcurrentMap storedValues;
private final org.junit.jupiter.engine.execution.ExtensionValuesStore parentStore;
public void <init>(org.junit.jupiter.engine.execution.ExtensionValuesStore)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v, v;
java.util.concurrent.atomic.AtomicInteger v;
java.util.concurrent.ConcurrentHashMap v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.engine.execution.ExtensionValuesStore;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.atomic.AtomicInteger insertOrderSequence> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>(int)>(4);
v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues> = v;
v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore parentStore> = v;
return;
}
public void closeAllStoredCloseableValues()
{
java.util.function.Predicate v;
org.junit.platform.engine.support.hierarchical.ThrowableCollector v;
java.util.Collection v;
java.util.function.Function v;
java.util.concurrent.ConcurrentMap v;
java.util.function.Consumer v;
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
java.util.stream.Stream v, v, v, v;
java.util.Comparator v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v = staticinvoke <org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory: org.junit.platform.engine.support.hierarchical.ThrowableCollector createThrowableCollector()>();
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_closeAllStoredCloseableValues_1__244: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = <org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.Comparator REVERSE_INSERT_ORDER>;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted(java.util.Comparator)>(v);
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_closeAllStoredCloseableValues_2__245: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_closeAllStoredCloseableValues_3__246: java.util.function.Consumer bootstrap$(org.junit.platform.engine.support.hierarchical.ThrowableCollector)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
virtualinvoke v.<org.junit.platform.engine.support.hierarchical.ThrowableCollector: void assertEmpty()>();
return;
}
java.lang.Object get(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue v;
java.lang.Object v, v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey;
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey: void <init>(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue getStoredValue(org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey)>(v);
if v == null goto label;
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue: java.lang.Object evaluate()>();
goto label;
label:
v = null;
label:
return v;
}
java.lang.Object get(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object, java.lang.Class)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object get(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object castToRequiredType(java.lang.Object,java.lang.Object,java.lang.Class)>(v, v, v);
return v;
}
java.lang.Object getOrComputeIfAbsent(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object, java.util.function.Function)
{
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.util.function.Function v;
java.util.function.Supplier v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey v;
java.util.concurrent.ConcurrentMap v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier v;
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue v, v;
java.util.Optional v;
java.lang.Object v, v, v, v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v := @parameter: java.util.function.Function;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey;
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey: void <init>(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue getStoredValue(org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey)>(v);
if v != null goto label;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier;
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_getOrComputeIfAbsent_4__247: java.util.function.Supplier bootstrap$(java.util.function.Function,java.lang.Object)>(v, v);
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier: void <init>(java.util.function.Supplier)>(v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue storedValue(java.util.function.Supplier)>(v);
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
label:
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue: java.lang.Object evaluate()>();
return v;
}
java.lang.Object getOrComputeIfAbsent(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object, java.util.function.Function, java.lang.Class)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.lang.Class v;
java.lang.Object v, v, v;
java.util.function.Function v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v := @parameter: java.util.function.Function;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object getOrComputeIfAbsent(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object,java.util.function.Function)>(v, v, v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object castToRequiredType(java.lang.Object,java.lang.Object,java.lang.Class)>(v, v, v);
return v;
}
void put(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object, java.lang.Object)
{
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.util.function.Supplier v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey v;
java.util.concurrent.ConcurrentMap v;
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue v;
java.lang.Object v, v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues>;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey;
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey: void <init>(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_put_5__248: java.util.function.Supplier bootstrap$(java.lang.Object)>(v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue storedValue(java.util.function.Supplier)>(v);
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
private org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue storedValue(java.util.function.Supplier)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
java.util.function.Supplier v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: java.util.function.Supplier;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue;
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.atomic.AtomicInteger insertOrderSequence>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int getAndIncrement()>();
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue: void <init>(int,java.util.function.Supplier)>(v, v);
return v;
}
java.lang.Object remove(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.lang.Object v, v, v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues>;
v = new org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey;
specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey: void <init>(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue: java.lang.Object evaluate()>();
goto label;
label:
v = null;
label:
return v;
}
java.lang.Object remove(org.junit.jupiter.api.extension.ExtensionContext$Namespace, java.lang.Object, java.lang.Class)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContext$Namespace v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.api.extension.ExtensionContext$Namespace;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object remove(org.junit.jupiter.api.extension.ExtensionContext$Namespace,java.lang.Object)>(v, v);
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.lang.Object castToRequiredType(java.lang.Object,java.lang.Object,java.lang.Class)>(v, v, v);
return v;
}
private org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue getStoredValue(org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey)
{
org.junit.jupiter.engine.execution.ExtensionValuesStore v, v, v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue v;
java.lang.Object v;
org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey;
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.concurrent.ConcurrentMap storedValues>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore parentStore>;
if v == null goto label;
v = v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore parentStore>;
v = specialinvoke v.<org.junit.jupiter.engine.execution.ExtensionValuesStore: org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue getStoredValue(org.junit.jupiter.engine.execution.ExtensionValuesStore$CompositeKey)>(v);
return v;
label:
return null;
}
private java.lang.Object castToRequiredType(java.lang.Object, java.lang.Object, java.lang.Class)
{
java.lang.Object[] v;
org.junit.jupiter.engine.execution.ExtensionValuesStore v;
org.junit.jupiter.api.extension.ExtensionContextException v;
java.lang.Class v, v;
java.lang.Object v, v, v, v;
java.lang.String v, v;
boolean v, v;
v := @this: org.junit.jupiter.engine.execution.ExtensionValuesStore;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
if v != null goto label;
return null;
label:
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: boolean isAssignableTo(java.lang.Object,java.lang.Class)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = staticinvoke <org.junit.platform.commons.util.ReflectionUtils: java.lang.Class getWrapperType(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
return v;
label:
v = new org.junit.jupiter.api.extension.ExtensionContextException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Object stored under key [%s] is not of required type [%s]", v);
specialinvoke v.<org.junit.jupiter.api.extension.ExtensionContextException: void <init>(java.lang.String)>(v);
throw v;
}
static void <clinit>()
{
java.util.Comparator v, v;
java.util.function.Function v;
v = staticinvoke <org.junit.jupiter.engine.execution.ExtensionValuesStore$lambda_static_0__250: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.Comparator: java.util.Comparator reversed()>();
<org.junit.jupiter.engine.execution.ExtensionValuesStore: java.util.Comparator REVERSE_INSERT_ORDER> = v;
return;
}
}