public class com.fasterxml.jackson.databind.ser.std.UUIDSerializer extends com.fasterxml.jackson.databind.ser.std.StdScalarSerializer implements com.fasterxml.jackson.databind.ser.ContextualSerializer
{
static final char[] HEX_CHARS;
protected final java.lang.Boolean _asBinary;
public void <init>()
{
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
specialinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void <init>(java.lang.Boolean)>(null);
return;
}
protected void <init>(java.lang.Boolean)
{
java.lang.Boolean v;
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: java.lang.Boolean;
specialinvoke v.<com.fasterxml.jackson.databind.ser.std.StdScalarSerializer: void <init>(java.lang.Class)>(class "Ljava/util/UUID;");
v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: java.lang.Boolean _asBinary> = v;
return;
}
public boolean isEmpty(com.fasterxml.jackson.databind.SerializerProvider, java.util.UUID)
{
byte v, v;
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
long v, v;
com.fasterxml.jackson.databind.SerializerProvider v;
java.util.UUID v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: com.fasterxml.jackson.databind.SerializerProvider;
v := @parameter: java.util.UUID;
v = virtualinvoke v.<java.util.UUID: long getLeastSignificantBits()>();
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<java.util.UUID: long getMostSignificantBits()>();
v = v cmp 0L;
if v != 0 goto label;
return 1;
label:
return 0;
}
public com.fasterxml.jackson.databind.JsonSerializer createContextual(com.fasterxml.jackson.databind.SerializerProvider, com.fasterxml.jackson.databind.BeanProperty) throws com.fasterxml.jackson.databind.JsonMappingException
{
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v, v;
com.fasterxml.jackson.databind.BeanProperty v;
com.fasterxml.jackson.'annotation'.JsonFormat$Value v;
com.fasterxml.jackson.'annotation'.JsonFormat$Shape v, v, v;
java.lang.Boolean v, v;
java.lang.Class v;
com.fasterxml.jackson.databind.SerializerProvider v;
boolean v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: com.fasterxml.jackson.databind.SerializerProvider;
v := @parameter: com.fasterxml.jackson.databind.BeanProperty;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: java.lang.Class handledType()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: com.fasterxml.jackson.'annotation'.JsonFormat$Value findFormatOverrides(com.fasterxml.jackson.databind.SerializerProvider,com.fasterxml.jackson.databind.BeanProperty,java.lang.Class)>(v, v, v);
v = null;
if v == null goto label;
v = virtualinvoke v.<com.fasterxml.jackson.'annotation'.JsonFormat$Value: com.fasterxml.jackson.'annotation'.JsonFormat$Shape getShape()>();
v = <com.fasterxml.jackson.'annotation'.JsonFormat$Shape: com.fasterxml.jackson.'annotation'.JsonFormat$Shape BINARY>;
if v != v goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
goto label;
label:
v = <com.fasterxml.jackson.'annotation'.JsonFormat$Shape: com.fasterxml.jackson.'annotation'.JsonFormat$Shape STRING>;
if v != v goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
label:
v = v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: java.lang.Boolean _asBinary>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = new com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
specialinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void <init>(java.lang.Boolean)>(v);
return v;
label:
return v;
}
public void serialize(java.util.UUID, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider) throws java.io.IOException
{
byte[] v;
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
com.fasterxml.jackson.core.JsonGenerator v;
long v, v, v, v, v;
java.util.UUID v;
int v;
char[] v;
com.fasterxml.jackson.databind.SerializerProvider v;
boolean v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: java.util.UUID;
v := @parameter: com.fasterxml.jackson.core.JsonGenerator;
v := @parameter: com.fasterxml.jackson.databind.SerializerProvider;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: boolean _writeAsBinary(com.fasterxml.jackson.core.JsonGenerator)>(v);
if v == 0 goto label;
v = staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: byte[] _asBytes(java.util.UUID)>(v);
virtualinvoke v.<com.fasterxml.jackson.core.JsonGenerator: void writeBinary(byte[])>(v);
return;
label:
v = newarray (char)[36];
v = virtualinvoke v.<java.util.UUID: long getMostSignificantBits()>();
v = v >> 32;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,char[],int)>(v, v, 0);
v[8] = 45;
v = v >>> 16;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, 9);
v[13] = 45;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, 14);
v[18] = 45;
v = virtualinvoke v.<java.util.UUID: long getLeastSignificantBits()>();
v = v >>> 48;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, 19);
v[23] = 45;
v = v >>> 32;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, 24);
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,char[],int)>(v, v, 28);
virtualinvoke v.<com.fasterxml.jackson.core.JsonGenerator: void writeString(char[],int,int)>(v, 0, 36);
return;
}
protected boolean _writeAsBinary(com.fasterxml.jackson.core.JsonGenerator)
{
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
com.fasterxml.jackson.core.JsonGenerator v;
java.lang.Boolean v, v;
boolean v, v, v, v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: com.fasterxml.jackson.core.JsonGenerator;
v = v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: java.lang.Boolean _asBinary>;
if v == null goto label;
v = v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: java.lang.Boolean _asBinary>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
label:
v = v instanceof com.fasterxml.jackson.databind.util.TokenBuffer;
if v != 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonGenerator: boolean canWriteBinaryNatively()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper, com.fasterxml.jackson.databind.JavaType) throws com.fasterxml.jackson.databind.JsonMappingException
{
com.fasterxml.jackson.databind.ser.std.UUIDSerializer v;
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat v;
com.fasterxml.jackson.databind.JavaType v;
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper v;
v := @this: com.fasterxml.jackson.databind.ser.std.UUIDSerializer;
v := @parameter: com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper;
v := @parameter: com.fasterxml.jackson.databind.JavaType;
v = <com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat: com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat UUID>;
virtualinvoke v.<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void visitStringFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper,com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat)>(v, v, v);
return;
}
private static void _appendInt(int, char[], int)
{
int v, v, v, v;
char[] v;
v := @parameter: int;
v := @parameter: char[];
v := @parameter: int;
v = v >> 16;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, v);
v = v + 4;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendShort(int,char[],int)>(v, v, v);
return;
}
private static void _appendShort(int, char[], int)
{
int v, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v;
char[] v, v, v, v, v;
v := @parameter: int;
v := @parameter: char[];
v := @parameter: int;
v = <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: char[] HEX_CHARS>;
v = v >> 12;
v = v & 15;
v = v[v];
v[v] = v;
v = v + 1;
v = <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: char[] HEX_CHARS>;
v = v >> 8;
v = v & 15;
v = v[v];
v[v] = v;
v = v + 1;
v = <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: char[] HEX_CHARS>;
v = v >> 4;
v = v & 15;
v = v[v];
v[v] = v;
v = v + 1;
v = <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: char[] HEX_CHARS>;
v = v & 15;
v = v[v];
v[v] = v;
return;
}
private static final byte[] _asBytes(java.util.UUID)
{
byte[] v;
long v, v, v, v;
java.util.UUID v;
v := @parameter: java.util.UUID;
v = newarray (byte)[16];
v = virtualinvoke v.<java.util.UUID: long getMostSignificantBits()>();
v = virtualinvoke v.<java.util.UUID: long getLeastSignificantBits()>();
v = v >> 32;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,byte[],int)>(v, v, 0);
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,byte[],int)>(v, v, 4);
v = v >> 32;
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,byte[],int)>(v, v, 8);
staticinvoke <com.fasterxml.jackson.databind.ser.std.UUIDSerializer: void _appendInt(int,byte[],int)>(v, v, 12);
return v;
}
private static final void _appendInt(int, byte[], int)
{
byte[] v;
int v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v = v >> 24;
v[v] = v;
v = v + 1;
v = v >> 16;
v[v] = v;
v = v + 1;
v = v >> 8;
v[v] = v;
v = v + 1;
v[v] = v;
return;
}
static void <clinit>()
{
char[] v;
java.lang.String v;
v = "0123456789abcdef";
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
<com.fasterxml.jackson.databind.ser.std.UUIDSerializer: char[] HEX_CHARS> = v;
return;
}
}