class org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation extends java.lang.Object implements org.junit.jupiter.api.extension.InvocationInterceptor$Invocation
{
private static final org.junit.platform.commons.logging.Logger logger;
private final java.util.concurrent.atomic.AtomicBoolean invokedOrSkipped;
private final org.junit.jupiter.api.extension.InvocationInterceptor$Invocation delegate;
private final java.util.List interceptors;
void <init>(org.junit.jupiter.api.extension.InvocationInterceptor$Invocation, java.util.List)
{
java.util.List v;
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
java.util.concurrent.atomic.AtomicBoolean v;
org.junit.jupiter.api.extension.InvocationInterceptor$Invocation v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
v := @parameter: org.junit.jupiter.api.extension.InvocationInterceptor$Invocation;
v := @parameter: java.util.List;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: java.util.concurrent.atomic.AtomicBoolean invokedOrSkipped> = v;
v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: org.junit.jupiter.api.extension.InvocationInterceptor$Invocation delegate> = v;
v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: java.util.List interceptors> = v;
return;
}
public java.lang.Object proceed() throws java.lang.Throwable
{
java.lang.Object v;
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
org.junit.jupiter.api.extension.InvocationInterceptor$Invocation v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
specialinvoke v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: void markInvokedOrSkipped()>();
v = v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: org.junit.jupiter.api.extension.InvocationInterceptor$Invocation delegate>;
v = interfaceinvoke v.<org.junit.jupiter.api.extension.InvocationInterceptor$Invocation: java.lang.Object proceed()>();
return v;
}
public void skip()
{
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
org.junit.platform.commons.logging.Logger v;
java.util.function.Supplier v;
org.junit.jupiter.api.extension.InvocationInterceptor$Invocation v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
v = <org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: org.junit.platform.commons.logging.Logger logger>;
v = staticinvoke <org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation$lambda_skip_0__253: java.util.function.Supplier bootstrap$()>();
interfaceinvoke v.<org.junit.platform.commons.logging.Logger: void debug(java.util.function.Supplier)>(v);
specialinvoke v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: void markInvokedOrSkipped()>();
v = v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: org.junit.jupiter.api.extension.InvocationInterceptor$Invocation delegate>;
interfaceinvoke v.<org.junit.jupiter.api.extension.InvocationInterceptor$Invocation: void skip()>();
return;
}
private void markInvokedOrSkipped()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
boolean v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
v = v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: java.util.concurrent.atomic.AtomicBoolean invokedOrSkipped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v != 0 goto label;
specialinvoke v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: void fail(java.lang.String)>("Chain of InvocationInterceptors called invocation multiple times instead of just once");
label:
return;
}
void verifyInvokedAtLeastOnce()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
boolean v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
v = v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: java.util.concurrent.atomic.AtomicBoolean invokedOrSkipped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
specialinvoke v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: void fail(java.lang.String)>("Chain of InvocationInterceptors never called invocation");
label:
return;
}
private void fail(java.lang.String)
{
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation v;
org.junit.platform.commons.JUnitException v;
java.util.function.Function v, v;
java.util.List v;
java.util.stream.Stream v, v, v;
java.lang.Object v;
java.lang.String v, v;
java.util.stream.Collector v;
v := @this: org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation;
v := @parameter: java.lang.String;
v = v.<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: java.util.List interceptors>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation$getClass__254: 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.InvocationInterceptorChain$ValidatingInvocation$getName__255: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>(", ");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = new org.junit.platform.commons.JUnitException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001: \u0001");
specialinvoke v.<org.junit.platform.commons.JUnitException: void <init>(java.lang.String)>(v);
throw v;
}
static void <clinit>()
{
org.junit.platform.commons.logging.Logger v;
v = staticinvoke <org.junit.platform.commons.logging.LoggerFactory: org.junit.platform.commons.logging.Logger getLogger(java.lang.Class)>(class "Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$ValidatingInvocation;");
<org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation: org.junit.platform.commons.logging.Logger logger> = v;
return;
}
}