public class org.hibernate.validator.cdi.ValidationExtension extends java.lang.Object implements jakarta.enterprise.inject.spi.Extension
{
private static final org.hibernate.validator.internal.util.logging.Log log;
private static final java.util.EnumSet ALL_EXECUTABLE_TYPES;
private static final java.util.EnumSet DEFAULT_EXECUTABLE_TYPES;
private final java.lang.'annotation'.Annotation defaultQualifier;
private final java.lang.'annotation'.Annotation hibernateValidatorQualifier;
private final org.hibernate.validator.internal.util.ExecutableHelper executableHelper;
private final jakarta.validation.Validator validator;
private final jakarta.validation.ValidatorFactory validatorFactory;
private final org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper getterPropertySelectionStrategyHelper;
private final java.util.Set globalExecutableTypes;
private final boolean isExecutableValidationEnabled;
private jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean;
private jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean;
private jakarta.enterprise.inject.spi.Bean defaultValidatorBean;
private jakarta.enterprise.inject.spi.Bean hibernateValidatorBean;
public void <init>()
{
jakarta.validation.Validator v;
org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper v;
org.hibernate.validator.internal.util.TypeResolutionHelper v;
jakarta.validation.ValidatorFactory v, v, v;
org.hibernate.validator.cdi.ValidationExtension$1 v;
org.hibernate.validator.cdi.ValidationExtension$2 v;
boolean v;
org.hibernate.validator.cdi.ValidationExtension v;
jakarta.validation.BootstrapConfiguration v;
java.util.Set v;
jakarta.validation.ParameterNameProvider v;
org.hibernate.validator.internal.util.ExecutableHelper v;
jakarta.validation.bootstrap.GenericBootstrap v;
jakarta.validation.Configuration v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.hibernate.validator.cdi.ValidationExtension$1;
specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension$1: void <init>(org.hibernate.validator.cdi.ValidationExtension)>(v);
v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation defaultQualifier> = v;
v = new org.hibernate.validator.cdi.ValidationExtension$2;
specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension$2: void <init>(org.hibernate.validator.cdi.ValidationExtension)>(v);
v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation hibernateValidatorQualifier> = v;
v = staticinvoke <jakarta.validation.Validation: jakarta.validation.bootstrap.GenericBootstrap byDefaultProvider()>();
v = interfaceinvoke v.<jakarta.validation.bootstrap.GenericBootstrap: jakarta.validation.Configuration configure()>();
v = interfaceinvoke v.<jakarta.validation.Configuration: jakarta.validation.ParameterNameProvider getDefaultParameterNameProvider()>();
interfaceinvoke v.<jakarta.validation.Configuration: jakarta.validation.Configuration parameterNameProvider(jakarta.validation.ParameterNameProvider)>(v);
v = interfaceinvoke v.<jakarta.validation.Configuration: jakarta.validation.BootstrapConfiguration getBootstrapConfiguration()>();
v = interfaceinvoke v.<jakarta.validation.BootstrapConfiguration: java.util.Set getDefaultValidatedExecutableTypes()>();
v.<org.hibernate.validator.cdi.ValidationExtension: java.util.Set globalExecutableTypes> = v;
v = interfaceinvoke v.<jakarta.validation.BootstrapConfiguration: boolean isExecutableValidationEnabled()>();
v.<org.hibernate.validator.cdi.ValidationExtension: boolean isExecutableValidationEnabled> = v;
v = interfaceinvoke v.<jakarta.validation.Configuration: jakarta.validation.ValidatorFactory buildValidatorFactory()>();
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.ValidatorFactory validatorFactory> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.ValidatorFactory validatorFactory>;
v = interfaceinvoke v.<jakarta.validation.ValidatorFactory: jakarta.validation.Validator getValidator()>();
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.Validator validator> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.ValidatorFactory validatorFactory>;
v = staticinvoke <org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper: org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper forValidationFactory(jakarta.validation.ValidatorFactory)>(v);
v.<org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper getterPropertySelectionStrategyHelper> = v;
v = new org.hibernate.validator.internal.util.ExecutableHelper;
v = new org.hibernate.validator.internal.util.TypeResolutionHelper;
specialinvoke v.<org.hibernate.validator.internal.util.TypeResolutionHelper: void <init>()>();
specialinvoke v.<org.hibernate.validator.internal.util.ExecutableHelper: void <init>(org.hibernate.validator.internal.util.TypeResolutionHelper)>(v);
v.<org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.internal.util.ExecutableHelper executableHelper> = v;
return;
}
public void beforeBeanDiscovery(jakarta.enterprise.inject.spi.BeforeBeanDiscovery, jakarta.enterprise.inject.spi.BeanManager)
{
jakarta.enterprise.inject.spi.BeforeBeanDiscovery v;
java.lang.Class v;
jakarta.enterprise.inject.spi.AnnotatedType v;
java.lang.String v;
jakarta.enterprise.inject.spi.BeanManager v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
v := @parameter: jakarta.enterprise.inject.spi.BeanManager;
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The BeforeBeanDiscovery event cannot be null");
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The BeanManager cannot be null");
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.BeanManager: jakarta.enterprise.inject.spi.AnnotatedType createAnnotatedType(java.lang.Class)>(class "Lorg/hibernate/validator/cdi/internal/interceptor/ValidationInterceptor;");
v = class "Lorg/hibernate/validator/cdi/internal/interceptor/ValidationInterceptor;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<jakarta.enterprise.inject.spi.BeforeBeanDiscovery: void addAnnotatedType(jakarta.enterprise.inject.spi.AnnotatedType,java.lang.String)>(v, v);
return;
}
public void afterBeanDiscovery(jakarta.enterprise.inject.spi.AfterBeanDiscovery, jakarta.enterprise.inject.spi.BeanManager)
{
jakarta.validation.ValidatorFactory v;
jakarta.enterprise.inject.spi.Bean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.hibernate.validator.cdi.internal.ValidationProviderHelper v, v;
boolean v, v;
jakarta.enterprise.inject.spi.BeanManager v;
org.hibernate.validator.cdi.ValidationExtension v;
org.hibernate.validator.cdi.internal.ValidatorFactoryBean v, v;
jakarta.enterprise.inject.spi.AfterBeanDiscovery v;
org.hibernate.validator.cdi.internal.ValidatorBean v, v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.AfterBeanDiscovery;
v := @parameter: jakarta.enterprise.inject.spi.BeanManager;
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The AfterBeanDiscovery event cannot be null");
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The BeanManager cannot be null");
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.ValidatorFactory validatorFactory>;
v = staticinvoke <org.hibernate.validator.cdi.internal.ValidationProviderHelper: org.hibernate.validator.cdi.internal.ValidationProviderHelper forDefaultProvider(jakarta.validation.ValidatorFactory)>(v);
v = staticinvoke <org.hibernate.validator.cdi.internal.ValidationProviderHelper: org.hibernate.validator.cdi.internal.ValidationProviderHelper forHibernateValidator()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean>;
if v != null goto label;
v = new org.hibernate.validator.cdi.internal.ValidatorFactoryBean;
specialinvoke v.<org.hibernate.validator.cdi.internal.ValidatorFactoryBean: void <init>(jakarta.enterprise.inject.spi.BeanManager,org.hibernate.validator.cdi.internal.ValidationProviderHelper)>(v, v);
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean>;
if v != null goto label;
v = virtualinvoke v.<org.hibernate.validator.cdi.internal.ValidationProviderHelper: boolean isHibernateValidator()>();
if v == 0 goto label;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean>;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean> = v;
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean>;
interfaceinvoke v.<jakarta.enterprise.inject.spi.AfterBeanDiscovery: void addBean(jakarta.enterprise.inject.spi.Bean)>(v);
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean>;
if v != null goto label;
v = new org.hibernate.validator.cdi.internal.ValidatorFactoryBean;
specialinvoke v.<org.hibernate.validator.cdi.internal.ValidatorFactoryBean: void <init>(jakarta.enterprise.inject.spi.BeanManager,org.hibernate.validator.cdi.internal.ValidationProviderHelper)>(v, v);
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean>;
interfaceinvoke v.<jakarta.enterprise.inject.spi.AfterBeanDiscovery: void addBean(jakarta.enterprise.inject.spi.Bean)>(v);
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorBean>;
if v != null goto label;
v = new org.hibernate.validator.cdi.internal.ValidatorBean;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean>;
specialinvoke v.<org.hibernate.validator.cdi.internal.ValidatorBean: void <init>(jakarta.enterprise.inject.spi.BeanManager,jakarta.enterprise.inject.spi.Bean,org.hibernate.validator.cdi.internal.ValidationProviderHelper)>(v, v, v);
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorBean> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean>;
if v != null goto label;
v = virtualinvoke v.<org.hibernate.validator.cdi.internal.ValidationProviderHelper: boolean isHibernateValidator()>();
if v == 0 goto label;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorBean>;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean> = v;
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorBean>;
interfaceinvoke v.<jakarta.enterprise.inject.spi.AfterBeanDiscovery: void addBean(jakarta.enterprise.inject.spi.Bean)>(v);
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean>;
if v != null goto label;
v = new org.hibernate.validator.cdi.internal.ValidatorBean;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean>;
specialinvoke v.<org.hibernate.validator.cdi.internal.ValidatorBean: void <init>(jakarta.enterprise.inject.spi.BeanManager,jakarta.enterprise.inject.spi.Bean,org.hibernate.validator.cdi.internal.ValidationProviderHelper)>(v, v, v);
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean> = v;
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean>;
interfaceinvoke v.<jakarta.enterprise.inject.spi.AfterBeanDiscovery: void addBean(jakarta.enterprise.inject.spi.Bean)>(v);
label:
return;
}
public void processBean(jakarta.enterprise.inject.spi.ProcessBean)
{
jakarta.enterprise.inject.spi.Bean v;
jakarta.enterprise.inject.spi.ProcessBean v;
boolean v, v, v, v, v, v, v, v;
org.hibernate.validator.cdi.ValidationExtension v;
java.util.Set v, v, v, v, v, v;
java.lang.'annotation'.Annotation v, v, v, v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.ProcessBean;
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The ProcessBean event cannot be null");
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.ProcessBean: jakarta.enterprise.inject.spi.Bean getBean()>();
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getTypes()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(class "Ljakarta/validation/ValidatorFactory;");
if v != 0 goto label;
v = v instanceof org.hibernate.validator.cdi.internal.ValidatorFactoryBean;
if v == 0 goto label;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getQualifiers()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation defaultQualifier>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorFactoryBean> = v;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getQualifiers()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation hibernateValidatorQualifier>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorFactoryBean> = v;
goto label;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getTypes()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(class "Ljakarta/validation/Validator;");
if v != 0 goto label;
v = v instanceof org.hibernate.validator.cdi.internal.ValidatorBean;
if v == 0 goto label;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getQualifiers()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation defaultQualifier>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean defaultValidatorBean> = v;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.Bean: java.util.Set getQualifiers()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.'annotation'.Annotation hibernateValidatorQualifier>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.enterprise.inject.spi.Bean hibernateValidatorBean> = v;
label:
return;
}
public void processAnnotatedType(jakarta.enterprise.inject.spi.ProcessAnnotatedType)
{
jakarta.enterprise.inject.spi.ProcessAnnotatedType v;
java.util.Set v;
jakarta.enterprise.inject.spi.AnnotatedType v;
boolean v, v;
org.hibernate.validator.cdi.ValidationExtension v;
org.hibernate.validator.cdi.internal.interceptor.ValidationEnabledAnnotatedType v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.ProcessAnnotatedType;
staticinvoke <org.hibernate.validator.internal.util.Contracts: void assertNotNull(java.lang.Object,java.lang.String)>(v, "The ProcessAnnotatedType event cannot be null");
v = v.<org.hibernate.validator.cdi.ValidationExtension: boolean isExecutableValidationEnabled>;
if v != 0 goto label;
return;
label:
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.ProcessAnnotatedType: jakarta.enterprise.inject.spi.AnnotatedType getAnnotatedType()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.Set determineConstrainedCallables(jakarta.enterprise.inject.spi.AnnotatedType)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = new org.hibernate.validator.cdi.internal.interceptor.ValidationEnabledAnnotatedType;
specialinvoke v.<org.hibernate.validator.cdi.internal.interceptor.ValidationEnabledAnnotatedType: void <init>(jakarta.enterprise.inject.spi.AnnotatedType,java.util.Set)>(v, v);
interfaceinvoke v.<jakarta.enterprise.inject.spi.ProcessAnnotatedType: void setAnnotatedType(jakarta.enterprise.inject.spi.AnnotatedType)>(v);
label:
return;
}
private java.util.Set determineConstrainedCallables(jakarta.enterprise.inject.spi.AnnotatedType)
{
java.util.HashSet v;
jakarta.validation.Validator v;
java.lang.Class v;
jakarta.enterprise.inject.spi.AnnotatedType v;
jakarta.validation.metadata.BeanDescriptor v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.AnnotatedType;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: jakarta.validation.Validator validator>;
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedType: java.lang.Class getJavaClass()>();
v = interfaceinvoke v.<jakarta.validation.Validator: jakarta.validation.metadata.BeanDescriptor getConstraintsForClass(java.lang.Class)>(v);
specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: void determineConstrainedConstructors(jakarta.enterprise.inject.spi.AnnotatedType,jakarta.validation.metadata.BeanDescriptor,java.util.Set)>(v, v, v);
specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: void determineConstrainedMethods(jakarta.enterprise.inject.spi.AnnotatedType,jakarta.validation.metadata.BeanDescriptor,java.util.Set)>(v, v, v);
return v;
}
private void determineConstrainedMethods(jakarta.enterprise.inject.spi.AnnotatedType, jakarta.validation.metadata.BeanDescriptor, java.util.Set)
{
org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper v;
jakarta.validation.metadata.BeanDescriptor v;
java.lang.reflect.Method v, v;
java.util.EnumSet v, v;
boolean v, v, v, v, v, v;
org.hibernate.validator.cdi.ValidationExtension v;
java.util.Iterator v;
java.util.Set v, v;
jakarta.validation.executable.ExecutableType v;
java.util.List v;
java.util.Optional v;
java.lang.Class v, v;
java.lang.Object v, v;
jakarta.enterprise.inject.spi.AnnotatedType v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.AnnotatedType;
v := @parameter: jakarta.validation.metadata.BeanDescriptor;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedType: java.lang.Class getJavaClass()>();
v = staticinvoke <org.hibernate.validator.cdi.internal.InheritedMethodsHelper: java.util.List getAllMethods(java.lang.Class)>(v);
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedType: java.util.Set getMethods()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedMethod: java.lang.reflect.Method getJavaMember()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper getterPropertySelectionStrategyHelper>;
v = virtualinvoke v.<org.hibernate.validator.cdi.internal.util.GetterPropertySelectionStrategyHelper: java.util.Optional getProperty(java.lang.reflect.Method)>(v);
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.lang.reflect.Method replaceWithOverriddenOrInterfaceMethod(java.lang.reflect.Method,java.util.List)>(v, v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet executableTypesDefinedOnType(java.lang.Class)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet executableTypesDefinedOnMethod(java.lang.reflect.Method,boolean)>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType GETTER_METHODS>;
goto label;
label:
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NON_GETTER_METHODS>;
label:
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: boolean veto(java.util.EnumSet,java.util.EnumSet,jakarta.validation.executable.ExecutableType)>(v, v, v);
if v != 0 goto label;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: boolean isGetterConstrained(jakarta.validation.metadata.BeanDescriptor,java.lang.reflect.Method,java.lang.String)>(v, v, v);
goto label;
label:
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: boolean isNonGetterConstrained(jakarta.validation.metadata.BeanDescriptor,java.lang.reflect.Method)>(v, v);
label:
if v == 0 goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
private void determineConstrainedConstructors(jakarta.enterprise.inject.spi.AnnotatedType, jakarta.validation.metadata.BeanDescriptor, java.util.Set)
{
jakarta.validation.metadata.BeanDescriptor v;
java.lang.reflect.Constructor v;
java.util.EnumSet v, v;
boolean v, v;
org.hibernate.validator.cdi.ValidationExtension v;
java.util.Iterator v;
java.lang.Class[] v;
java.util.Set v, v;
jakarta.validation.executable.ExecutableType v;
jakarta.validation.metadata.ConstructorDescriptor v;
java.lang.Class v;
java.lang.Object v;
jakarta.enterprise.inject.spi.AnnotatedType v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.enterprise.inject.spi.AnnotatedType;
v := @parameter: jakarta.validation.metadata.BeanDescriptor;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedType: java.lang.Class getJavaClass()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet executableTypesDefinedOnType(java.lang.Class)>(v);
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedType: java.util.Set getConstructors()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<jakarta.enterprise.inject.spi.AnnotatedConstructor: java.lang.reflect.Constructor getJavaMember()>();
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet executableTypesDefinedOnConstructor(java.lang.reflect.Constructor)>(v);
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType CONSTRUCTORS>;
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: boolean veto(java.util.EnumSet,java.util.EnumSet,jakarta.validation.executable.ExecutableType)>(v, v, v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = interfaceinvoke v.<jakarta.validation.metadata.BeanDescriptor: jakarta.validation.metadata.ConstructorDescriptor getConstraintsForConstructor(java.lang.Class[])>(v);
if v == null goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
private boolean isNonGetterConstrained(jakarta.validation.metadata.BeanDescriptor, java.lang.reflect.Method)
{
jakarta.validation.metadata.MethodDescriptor v;
java.lang.Class[] v;
jakarta.validation.metadata.BeanDescriptor v;
java.lang.String v;
java.lang.reflect.Method v;
boolean v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.validation.metadata.BeanDescriptor;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = interfaceinvoke v.<jakarta.validation.metadata.BeanDescriptor: jakarta.validation.metadata.MethodDescriptor getConstraintsForMethod(java.lang.String,java.lang.Class[])>(v, v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isGetterConstrained(jakarta.validation.metadata.BeanDescriptor, java.lang.reflect.Method, java.lang.String)
{
jakarta.validation.metadata.BeanDescriptor v;
java.lang.'annotation'.ElementType v;
jakarta.validation.metadata.ElementDescriptor$ConstraintFinder v, v;
java.lang.'annotation'.ElementType[] v;
java.lang.String v;
java.lang.reflect.Method v;
jakarta.validation.metadata.PropertyDescriptor v;
boolean v, v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.validation.metadata.BeanDescriptor;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<jakarta.validation.metadata.BeanDescriptor: jakarta.validation.metadata.PropertyDescriptor getConstraintsForProperty(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<jakarta.validation.metadata.PropertyDescriptor: jakarta.validation.metadata.ElementDescriptor$ConstraintFinder findConstraints()>();
v = newarray (java.lang.'annotation'.ElementType)[1];
v = <java.lang.'annotation'.ElementType: java.lang.'annotation'.ElementType METHOD>;
v[0] = v;
v = interfaceinvoke v.<jakarta.validation.metadata.ElementDescriptor$ConstraintFinder: jakarta.validation.metadata.ElementDescriptor$ConstraintFinder declaredOn(java.lang.'annotation'.ElementType[])>(v);
v = interfaceinvoke v.<jakarta.validation.metadata.ElementDescriptor$ConstraintFinder: boolean hasConstraints()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean veto(java.util.EnumSet, java.util.EnumSet, jakarta.validation.executable.ExecutableType)
{
java.util.EnumSet v, v;
boolean v, v, v, v, v, v, v, v, v, v;
org.hibernate.validator.cdi.ValidationExtension v;
java.util.Set v;
jakarta.validation.executable.ExecutableType v, v, v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: java.util.EnumSet;
v := @parameter: java.util.EnumSet;
v := @parameter: jakarta.validation.executable.ExecutableType;
v = virtualinvoke v.<java.util.EnumSet: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = virtualinvoke v.<java.util.EnumSet: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v.<org.hibernate.validator.cdi.ValidationExtension: java.util.Set globalExecutableTypes>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.util.EnumSet executableTypesDefinedOnType(java.lang.Class)
{
java.lang.'annotation'.Annotation v;
java.lang.Class v;
java.util.EnumSet v, v;
boolean v;
jakarta.validation.executable.ExecutableType v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljakarta/validation/executable/ValidateOnExecution;");
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet commonExecutableTypeChecks(jakarta.validation.executable.ValidateOnExecution)>(v);
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet DEFAULT_EXECUTABLE_TYPES>;
return v;
label:
return v;
}
private java.util.EnumSet executableTypesDefinedOnMethod(java.lang.reflect.Method, boolean)
{
jakarta.validation.executable.ExecutableType v, v, v;
java.lang.'annotation'.Annotation v;
java.lang.reflect.Method v;
java.util.EnumSet v;
boolean v, v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: java.lang.reflect.Method;
v := @parameter: boolean;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljakarta/validation/executable/ValidateOnExecution;");
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet commonExecutableTypeChecks(jakarta.validation.executable.ValidateOnExecution)>(v);
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
if v == 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType GETTER_METHODS>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NON_GETTER_METHODS>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
label:
return v;
}
private java.util.EnumSet executableTypesDefinedOnConstructor(java.lang.reflect.Constructor)
{
java.lang.'annotation'.Annotation v;
java.lang.reflect.Constructor v;
java.util.EnumSet v;
boolean v;
jakarta.validation.executable.ExecutableType v, v;
org.hibernate.validator.cdi.ValidationExtension v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: java.lang.reflect.Constructor;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljakarta/validation/executable/ValidateOnExecution;");
v = specialinvoke v.<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet commonExecutableTypeChecks(jakarta.validation.executable.ValidateOnExecution)>(v);
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType CONSTRUCTORS>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
label:
return v;
}
private java.util.EnumSet commonExecutableTypeChecks(jakarta.validation.executable.ValidateOnExecution)
{
int v, v, v;
jakarta.validation.executable.ExecutableType[] v, v;
java.util.EnumSet v, v;
boolean v, v, v;
org.hibernate.validator.cdi.ValidationExtension v;
java.lang.IllegalArgumentException v;
jakarta.validation.executable.ExecutableType v, v, v, v, v;
jakarta.validation.executable.ValidateOnExecution v;
org.hibernate.validator.internal.util.logging.Log v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: jakarta.validation.executable.ValidateOnExecution;
if v != null goto label;
v = staticinvoke <java.util.EnumSet: java.util.EnumSet noneOf(java.lang.Class)>(class "Ljakarta/validation/executable/ExecutableType;");
return v;
label:
v = staticinvoke <java.util.EnumSet: java.util.EnumSet noneOf(java.lang.Class)>(class "Ljakarta/validation/executable/ExecutableType;");
v = interfaceinvoke v.<jakarta.validation.executable.ValidateOnExecution: jakarta.validation.executable.ExecutableType[] type()>();
v = lengthof v;
if v != 0 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NONE>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<jakarta.validation.executable.ValidateOnExecution: jakarta.validation.executable.ExecutableType[] type()>();
staticinvoke <java.util.Collections: boolean addAll(java.util.Collection,java.lang.Object[])>(v, v);
label:
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType IMPLICIT>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.util.EnumSet: int size()>();
if v <= 1 goto label;
v = <org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.internal.util.logging.Log log>;
v = interfaceinvoke v.<org.hibernate.validator.internal.util.logging.Log: java.lang.IllegalArgumentException getMixingImplicitWithOtherExecutableTypesException()>();
throw v;
label:
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NONE>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.util.EnumSet: int size()>();
if v <= 1 goto label;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NONE>;
virtualinvoke v.<java.util.EnumSet: boolean remove(java.lang.Object)>(v);
label:
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType ALL>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet ALL_EXECUTABLE_TYPES>;
label:
return v;
}
private java.lang.reflect.Method replaceWithOverriddenOrInterfaceMethod(java.lang.reflect.Method, java.util.List)
{
java.util.Iterator v;
java.util.List v;
org.hibernate.validator.internal.util.ExecutableHelper v;
jakarta.validation.ValidationException v;
java.lang.'annotation'.Annotation v;
java.lang.Object v;
java.util.LinkedList v;
java.lang.reflect.Method v;
boolean v, v;
org.hibernate.validator.cdi.ValidationExtension v;
org.hibernate.validator.internal.util.logging.Log v;
v := @this: org.hibernate.validator.cdi.ValidationExtension;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.util.List;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.util.LinkedList: java.util.Iterator descendingIterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.internal.util.ExecutableHelper executableHelper>;
v = virtualinvoke v.<org.hibernate.validator.internal.util.ExecutableHelper: boolean overrides(java.lang.reflect.Method,java.lang.reflect.Method)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(class "Ljakarta/validation/executable/ValidateOnExecution;");
if v == null goto label;
v = <org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.internal.util.logging.Log log>;
v = interfaceinvoke v.<org.hibernate.validator.internal.util.logging.Log: jakarta.validation.ValidationException getValidateOnExecutionOnOverriddenOrInterfaceMethodException(java.lang.reflect.Executable)>(v);
throw v;
label:
return v;
label:
return v;
}
static void <clinit>()
{
java.lang.invoke.MethodHandles$Lookup v;
jakarta.validation.executable.ExecutableType v, v, v, v, v;
java.util.EnumSet v, v;
org.hibernate.validator.internal.util.logging.Log v;
v = staticinvoke <java.lang.invoke.MethodHandles: java.lang.invoke.MethodHandles$Lookup lookup()>();
v = staticinvoke <org.hibernate.validator.internal.util.logging.LoggerFactory: org.hibernate.validator.internal.util.logging.Log make(java.lang.invoke.MethodHandles$Lookup)>(v);
<org.hibernate.validator.cdi.ValidationExtension: org.hibernate.validator.internal.util.logging.Log log> = v;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType CONSTRUCTORS>;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NON_GETTER_METHODS>;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType GETTER_METHODS>;
v = staticinvoke <java.util.EnumSet: java.util.EnumSet of(java.lang.Enum,java.lang.Enum,java.lang.Enum)>(v, v, v);
<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet ALL_EXECUTABLE_TYPES> = v;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType CONSTRUCTORS>;
v = <jakarta.validation.executable.ExecutableType: jakarta.validation.executable.ExecutableType NON_GETTER_METHODS>;
v = staticinvoke <java.util.EnumSet: java.util.EnumSet of(java.lang.Enum,java.lang.Enum)>(v, v);
<org.hibernate.validator.cdi.ValidationExtension: java.util.EnumSet DEFAULT_EXECUTABLE_TYPES> = v;
return;
}
}