public class org.eclipse.yasson.internal.SerializationContextImpl extends org.eclipse.yasson.internal.ProcessingContext implements jakarta.json.bind.serializer.SerializationContext
{
private static final java.util.logging.Logger LOGGER;
private final java.util.Set currentlyProcessedObjects;
private final java.lang.reflect.Type runtimeType;
private java.lang.String key;
private boolean containerWithNulls;
private boolean root;
public void <init>(org.eclipse.yasson.internal.JsonbContext, java.lang.reflect.Type)
{
java.util.HashSet v;
java.lang.reflect.Type v;
org.eclipse.yasson.internal.SerializationContextImpl v;
org.eclipse.yasson.internal.JsonbContext v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
v := @parameter: java.lang.reflect.Type;
specialinvoke v.<org.eclipse.yasson.internal.ProcessingContext: void <init>(org.eclipse.yasson.internal.JsonbContext)>(v);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.eclipse.yasson.internal.SerializationContextImpl: java.util.Set currentlyProcessedObjects> = v;
v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.String key> = null;
v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean containerWithNulls> = 1;
v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean root> = 1;
v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.reflect.Type runtimeType> = v;
return;
}
public void <init>(org.eclipse.yasson.internal.JsonbContext)
{
org.eclipse.yasson.internal.JsonbContext v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: org.eclipse.yasson.internal.JsonbContext;
specialinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void <init>(org.eclipse.yasson.internal.JsonbContext,java.lang.reflect.Type)>(v, null);
return;
}
public void setKey(java.lang.String)
{
java.lang.String v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.String;
v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.String key> = v;
return;
}
public java.lang.String getKey()
{
java.lang.String v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.String key>;
return v;
}
public boolean isRoot()
{
org.eclipse.yasson.internal.SerializationContextImpl v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean root>;
return v;
}
public void setRoot(boolean)
{
org.eclipse.yasson.internal.SerializationContextImpl v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: boolean;
v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean root> = v;
return;
}
public boolean isContainerWithNulls()
{
org.eclipse.yasson.internal.SerializationContextImpl v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean containerWithNulls>;
return v;
}
public void setContainerWithNulls(boolean)
{
org.eclipse.yasson.internal.SerializationContextImpl v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: boolean;
v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean containerWithNulls> = v;
return;
}
public void marshall(java.lang.Object, jakarta.json.stream.JsonGenerator, boolean)
{
java.lang.Throwable v;
java.lang.Object[] v;
jakarta.json.stream.JsonGenerationException v, v;
org.eclipse.yasson.internal.properties.MessageKeys v;
org.eclipse.yasson.internal.SerializationContextImpl v;
jakarta.json.bind.JsonbException v, v;
java.lang.String v, v, v, v;
boolean v;
java.lang.RuntimeException v;
jakarta.json.stream.JsonGenerator v;
java.util.logging.Logger v, v;
java.lang.Object v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
v := @parameter: boolean;
label:
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void serializeObject(java.lang.Object,jakarta.json.stream.JsonGenerator)>(v, v);
label:
if v == 0 goto label;
interfaceinvoke v.<jakarta.json.stream.JsonGenerator: void close()>();
goto label;
label:
interfaceinvoke v.<jakarta.json.stream.JsonGenerator: void flush()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.eclipse.yasson.internal.SerializationContextImpl: java.util.logging.Logger LOGGER>;
v = virtualinvoke v.<jakarta.json.stream.JsonGenerationException: java.lang.String getMessage()>();
virtualinvoke v.<java.util.logging.Logger: void severe(java.lang.String)>(v);
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new jakarta.json.bind.JsonbException;
v = <org.eclipse.yasson.internal.properties.MessageKeys: org.eclipse.yasson.internal.properties.MessageKeys INTERNAL_ERROR>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.String getMessage()>();
v[0] = v;
v = staticinvoke <org.eclipse.yasson.internal.properties.Messages: java.lang.String getMessage(org.eclipse.yasson.internal.properties.MessageKeys,java.lang.Object[])>(v, v);
specialinvoke v.<jakarta.json.bind.JsonbException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
label:
if v == 0 goto label;
interfaceinvoke v.<jakarta.json.stream.JsonGenerator: void close()>();
goto label;
label:
interfaceinvoke v.<jakarta.json.stream.JsonGenerator: void flush()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.eclipse.yasson.internal.SerializationContextImpl: java.util.logging.Logger LOGGER>;
v = virtualinvoke v.<jakarta.json.stream.JsonGenerationException: java.lang.String getMessage()>();
virtualinvoke v.<java.util.logging.Logger: void severe(java.lang.String)>(v);
label:
throw v;
label:
return;
catch jakarta.json.stream.JsonGenerationException from label to label with label;
catch jakarta.json.bind.JsonbException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch jakarta.json.stream.JsonGenerationException from label to label with label;
}
public void marshall(java.lang.Object, jakarta.json.stream.JsonGenerator)
{
java.lang.Object v;
jakarta.json.stream.JsonGenerator v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void marshall(java.lang.Object,jakarta.json.stream.JsonGenerator,boolean)>(v, v, 1);
return;
}
public void marshallWithoutClose(java.lang.Object, jakarta.json.stream.JsonGenerator)
{
java.lang.Object v;
jakarta.json.stream.JsonGenerator v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void marshall(java.lang.Object,jakarta.json.stream.JsonGenerator,boolean)>(v, v, 0);
return;
}
public void serialize(java.lang.String, java.lang.Object, jakarta.json.stream.JsonGenerator)
{
org.eclipse.yasson.internal.SerializationContextImpl v;
java.lang.Object v;
java.lang.String v;
jakarta.json.stream.JsonGenerator v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void setKey(java.lang.String)>(v);
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void serializeObject(java.lang.Object,jakarta.json.stream.JsonGenerator)>(v, v);
return;
}
public void serialize(java.lang.Object, jakarta.json.stream.JsonGenerator)
{
java.lang.Object v;
jakarta.json.stream.JsonGenerator v;
org.eclipse.yasson.internal.SerializationContextImpl v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: void serializeObject(java.lang.Object,jakarta.json.stream.JsonGenerator)>(v, v);
return;
}
public void serializeObject(java.lang.Object, jakarta.json.stream.JsonGenerator)
{
java.lang.reflect.Type v;
org.eclipse.yasson.internal.SerializationContextImpl v;
java.lang.Object v;
jakarta.json.stream.JsonGenerator v;
org.eclipse.yasson.internal.serializer.ModelSerializer v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v := @parameter: jakarta.json.stream.JsonGenerator;
v = specialinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.reflect.Type determineSerializationType(java.lang.Object)>(v);
v = virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: org.eclipse.yasson.internal.serializer.ModelSerializer getRootSerializer(java.lang.reflect.Type)>(v);
interfaceinvoke v.<org.eclipse.yasson.internal.serializer.ModelSerializer: void serialize(java.lang.Object,jakarta.json.stream.JsonGenerator,org.eclipse.yasson.internal.SerializationContextImpl)>(v, v, v);
return;
}
private java.lang.reflect.Type determineSerializationType(java.lang.Object)
{
java.lang.reflect.Type v, v;
org.eclipse.yasson.internal.SerializationContextImpl v;
java.lang.Class v;
java.lang.Object v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: boolean isRoot()>();
if v == 0 goto label;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.reflect.Type runtimeType>;
if v == null goto label;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: java.lang.reflect.Type runtimeType>;
return v;
label:
if v != null goto label;
v = class "Ljava/lang/Object;";
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
return v;
}
public org.eclipse.yasson.internal.serializer.ModelSerializer getRootSerializer(java.lang.reflect.Type)
{
java.lang.reflect.Type v;
org.eclipse.yasson.internal.SerializationContextImpl v;
org.eclipse.yasson.internal.serializer.SerializationModelCreator v;
org.eclipse.yasson.internal.JsonbContext v;
org.eclipse.yasson.internal.serializer.ModelSerializer v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.reflect.Type;
v = virtualinvoke v.<org.eclipse.yasson.internal.SerializationContextImpl: org.eclipse.yasson.internal.JsonbContext getJsonbContext()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.JsonbContext: org.eclipse.yasson.internal.serializer.SerializationModelCreator getSerializationModelCreator()>();
v = virtualinvoke v.<org.eclipse.yasson.internal.serializer.SerializationModelCreator: org.eclipse.yasson.internal.serializer.ModelSerializer serializerChain(java.lang.reflect.Type,boolean,boolean)>(v, 1, 1);
return v;
}
public boolean addProcessedObject(java.lang.Object)
{
org.eclipse.yasson.internal.SerializationContextImpl v;
java.util.Set v;
java.lang.Object v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: java.util.Set currentlyProcessedObjects>;
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return v;
}
public boolean removeProcessedObject(java.lang.Object)
{
org.eclipse.yasson.internal.SerializationContextImpl v;
java.util.Set v;
java.lang.Object v;
boolean v;
v := @this: org.eclipse.yasson.internal.SerializationContextImpl;
v := @parameter: java.lang.Object;
v = v.<org.eclipse.yasson.internal.SerializationContextImpl: java.util.Set currentlyProcessedObjects>;
v = interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
return v;
}
static void <clinit>()
{
java.lang.Class v;
java.lang.String v;
java.util.logging.Logger v;
v = class "Lorg/eclipse/yasson/internal/SerializationContextImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.eclipse.yasson.internal.SerializationContextImpl: java.util.logging.Logger LOGGER> = v;
return;
}
}