class dev.langchain4j.internal.GsonJsonCodec extends java.lang.Object implements dev.langchain4j.internal.Json$JsonCodec
{
private static final com.google.gson.Gson GSON;
public static final java.lang.reflect.Type MAP_TYPE;
void <init>()
{
dev.langchain4j.internal.GsonJsonCodec v;
v := @this: dev.langchain4j.internal.GsonJsonCodec;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.String toJson(java.lang.Object)
{
com.google.gson.Gson v;
dev.langchain4j.internal.GsonJsonCodec v;
java.lang.Object v;
java.lang.String v;
v := @this: dev.langchain4j.internal.GsonJsonCodec;
v := @parameter: java.lang.Object;
v = <dev.langchain4j.internal.GsonJsonCodec: com.google.gson.Gson GSON>;
v = virtualinvoke v.<com.google.gson.Gson: java.lang.String toJson(java.lang.Object)>(v);
return v;
}
public java.lang.Object fromJson(java.lang.String, java.lang.Class)
{
java.lang.reflect.Type v;
com.google.gson.Gson v, v;
dev.langchain4j.internal.GsonJsonCodec v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.String v;
v := @this: dev.langchain4j.internal.GsonJsonCodec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
if v != class "Ljava/util/Map;" goto label;
v = <dev.langchain4j.internal.GsonJsonCodec: com.google.gson.Gson GSON>;
v = <dev.langchain4j.internal.GsonJsonCodec: java.lang.reflect.Type MAP_TYPE>;
v = virtualinvoke v.<com.google.gson.Gson: java.lang.Object fromJson(java.lang.String,java.lang.reflect.Type)>(v, v);
return v;
label:
v = <dev.langchain4j.internal.GsonJsonCodec: com.google.gson.Gson GSON>;
v = virtualinvoke v.<com.google.gson.Gson: java.lang.Object fromJson(java.lang.String,java.lang.Class)>(v, v);
return v;
}
public java.io.InputStream toInputStream(java.lang.Object, java.lang.Class) throws java.io.IOException
{
java.lang.Throwable v, v, v;
byte[] v;
java.io.ByteArrayOutputStream v;
java.io.ByteArrayInputStream v;
java.nio.charset.Charset v;
com.google.gson.Gson v;
dev.langchain4j.internal.GsonJsonCodec v;
java.io.OutputStreamWriter v;
java.lang.Class v;
java.lang.Object v;
com.google.gson.stream.JsonWriter v;
v := @this: dev.langchain4j.internal.GsonJsonCodec;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
label:
v = new java.io.OutputStreamWriter;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream,java.nio.charset.Charset)>(v, v);
label:
v = new com.google.gson.stream.JsonWriter;
specialinvoke v.<com.google.gson.stream.JsonWriter: void <init>(java.io.Writer)>(v);
label:
v = <dev.langchain4j.internal.GsonJsonCodec: com.google.gson.Gson GSON>;
virtualinvoke v.<com.google.gson.Gson: void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter)>(v, v, v);
virtualinvoke v.<com.google.gson.stream.JsonWriter: void flush()>();
v = new java.io.ByteArrayInputStream;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
label:
virtualinvoke v.<com.google.gson.stream.JsonWriter: void close()>();
label:
virtualinvoke v.<java.io.OutputStreamWriter: void close()>();
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void close()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
com.google.gson.JsonSerializer v, v;
com.google.gson.GsonBuilder v, v, v, v, v, v;
java.lang.reflect.Type v;
com.google.gson.Gson v;
com.google.gson.JsonDeserializer v, v;
dev.langchain4j.internal.GsonJsonCodec$1 v;
v = new com.google.gson.GsonBuilder;
specialinvoke v.<com.google.gson.GsonBuilder: void <init>()>();
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder setPrettyPrinting()>();
v = staticinvoke <dev.langchain4j.internal.GsonJsonCodec$lambda_static_0__10: com.google.gson.JsonSerializer bootstrap$()>();
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object)>(class "Ljava/time/LocalDate;", v);
v = staticinvoke <dev.langchain4j.internal.GsonJsonCodec$lambda_static_1__11: com.google.gson.JsonDeserializer bootstrap$()>();
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object)>(class "Ljava/time/LocalDate;", v);
v = staticinvoke <dev.langchain4j.internal.GsonJsonCodec$lambda_static_2__12: com.google.gson.JsonSerializer bootstrap$()>();
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object)>(class "Ljava/time/LocalDateTime;", v);
v = staticinvoke <dev.langchain4j.internal.GsonJsonCodec$lambda_static_3__13: com.google.gson.JsonDeserializer bootstrap$()>();
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.GsonBuilder registerTypeAdapter(java.lang.reflect.Type,java.lang.Object)>(class "Ljava/time/LocalDateTime;", v);
v = virtualinvoke v.<com.google.gson.GsonBuilder: com.google.gson.Gson create()>();
<dev.langchain4j.internal.GsonJsonCodec: com.google.gson.Gson GSON> = v;
v = new dev.langchain4j.internal.GsonJsonCodec$1;
specialinvoke v.<dev.langchain4j.internal.GsonJsonCodec$1: void <init>()>();
v = virtualinvoke v.<dev.langchain4j.internal.GsonJsonCodec$1: java.lang.reflect.Type getType()>();
<dev.langchain4j.internal.GsonJsonCodec: java.lang.reflect.Type MAP_TYPE> = v;
return;
}
}