final class org.apache.logging.log4j.message.ParameterFormatter extends java.lang.Object
{
static final java.lang.String RECURSION_PREFIX;
static final java.lang.String RECURSION_SUFFIX;
static final java.lang.String ERROR_PREFIX;
static final java.lang.String ERROR_SEPARATOR;
static final java.lang.String ERROR_MSG_SEPARATOR;
static final java.lang.String ERROR_SUFFIX;
private static final char DELIM_START;
private static final char DELIM_STOP;
private static final char ESCAPE_CHAR;
private static final java.time.format.DateTimeFormatter DATE_FORMATTER;
private void <init>()
{
org.apache.logging.log4j.message.ParameterFormatter v;
v := @this: org.apache.logging.log4j.message.ParameterFormatter;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis analyzePattern(java.lang.String, int)
{
int v;
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = new org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis;
specialinvoke v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: void <init>()>();
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void analyzePattern(java.lang.String,int,org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)>(v, v, v);
return v;
}
static void analyzePattern(java.lang.String, int, org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)
{
int[] v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
char v, v;
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= 2 goto label;
label:
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount> = 0;
return;
label:
v = 0;
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount> = 0;
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: boolean escapedCharFound> = 0;
v = 0;
label:
v = v - 1;
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 92 goto label;
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: boolean escapedCharFound> = 1;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
if v == 0 goto label;
v = 0;
goto label;
label:
if v != 123 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 125 goto label;
if v < 0 goto label;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
if v >= v goto label;
label:
specialinvoke v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: void ensurePlaceholderCharIndicesCapacity(int)>(v);
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int[] placeholderCharIndices>;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = v + 1;
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount> = v;
v = v;
v = v + 1;
v[v] = v;
goto label;
label:
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = v + 1;
v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount> = v;
v = v + 1;
label:
v = v + 1;
goto label;
label:
return;
}
static java.lang.String format(java.lang.String, java.lang.Object[], int)
{
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
java.lang.Object[] v;
int v;
java.lang.StringBuilder v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis analyzePattern(java.lang.String,int)>(v, v);
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void formatMessage(java.lang.StringBuilder,java.lang.String,java.lang.Object[],int,org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)>(v, v, v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void formatMessage(java.lang.StringBuilder, java.lang.String, java.lang.Object[], int, org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)
{
java.lang.Object[] v, v;
java.lang.Integer v, v;
int v, v, v, v, v, v;
java.lang.String v, v;
boolean v;
java.lang.IllegalArgumentException v;
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis;
if v == null goto label;
if v == null goto label;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
if v != 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
label:
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = lengthof v;
if v <= v goto label;
v = newarray (java.lang.Object)[3];
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("found %d argument placeholders, but provided %d for pattern `%s`", v);
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: boolean escapedCharFound>;
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void formatMessageContainingEscapes(java.lang.StringBuilder,java.lang.String,java.lang.Object[],int,org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)>(v, v, v, v, v);
goto label;
label:
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void formatMessageContainingNoEscapes(java.lang.StringBuilder,java.lang.String,java.lang.Object[],int,org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)>(v, v, v, v, v);
label:
return;
}
private static void formatMessageContainingNoEscapes(java.lang.StringBuilder, java.lang.String, java.lang.Object[], int, org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)
{
java.lang.Object[] v;
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
int[] v;
int v, v, v, v, v, v, v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis;
v = 0;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int[] placeholderCharIndices>;
v = v[v];
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
v = v[v];
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder)>(v, v);
v = v + 2;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
return;
}
private static void formatMessageContainingEscapes(java.lang.StringBuilder, java.lang.String, java.lang.Object[], int, org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis)
{
java.lang.Object[] v;
org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis v;
int[] v;
int v, v, v, v, v, v, v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis;
v = 0;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int placeholderCount>;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.logging.log4j.message.ParameterFormatter$MessagePatternAnalysis: int[] placeholderCharIndices>;
v = v[v];
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void copyMessagePatternContainingEscapes(java.lang.StringBuilder,java.lang.String,int,int)>(v, v, v, v);
v = v[v];
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder)>(v, v);
v = v + 2;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void copyMessagePatternContainingEscapes(java.lang.StringBuilder,java.lang.String,int,int)>(v, v, v, v);
return;
}
private static void copyMessagePatternContainingEscapes(java.lang.StringBuilder, java.lang.String, int, int)
{
char v, v;
int v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = 0;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 92 goto label;
if v == 0 goto label;
v = 0;
goto label;
label:
v = 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
if v == 0 goto label;
if v != 123 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 125 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("{}");
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
label:
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
label:
v = v + 1;
goto label;
label:
return;
}
static java.lang.String deepToString(java.lang.Object)
{
long v;
short v;
byte v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v;
double v;
char v;
float v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @parameter: java.lang.Object;
if v != null goto label;
return null;
label:
v = v instanceof java.lang.String;
if v == 0 goto label;
return v;
label:
v = v instanceof java.lang.Integer;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
return v;
label:
v = v instanceof java.lang.Long;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
return v;
label:
v = v instanceof java.lang.Double;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.lang.Double: java.lang.String toString(double)>(v);
return v;
label:
v = v instanceof java.lang.Boolean;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = staticinvoke <java.lang.Boolean: java.lang.String toString(boolean)>(v);
return v;
label:
v = v instanceof java.lang.Character;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Character: char charValue()>();
v = staticinvoke <java.lang.Character: java.lang.String toString(char)>(v);
return v;
label:
v = v instanceof java.lang.Short;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Short: short shortValue()>();
v = staticinvoke <java.lang.Short: java.lang.String toString(short)>(v);
return v;
label:
v = v instanceof java.lang.Float;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Float: float floatValue()>();
v = staticinvoke <java.lang.Float: java.lang.String toString(float)>(v);
return v;
label:
v = v instanceof java.lang.Byte;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Byte: byte byteValue()>();
v = staticinvoke <java.lang.Byte: java.lang.String toString(byte)>(v);
return v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void recursiveDeepToString(java.lang.Object, java.lang.StringBuilder)
{
java.lang.Object v;
java.lang.StringBuilder v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, null);
return;
}
private static void recursiveDeepToString(java.lang.Object, java.lang.StringBuilder, java.util.Set)
{
java.util.Set v;
java.lang.Object v;
java.lang.StringBuilder v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.Set;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: boolean appendSpecialTypes(java.lang.Object,java.lang.StringBuilder)>(v, v);
if v == 0 goto label;
return;
label:
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: boolean isMaybeRecursive(java.lang.Object)>(v);
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void appendPotentiallyRecursiveValue(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
goto label;
label:
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void tryObjectToString(java.lang.Object,java.lang.StringBuilder)>(v, v);
label:
return;
}
private static boolean appendSpecialTypes(java.lang.Object, java.lang.StringBuilder)
{
java.lang.Object v;
java.lang.StringBuilder v;
boolean v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v = staticinvoke <org.apache.logging.log4j.util.StringBuilders: boolean appendSpecificTypes(java.lang.StringBuilder,java.lang.Object)>(v, v);
if v != 0 goto label;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: boolean appendDate(java.lang.Object,java.lang.StringBuilder)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean appendDate(java.lang.Object, java.lang.StringBuilder)
{
java.time.format.DateTimeFormatter v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
java.time.Instant v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v = v instanceof java.util.Date;
if v != 0 goto label;
return 0;
label:
v = <org.apache.logging.log4j.message.ParameterFormatter: java.time.format.DateTimeFormatter DATE_FORMATTER>;
v = virtualinvoke v.<java.util.Date: java.time.Instant toInstant()>();
v = virtualinvoke v.<java.time.format.DateTimeFormatter: java.lang.String format(java.time.temporal.TemporalAccessor)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return 1;
}
private static boolean isMaybeRecursive(java.lang.Object)
{
java.lang.Class v;
java.lang.Object v;
boolean v, v, v, v;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v != 0 goto label;
v = v instanceof java.util.Map;
if v != 0 goto label;
v = v instanceof java.util.Collection;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static void appendPotentiallyRecursiveValue(java.lang.Object, java.lang.StringBuilder, java.util.Set)
{
java.util.Set v;
java.lang.IllegalArgumentException v;
java.lang.Class v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
boolean v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.Set;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void appendArray(java.lang.Object,java.lang.StringBuilder,java.util.Set,java.lang.Class)>(v, v, v, v);
goto label;
label:
v = v instanceof java.util.Map;
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void appendMap(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
goto label;
label:
v = v instanceof java.util.Collection;
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void appendCollection(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("was expecting a container, found \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private static void appendArray(java.lang.Object, java.lang.StringBuilder, java.util.Set, java.lang.Class)
{
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Set v, v, v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.StringBuilder v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.Set;
v := @parameter: java.lang.Class;
if v != class "[B" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(byte[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[S" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(short[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[I" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(int[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[J" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(long[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[F" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(float[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[D" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(double[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[Z" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(boolean[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v != class "[C" goto label;
v = staticinvoke <java.util.Arrays: java.lang.String toString(char[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set getOrCreateDejaVu(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.lang.String identityToString(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[...");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("...]");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(91);
v = 1;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set cloneDejaVu(java.util.Set)>(v);
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(93);
label:
return;
}
private static void appendMap(java.lang.Object, java.lang.StringBuilder, java.util.Set)
{
java.lang.String v;
boolean v, v, v, v;
java.util.Iterator v;
java.util.Set v, v, v, v, v;
java.lang.Object v, v, v, v;
java.lang.StringBuilder v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.Set;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set getOrCreateDejaVu(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.lang.String identityToString(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[...");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("...]");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(123);
v = 1;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set cloneDejaVu(java.util.Set)>(v);
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(61);
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set cloneDejaVu(java.util.Set)>(v);
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(125);
label:
return;
}
private static void appendCollection(java.lang.Object, java.lang.StringBuilder, java.util.Set)
{
java.util.Iterator v;
java.util.Set v, v, v;
java.lang.Object v, v;
java.lang.StringBuilder v, v, v;
java.lang.String v;
boolean v, v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.Set;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set getOrCreateDejaVu(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.lang.String identityToString(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[...");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("...]");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(91);
v = 1;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set cloneDejaVu(java.util.Set)>(v);
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set)>(v, v, v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(93);
label:
return;
}
private static java.util.Set getOrCreateDejaVu(java.util.Set)
{
java.util.Set v, v;
v := @parameter: java.util.Set;
if v != null goto label;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set createDejaVu()>();
goto label;
label:
v = v;
label:
return v;
}
private static java.util.Set createDejaVu()
{
java.util.Set v;
java.util.IdentityHashMap v;
v = new java.util.IdentityHashMap;
specialinvoke v.<java.util.IdentityHashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Set newSetFromMap(java.util.Map)>(v);
return v;
}
private static java.util.Set cloneDejaVu(java.util.Set)
{
java.util.Set v, v;
v := @parameter: java.util.Set;
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.util.Set createDejaVu()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
return v;
}
private static void tryObjectToString(java.lang.Object, java.lang.StringBuilder)
{
java.lang.Throwable v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: void handleErrorInObjectToString(java.lang.Object,java.lang.StringBuilder,java.lang.Throwable)>(v, v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static void handleErrorInObjectToString(java.lang.Object, java.lang.StringBuilder, java.lang.Throwable)
{
java.lang.Throwable v;
java.lang.Class v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.Throwable;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[!!!");
v = staticinvoke <org.apache.logging.log4j.message.ParameterFormatter: java.lang.String identityToString(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("=>");
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(":");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("!!!]");
return;
}
static java.lang.String identityToString(java.lang.Object)
{
int v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v, v;
v := @parameter: java.lang.Object;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.lang.System: int identityHashCode(java.lang.Object)>(v);
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001@\u0001");
return v;
}
static void <clinit>()
{
java.time.ZoneId v;
java.time.format.DateTimeFormatter v, v;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String)>("yyyy-MM-dd\'T\'HH:mm:ss.SSSZ");
v = staticinvoke <java.time.ZoneId: java.time.ZoneId systemDefault()>();
v = virtualinvoke v.<java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter withZone(java.time.ZoneId)>(v);
<org.apache.logging.log4j.message.ParameterFormatter: java.time.format.DateTimeFormatter DATE_FORMATTER> = v;
return;
}
}