public final class org.eclipse.yasson.internal.model.PropertyModel extends java.lang.Object implements java.lang.Comparable
{
private static final java.lang.invoke.MethodHandles$Lookup LOOKUP;
private final java.lang.String propertyName;
private final java.lang.String readName;
private final java.lang.String writeName;
private final java.lang.reflect.Type propertyType;
private final org.eclipse.yasson.internal.model.ClassModel classModel;
private final org.eclipse.yasson.internal.model.Property property;
private final org.eclipse.yasson.internal.model.customization.PropertyCustomization customization;
private final java.lang.invoke.MethodHandle getValueHandle;
private final java.lang.invoke.MethodHandle setValueHandle;
private final java.lang.reflect.Field field;
private final java.lang.reflect.Method getter;
private final java.lang.reflect.Method setter;
private final java.lang.reflect.Type getterMethodType;
private final java.lang.reflect.Type setterMethodType;
public void <init>(org.eclipse.yasson.internal.model.PropertyModel, org.eclipse.yasson.internal.model.PropertyModel)
{
java.lang.IllegalStateException v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
org.eclipse.yasson.internal.model.customization.ClassCustomization v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v;
java.lang.reflect.Method v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.eclipse.yasson.internal.model.ClassModel v, v;
org.eclipse.yasson.internal.model.PropertyModel v, v, v;
java.lang.reflect.Type v, v, v, v, v;
java.lang.invoke.MethodHandle v, v;
java.lang.String v, v, v, v;
org.eclipse.yasson.internal.model.Property v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.reflect.Field v, v, v, v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.PropertyModel;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.eclipse.yasson.internal.model.PropertyModel,org.eclipse.yasson.internal.model.PropertyModel)>(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[])>("Property models \u and \u cannot be merged");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.ClassModel classModel>;
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.ClassModel classModel> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName>;
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type propertyType>;
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type propertyType> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType>;
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType>;
goto label;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType>;
label:
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType>;
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType>;
goto label;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType>;
label:
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Field getField()>();
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Field getField()>();
virtualinvoke v.<org.eclipse.yasson.internal.model.Property: void setField(java.lang.reflect.Field)>(v);
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getGetter()>();
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getGetter()>();
virtualinvoke v.<org.eclipse.yasson.internal.model.Property: void setGetter(java.lang.reflect.Method)>(v);
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getSetter()>();
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getSetter()>();
virtualinvoke v.<org.eclipse.yasson.internal.model.Property: void setSetter(java.lang.reflect.Method)>(v);
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Field getField()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getGetter()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getSetter()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.ClassModel classModel>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.ClassModel: org.eclipse.yasson.internal.model.customization.ClassCustomization getClassCustomization()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.ClassCustomization: jakarta.json.bind.config.PropertyVisibilityStrategy getPropertyVisibilityStrategy()>();
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isMethodVisible(java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v);
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle createReadHandle(java.lang.reflect.Field,java.lang.reflect.Method,boolean,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle getValueHandle> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isMethodVisible(java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v);
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle createWriteHandle(java.lang.reflect.Field,java.lang.reflect.Method,boolean,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle setValueHandle> = v;
return;
}
public void <init>(org.eclipse.yasson.internal.model.ClassModel, org.eclipse.yasson.internal.model.Property, org.eclipse.yasson.internal.JsonbContext)
{
jakarta.json.bind.config.PropertyVisibilityStrategy v;
org.eclipse.yasson.internal.model.customization.ClassCustomization v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v, v, v;
java.lang.reflect.Method v, v, v, v, v, v;
boolean v, v;
org.eclipse.yasson.internal.model.ClassModel v;
org.eclipse.yasson.internal.model.PropertyModel v;
java.lang.reflect.Type v, v, v;
org.eclipse.yasson.internal.JsonbConfigProperties v, v;
org.eclipse.yasson.internal.JsonbContext v;
java.lang.invoke.MethodHandle v, v;
java.lang.String v, v, v, v, v, v, v;
org.eclipse.yasson.internal.model.Property v;
java.lang.reflect.Field v, v, v;
jakarta.json.bind.config.PropertyNamingStrategy v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.ClassModel;
v := @parameter: org.eclipse.yasson.internal.model.Property;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.ClassModel classModel> = v;
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.Property property> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.String getName()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Type getPropertyType()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type propertyType> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Field getField()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getGetter()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Method getSetter()>();
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter> = v;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.ClassModel: org.eclipse.yasson.internal.model.customization.ClassCustomization getClassCustomization()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.ClassCustomization: jakarta.json.bind.config.PropertyVisibilityStrategy getPropertyVisibilityStrategy()>();
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isMethodVisible(java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v);
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isMethodVisible(java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v);
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle createReadHandle(java.lang.reflect.Field,java.lang.reflect.Method,boolean,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle getValueHandle> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter>;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle createWriteHandle(java.lang.reflect.Field,java.lang.reflect.Method,boolean,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle setValueHandle> = v;
if v == 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Type getGetterType()>();
goto label;
label:
v = null;
label:
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType> = v;
if v == 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.reflect.Type getSetterType()>();
goto label;
label:
v = null;
label:
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType> = v;
v = specialinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization introspectCustomization(org.eclipse.yasson.internal.model.Property,org.eclipse.yasson.internal.JsonbContext,org.eclipse.yasson.internal.model.ClassModel)>(v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: java.lang.String getJsonReadName()>();
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName>;
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.JsonbConfigProperties getConfigProperties()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbConfigProperties: jakarta.json.bind.config.PropertyNamingStrategy getPropertyNamingStrategy()>();
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.String calculateReadWriteName(java.lang.String,java.lang.String,jakarta.json.bind.config.PropertyNamingStrategy)>(v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName> = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: java.lang.String getJsonWriteName()>();
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName>;
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.JsonbConfigProperties getConfigProperties()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbConfigProperties: jakarta.json.bind.config.PropertyNamingStrategy getPropertyNamingStrategy()>();
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.String calculateReadWriteName(java.lang.String,java.lang.String,jakarta.json.bind.config.PropertyNamingStrategy)>(v, v, v);
v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName> = v;
return;
}
public java.lang.reflect.Type getPropertyDeserializationType()
{
java.lang.reflect.Type v, v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType>;
if v != null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type propertyType>;
goto label;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type setterMethodType>;
label:
return v;
}
public java.lang.reflect.Type getPropertySerializationType()
{
java.lang.reflect.Type v, v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType>;
if v != null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type propertyType>;
goto label;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getterMethodType>;
label:
return v;
}
private org.eclipse.yasson.internal.components.SerializerBinding getUserSerializerBinding(org.eclipse.yasson.internal.model.Property, org.eclipse.yasson.internal.JsonbContext)
{
org.eclipse.yasson.internal.model.PropertyModel v;
org.eclipse.yasson.internal.components.SerializerBinding v;
java.lang.reflect.Type v;
java.util.Optional v;
java.lang.Object v;
org.eclipse.yasson.internal.JsonbContext v;
org.eclipse.yasson.internal.model.Property v;
org.eclipse.yasson.internal.AnnotationIntrospector v;
org.eclipse.yasson.internal.ComponentMatcher v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.Property;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.AnnotationIntrospector getAnnotationIntrospector()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: org.eclipse.yasson.internal.components.SerializerBinding getSerializerBinding(org.eclipse.yasson.internal.model.Property)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.ComponentMatcher getComponentMatcher()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getPropertySerializationType()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.ComponentMatcher: java.util.Optional getSerializerBinding(java.lang.reflect.Type,org.eclipse.yasson.internal.model.customization.ComponentBoundCustomization)>(v, null);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
return v;
}
private org.eclipse.yasson.internal.model.customization.PropertyCustomization introspectCustomization(org.eclipse.yasson.internal.model.Property, org.eclipse.yasson.internal.JsonbContext, org.eclipse.yasson.internal.model.ClassModel)
{
org.eclipse.yasson.internal.model.customization.ClassCustomization v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v, v, v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder v;
org.eclipse.yasson.internal.components.DeserializerBinding v;
java.util.EnumSet v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
org.eclipse.yasson.internal.model.ClassModel v, v, v;
org.eclipse.yasson.internal.model.PropertyModel v, v;
org.eclipse.yasson.internal.model.JsonbAnnotatedElement v, v, v, v;
org.eclipse.yasson.internal.model.AnnotationTarget v, v, v, v, v, v, v;
java.lang.reflect.Type v, v;
java.util.Optional v, v, v;
org.eclipse.yasson.internal.JsonbContext v;
org.eclipse.yasson.internal.ComponentMatcher v, v;
int v;
java.lang.Boolean v;
org.eclipse.yasson.internal.components.AdapterBinding v;
java.lang.String v, v, v;
org.eclipse.yasson.internal.model.Property v;
org.eclipse.yasson.internal.AnnotationIntrospector v, v;
org.eclipse.yasson.internal.components.SerializerBinding v;
java.lang.Class v;
java.lang.Object v, v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.Property;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
v := @parameter: org.eclipse.yasson.internal.model.ClassModel;
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.AnnotationIntrospector getAnnotationIntrospector()>();
v = staticinvoke <org.eclipse.yasson.internal.model.customization.PropertyCustomization: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder builder()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.util.EnumSet getJsonbTransientCategorized(org.eclipse.yasson.internal.model.Property)>(v);
v = v;
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.ClassModel: org.eclipse.yasson.internal.model.ClassModel getParentClassModel()>();
v = v;
if v == null goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: java.lang.String getName()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.ClassModel: org.eclipse.yasson.internal.model.PropertyModel getPropertyModel(java.lang.String)>(v);
if v == null goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: boolean isReadTransient()>();
if v == 0 goto label;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget GETTER>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: boolean isWriteTransient()>();
if v == 0 goto label;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget SETTER>;
virtualinvoke v.<java.util.EnumSet: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<java.util.EnumSet: int size()>();
if v == 0 goto label;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget GETTER>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder readTransient(boolean)>(v);
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget SETTER>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder writeTransient(boolean)>(v);
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget PROPERTY>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget GETTER>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder readTransient(boolean)>(1);
label:
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget SETTER>;
v = virtualinvoke v.<java.util.EnumSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder writeTransient(boolean)>(1);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean readTransient()>();
if v == 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: org.eclipse.yasson.internal.model.JsonbAnnotatedElement getFieldElement()>();
virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: void checkTransientIncompatible(org.eclipse.yasson.internal.model.JsonbAnnotatedElement)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: org.eclipse.yasson.internal.model.JsonbAnnotatedElement getGetterElement()>();
virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: void checkTransientIncompatible(org.eclipse.yasson.internal.model.JsonbAnnotatedElement)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean writeTransient()>();
if v == 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: org.eclipse.yasson.internal.model.JsonbAnnotatedElement getFieldElement()>();
virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: void checkTransientIncompatible(org.eclipse.yasson.internal.model.JsonbAnnotatedElement)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.model.Property: org.eclipse.yasson.internal.model.JsonbAnnotatedElement getSetterElement()>();
virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: void checkTransientIncompatible(org.eclipse.yasson.internal.model.JsonbAnnotatedElement)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean readTransient()>();
if v != 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.lang.String getJsonbPropertyJsonWriteName(org.eclipse.yasson.internal.model.Property)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder jsonWriteName(java.lang.String)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.util.Optional isPropertyNillable(org.eclipse.yasson.internal.model.Property)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.model.ClassModel: org.eclipse.yasson.internal.model.customization.ClassCustomization getClassCustomization()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.ClassCustomization: boolean isNillable()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.CustomizationBase$Builder nillable(boolean)>(v);
v = specialinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.components.SerializerBinding getUserSerializerBinding(org.eclipse.yasson.internal.model.Property,org.eclipse.yasson.internal.JsonbContext)>(v, v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.CustomizationBase$Builder serializerBinding(org.eclipse.yasson.internal.components.SerializerBinding)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean writeTransient()>();
if v != 0 goto label;
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.lang.String getJsonbPropertyJsonReadName(org.eclipse.yasson.internal.model.Property)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder jsonReadName(java.lang.String)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: org.eclipse.yasson.internal.components.DeserializerBinding getDeserializerBinding(org.eclipse.yasson.internal.model.Property)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.CustomizationBase$Builder deserializerBinding(org.eclipse.yasson.internal.components.DeserializerBinding)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.AnnotationIntrospector getAnnotationIntrospector()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: org.eclipse.yasson.internal.components.AdapterBinding getAdapterBinding(org.eclipse.yasson.internal.model.Property)>(v);
if v == null goto label;
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder serializeAdapter(org.eclipse.yasson.internal.components.AdapterBinding)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder deserializeAdapter(org.eclipse.yasson.internal.components.AdapterBinding)>(v);
goto label;
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.ComponentMatcher getComponentMatcher()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getPropertySerializationType()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.ComponentMatcher: java.util.Optional getSerializeAdapterBinding(java.lang.reflect.Type,org.eclipse.yasson.internal.model.customization.ComponentBoundCustomization)>(v, null);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder serializeAdapter(org.eclipse.yasson.internal.components.AdapterBinding)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.ComponentMatcher getComponentMatcher()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Type getPropertyDeserializationType()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.ComponentMatcher: java.util.Optional getDeserializeAdapterBinding(java.lang.reflect.Type,org.eclipse.yasson.internal.model.customization.ComponentBoundCustomization)>(v, null);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder deserializeAdapter(org.eclipse.yasson.internal.components.AdapterBinding)>(v);
label:
staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: void introspectDateFormatter(org.eclipse.yasson.internal.model.Property,org.eclipse.yasson.internal.AnnotationIntrospector,org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder,org.eclipse.yasson.internal.JsonbContext)>(v, v, v, v);
staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: void introspectNumberFormatter(org.eclipse.yasson.internal.model.Property,org.eclipse.yasson.internal.AnnotationIntrospector,org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder)>(v, v, v);
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.lang.Class getImplementationClass(org.eclipse.yasson.internal.model.Property)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder implementationClass(java.lang.Class)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization build()>();
return v;
}
private static void introspectDateFormatter(org.eclipse.yasson.internal.model.Property, org.eclipse.yasson.internal.AnnotationIntrospector, org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder, org.eclipse.yasson.internal.JsonbContext)
{
org.eclipse.yasson.internal.JsonbDateFormatter v, v, v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder v;
java.util.Map v;
org.eclipse.yasson.internal.model.Property v;
org.eclipse.yasson.internal.AnnotationIntrospector v;
org.eclipse.yasson.internal.model.AnnotationTarget[] v, v;
boolean v, v;
org.eclipse.yasson.internal.model.AnnotationTarget v, v, v, v, v, v;
org.eclipse.yasson.internal.JsonbConfigProperties v;
java.lang.Object v, v;
org.eclipse.yasson.internal.JsonbContext v;
v := @parameter: org.eclipse.yasson.internal.model.Property;
v := @parameter: org.eclipse.yasson.internal.AnnotationIntrospector;
v := @parameter: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.util.Map getJsonbDateFormatCategorized(org.eclipse.yasson.internal.model.Property)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.JsonbConfigProperties getConfigProperties()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbConfigProperties: org.eclipse.yasson.internal.JsonbDateFormatter getConfigDateFormatter()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean readTransient()>();
if v != 0 goto label;
v = newarray (org.eclipse.yasson.internal.model.AnnotationTarget)[3];
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget GETTER>;
v[0] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget PROPERTY>;
v[1] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget CLASS>;
v[2] = v;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.Object getTargetForMostPreciseScope(java.util.Map,org.eclipse.yasson.internal.model.AnnotationTarget[])>(v, v);
if v == null goto label;
v = v;
goto label;
label:
v = v;
label:
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder serializeDateFormatter(org.eclipse.yasson.internal.JsonbDateFormatter)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean writeTransient()>();
if v != 0 goto label;
v = newarray (org.eclipse.yasson.internal.model.AnnotationTarget)[3];
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget SETTER>;
v[0] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget PROPERTY>;
v[1] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget CLASS>;
v[2] = v;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.Object getTargetForMostPreciseScope(java.util.Map,org.eclipse.yasson.internal.model.AnnotationTarget[])>(v, v);
if v == null goto label;
v = v;
goto label;
label:
v = v;
label:
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder deserializeDateFormatter(org.eclipse.yasson.internal.JsonbDateFormatter)>(v);
label:
return;
}
private static void introspectNumberFormatter(org.eclipse.yasson.internal.model.Property, org.eclipse.yasson.internal.AnnotationIntrospector, org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder)
{
org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder v;
java.util.Map v;
org.eclipse.yasson.internal.model.Property v;
org.eclipse.yasson.internal.AnnotationIntrospector v;
org.eclipse.yasson.internal.model.AnnotationTarget[] v, v;
boolean v, v;
org.eclipse.yasson.internal.model.AnnotationTarget v, v, v, v, v, v;
java.lang.Object v, v;
v := @parameter: org.eclipse.yasson.internal.model.Property;
v := @parameter: org.eclipse.yasson.internal.AnnotationIntrospector;
v := @parameter: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder;
v = virtualinvoke v.<org.eclipse.yasson.internal.AnnotationIntrospector: java.util.Map getJsonNumberFormatter(org.eclipse.yasson.internal.model.Property)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean readTransient()>();
if v != 0 goto label;
v = newarray (org.eclipse.yasson.internal.model.AnnotationTarget)[3];
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget GETTER>;
v[0] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget PROPERTY>;
v[1] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget CLASS>;
v[2] = v;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.Object getTargetForMostPreciseScope(java.util.Map,org.eclipse.yasson.internal.model.AnnotationTarget[])>(v, v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder serializeNumberFormatter(org.eclipse.yasson.internal.JsonbNumberFormatter)>(v);
label:
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: boolean writeTransient()>();
if v != 0 goto label;
v = newarray (org.eclipse.yasson.internal.model.AnnotationTarget)[3];
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget SETTER>;
v[0] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget PROPERTY>;
v[1] = v;
v = <org.eclipse.yasson.internal.model.AnnotationTarget: org.eclipse.yasson.internal.model.AnnotationTarget CLASS>;
v[2] = v;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.Object getTargetForMostPreciseScope(java.util.Map,org.eclipse.yasson.internal.model.AnnotationTarget[])>(v, v);
virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder: org.eclipse.yasson.internal.model.customization.PropertyCustomization$Builder deserializeNumberFormatter(org.eclipse.yasson.internal.JsonbNumberFormatter)>(v);
label:
return;
}
private static transient java.lang.Object getTargetForMostPreciseScope(java.util.Map, org.eclipse.yasson.internal.model.AnnotationTarget[])
{
org.eclipse.yasson.internal.model.AnnotationTarget v;
java.util.Map v;
int v, v;
java.lang.Object v;
org.eclipse.yasson.internal.model.AnnotationTarget[] v;
v := @parameter: java.util.Map;
v := @parameter: org.eclipse.yasson.internal.model.AnnotationTarget[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = v + 1;
goto label;
label:
return null;
}
public java.lang.Object getValue(java.lang.Object)
{
java.lang.Throwable v;
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
jakarta.json.bind.JsonbException v;
java.lang.Object v, v;
java.lang.String v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: java.lang.Object;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle getValueHandle>;
v = virtualinvoke v.<java.lang.invoke.MethodHandle: java.lang.Object invoke(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Error getting value on: \u0001");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public void setValue(java.lang.Object, java.lang.Object)
{
java.lang.Throwable v;
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
jakarta.json.bind.JsonbException v;
java.lang.Object v, v;
java.lang.String v;
boolean v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.PropertyModel: boolean isWritable()>();
if v != 0 goto label;
return;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle setValueHandle>;
virtualinvoke v.<java.lang.invoke.MethodHandle: void invoke(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Error setting value on: \u0001");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public boolean isReadable()
{
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v;
boolean v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: boolean isReadTransient()>();
if v != 0 goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle getValueHandle>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isWritable()
{
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v;
boolean v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
v = virtualinvoke v.<org.eclipse.yasson.internal.model.customization.PropertyCustomization: boolean isWriteTransient()>();
if v != 0 goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle setValueHandle>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String getPropertyName()
{
java.lang.String v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String propertyName>;
return v;
}
public org.eclipse.yasson.internal.model.ClassModel getClassModel()
{
org.eclipse.yasson.internal.model.ClassModel v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.ClassModel classModel>;
return v;
}
public org.eclipse.yasson.internal.model.customization.PropertyCustomization getCustomization()
{
org.eclipse.yasson.internal.model.PropertyModel v;
org.eclipse.yasson.internal.model.customization.PropertyCustomization v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: org.eclipse.yasson.internal.model.customization.PropertyCustomization customization>;
return v;
}
public int compareTo(org.eclipse.yasson.internal.model.PropertyModel)
{
org.eclipse.yasson.internal.model.PropertyModel v, v;
int v, v;
java.lang.String v, v, v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
if v != 0 goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
goto label;
label:
v = v;
label:
return v;
}
public boolean equals(java.lang.Object)
{
org.eclipse.yasson.internal.model.PropertyModel v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == v goto label;
label:
return 0;
label:
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
java.lang.Object[] v;
org.eclipse.yasson.internal.model.PropertyModel v;
int v;
java.lang.String v, v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = newarray (java.lang.Object)[2];
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
v[0] = v;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
v[1] = v;
v = staticinvoke <java.util.Objects: int hash(java.lang.Object[])>(v);
return v;
}
public java.lang.String getReadName()
{
java.lang.String v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String readName>;
return v;
}
public java.lang.String getWriteName()
{
java.lang.String v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.String writeName>;
return v;
}
private static java.lang.String calculateReadWriteName(java.lang.String, java.lang.String, jakarta.json.bind.config.PropertyNamingStrategy)
{
java.lang.String v, v, v;
jakarta.json.bind.config.PropertyNamingStrategy v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: jakarta.json.bind.config.PropertyNamingStrategy;
if v == null goto label;
v = v;
goto label;
label:
v = interfaceinvoke v.<jakarta.json.bind.config.PropertyNamingStrategy: java.lang.String translateName(java.lang.String)>(v);
label:
return v;
}
public java.lang.reflect.Field getField()
{
java.lang.reflect.Field v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Field field>;
return v;
}
public java.lang.reflect.Method getGetter()
{
java.lang.reflect.Method v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method getter>;
return v;
}
public java.lang.reflect.Method getSetter()
{
java.lang.reflect.Method v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.reflect.Method setter>;
return v;
}
public static boolean isPropertyReadable(java.lang.reflect.Field, java.lang.reflect.Method, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
java.lang.invoke.MethodHandle v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
java.lang.reflect.Field v;
java.lang.reflect.Method v;
boolean v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.reflect.Method;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isMethodVisible(java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v);
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle createReadHandle(java.lang.reflect.Field,java.lang.reflect.Method,boolean,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v, v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.lang.invoke.MethodHandle createReadHandle(java.lang.reflect.Field, java.lang.reflect.Method, boolean, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
java.lang.Throwable v;
java.lang.invoke.MethodHandle v, v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
int v, v;
jakarta.json.bind.JsonbException v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v;
java.lang.IllegalAccessException v;
java.lang.invoke.MethodHandles$Lookup v, v;
java.lang.reflect.Field v;
java.lang.Class v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.reflect.Method;
v := @parameter: boolean;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = v & 136;
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v == null goto label;
if v == 0 goto label;
label:
v = <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandles$Lookup LOOKUP>;
v = virtualinvoke v.<java.lang.invoke.MethodHandles$Lookup: java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Class)>(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[])>("Error accessing getter \'\u0001\' declared in \'\u0001\'");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isFieldVisible(java.lang.reflect.Field,java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v);
if v == 0 goto label;
label:
v = <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandles$Lookup LOOKUP>;
v = virtualinvoke v.<java.lang.invoke.MethodHandles$Lookup: java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Class)>(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[])>("Error accessing field \'\u0001\' declared in \'\u0001\'");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return null;
catch java.lang.Throwable from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
}
private static java.lang.invoke.MethodHandle createWriteHandle(java.lang.reflect.Field, java.lang.reflect.Method, boolean, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
java.lang.invoke.MethodHandle v, v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
int v, v;
jakarta.json.bind.JsonbException v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v, v, v;
java.lang.IllegalAccessException v, v;
java.lang.invoke.MethodHandles$Lookup v, v;
java.lang.reflect.Field v;
java.lang.Class v, v, v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.reflect.Method;
v := @parameter: boolean;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = v & 152;
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v == null goto label;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAnonymousClass()>();
if v != 0 goto label;
label:
v = <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandles$Lookup LOOKUP>;
v = virtualinvoke v.<java.lang.invoke.MethodHandles$Lookup: java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Class)>(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[])>("Error accessing setter \'\u0001\' declared in \'\u0001\'");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isFieldVisible(java.lang.reflect.Field,java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAnonymousClass()>();
if v != 0 goto label;
label:
v = <org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandles$Lookup LOOKUP>;
v = virtualinvoke v.<java.lang.invoke.MethodHandles$Lookup: java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Class)>(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[])>("Error accessing field \'\u0001\' declared in \'\u0001\'");
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return null;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
}
private static boolean isFieldVisible(java.lang.reflect.Field, java.lang.reflect.Method, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
java.util.function.Predicate v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
java.lang.reflect.Field v;
int v;
java.lang.Class v, v;
java.lang.reflect.Method v;
boolean v, v, v, v;
v := @parameter: java.lang.reflect.Field;
v := @parameter: java.lang.reflect.Method;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
if v != null goto label;
return 0;
label:
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel$lambda_isFieldVisible_0__541: java.util.function.Predicate bootstrap$(java.lang.reflect.Field)>(v);
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isVisible(java.util.function.Predicate,java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAnonymousClass()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isNotPublicAndNonNested(java.lang.Class)>(v);
if v == 0 goto label;
label:
staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: void overrideAccessible(java.lang.reflect.AccessibleObject)>(v);
label:
return v;
}
private static boolean isNotPublicAndNonNested(java.lang.Class)
{
int v;
java.lang.Class v;
boolean v, v, v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isMemberClass()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isMethodVisible(java.lang.reflect.Method, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
java.util.function.Predicate v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
int v, v;
java.lang.Class v, v;
java.lang.reflect.Method v;
boolean v, v, v, v, v;
v := @parameter: java.lang.reflect.Method;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v == 0 goto label;
label:
return 0;
label:
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel$lambda_isMethodVisible_1__542: java.util.function.Predicate bootstrap$(java.lang.reflect.Method)>(v);
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: boolean isVisible(java.util.function.Predicate,java.lang.reflect.Method,jakarta.json.bind.config.PropertyVisibilityStrategy)>(v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAnonymousClass()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isSynthetic()>();
if v == 0 goto label;
label:
staticinvoke <org.eclipse.yasson.internal.model.PropertyModel: void overrideAccessible(java.lang.reflect.AccessibleObject)>(v);
label:
return v;
}
private static void overrideAccessible(java.lang.reflect.AccessibleObject)
{
java.lang.reflect.AccessibleObject v;
java.security.PrivilegedAction v;
v := @parameter: java.lang.reflect.AccessibleObject;
v = staticinvoke <org.eclipse.yasson.internal.model.PropertyModel$lambda_overrideAccessible_2__543: java.security.PrivilegedAction bootstrap$(java.lang.reflect.AccessibleObject)>(v);
staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return;
}
private static boolean isVisible(java.util.function.Predicate, java.lang.reflect.Method, jakarta.json.bind.config.PropertyVisibilityStrategy)
{
org.eclipse.yasson.internal.model.PropertyModel$DefaultVisibilityStrategy v;
java.util.function.Predicate v;
jakarta.json.bind.config.PropertyVisibilityStrategy v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.util.function.Predicate;
v := @parameter: java.lang.reflect.Method;
v := @parameter: jakarta.json.bind.config.PropertyVisibilityStrategy;
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
goto label;
label:
v = new org.eclipse.yasson.internal.model.PropertyModel$DefaultVisibilityStrategy;
specialinvoke v.<org.eclipse.yasson.internal.model.PropertyModel$DefaultVisibilityStrategy: void <init>(java.lang.reflect.Method)>(v);
v = interfaceinvoke v.<java.util.function.Predicate: boolean test(java.lang.Object)>(v);
label:
return v;
}
public java.lang.invoke.MethodHandle getGetValueHandle()
{
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle getValueHandle>;
return v;
}
public java.lang.invoke.MethodHandle getSetValueHandle()
{
java.lang.invoke.MethodHandle v;
org.eclipse.yasson.internal.model.PropertyModel v;
v := @this: org.eclipse.yasson.internal.model.PropertyModel;
v = v.<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandle setValueHandle>;
return v;
}
static void <clinit>()
{
java.lang.invoke.MethodHandles$Lookup v;
v = staticinvoke <org.eclipse.yasson.internal.model.ModulesUtil: java.lang.invoke.MethodHandles$Lookup lookup()>();
<org.eclipse.yasson.internal.model.PropertyModel: java.lang.invoke.MethodHandles$Lookup LOOKUP> = v;
return;
}
}