public class oadd.com.fasterxml.jackson.databind.util.ISO8601Utils extends java.lang.Object
{
protected static final int DEF_8601_LEN;
private static final java.util.TimeZone TIMEZONE_Z;
public void <init>()
{
oadd.com.fasterxml.jackson.databind.util.ISO8601Utils v;
v := @this: oadd.com.fasterxml.jackson.databind.util.ISO8601Utils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.String format(java.util.Date)
{
java.lang.String v;
java.util.Date v;
java.util.TimeZone v;
v := @parameter: java.util.Date;
v = <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_Z>;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.lang.String format(java.util.Date,boolean,java.util.TimeZone)>(v, 0, v);
return v;
}
public static java.lang.String format(java.util.Date, boolean)
{
java.util.Date v;
java.util.TimeZone v;
java.lang.String v;
boolean v;
v := @parameter: java.util.Date;
v := @parameter: boolean;
v = <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_Z>;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.lang.String format(java.util.Date,boolean,java.util.TimeZone)>(v, v, v);
return v;
}
public static java.lang.String format(java.util.Date, boolean, java.util.TimeZone)
{
java.util.Date v;
java.util.Locale v;
java.util.TimeZone v;
java.lang.String v;
boolean v;
v := @parameter: java.util.Date;
v := @parameter: boolean;
v := @parameter: java.util.TimeZone;
v = <java.util.Locale: java.util.Locale US>;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.lang.String format(java.util.Date,boolean,java.util.TimeZone,java.util.Locale)>(v, v, v, v);
return v;
}
public static java.lang.String format(java.util.Date, boolean, java.util.TimeZone, java.util.Locale)
{
java.util.Date v;
java.lang.Integer v, v, v, v, v, v, v, v, v;
java.lang.Character v;
java.util.Locale v;
boolean v;
java.util.GregorianCalendar v;
java.util.TimeZone v;
java.lang.StringBuilder v;
java.lang.Object[] v, v, v;
long v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
char v;
v := @parameter: java.util.Date;
v := @parameter: boolean;
v := @parameter: java.util.TimeZone;
v := @parameter: java.util.Locale;
v = new java.util.GregorianCalendar;
specialinvoke v.<java.util.GregorianCalendar: void <init>(java.util.TimeZone,java.util.Locale)>(v, v);
virtualinvoke v.<java.util.Calendar: void setTime(java.util.Date)>(v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(30);
v = newarray (java.lang.Object)[6];
v = virtualinvoke v.<java.util.Calendar: int get(int)>(1);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = virtualinvoke v.<java.util.Calendar: int get(int)>(2);
v = v + 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<java.util.Calendar: int get(int)>(5);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = virtualinvoke v.<java.util.Calendar: int get(int)>(11);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[3] = v;
v = virtualinvoke v.<java.util.Calendar: int get(int)>(12);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[4] = v;
v = virtualinvoke v.<java.util.Calendar: int get(int)>(13);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[5] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%04d-%02d-%02dT%02d:%02d:%02d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.util.Calendar: int get(int)>(14);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>(".%03d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.util.Calendar: long getTimeInMillis()>();
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
if v == 0 goto label;
v = (int) 60000;
v = v / v;
v = v / 60;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
v = (int) 60000;
v = v / v;
v = v % 60;
v = staticinvoke <java.lang.Math: int abs(int)>(v);
v = newarray (java.lang.Object)[3];
if v >= 0 goto label;
v = 45;
goto label;
label:
v = 43;
label:
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%c%02d:%02d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(90);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.util.Date parse(java.lang.String, java.text.ParsePosition) throws java.text.ParseException
{
java.lang.IndexOutOfBoundsException v, v;
java.util.GregorianCalendar v, v;
java.lang.Exception v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Date v, v;
java.text.ParseException v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.util.TimeZone v;
java.text.ParsePosition v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v, v;
java.lang.IllegalArgumentException v;
java.lang.Class v;
v := @parameter: java.lang.String;
v := @parameter: java.text.ParsePosition;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = v + 4;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 45);
if v == 0 goto label;
v = v + 1;
label:
v = v + 2;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 45);
if v == 0 goto label;
v = v + 1;
label:
v = v + 2;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = 0;
v = 0;
v = 0;
v = 0;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 84);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v > v goto label;
v = new java.util.GregorianCalendar;
v = v - 1;
specialinvoke v.<java.util.GregorianCalendar: void <init>(int,int,int)>(v, v, v);
virtualinvoke v.<java.text.ParsePosition: void setIndex(int)>(v);
v = virtualinvoke v.<java.util.Calendar: java.util.Date getTime()>();
label:
return v;
label:
if v == 0 goto label;
v = v + 1;
v = v + 2;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 58);
if v == 0 goto label;
v = v + 1;
label:
v = v + 2;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 58);
if v == 0 goto label;
v = v + 1;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 90 goto label;
if v == 43 goto label;
if v == 45 goto label;
v = v;
v = v + 2;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
if v <= 59 goto label;
if v >= 63 goto label;
v = 59;
label:
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: boolean checkOffset(java.lang.String,int,char)>(v, v, 46);
if v == 0 goto label;
v = v + 1;
v = v + 1;
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int indexOfNonDigit(java.lang.String,int)>(v, v);
v = v + 3;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = staticinvoke <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = v - v;
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v * 10;
goto label;
label:
v = v * 100;
goto label;
label:
v = v;
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v > v goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("No time zone indicator");
throw v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 90 goto label;
v = <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_Z>;
v = v + 1;
goto label;
label:
if v == 43 goto label;
if v != 45 goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = "+0000";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "+00:00";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = <oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_Z>;
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("GMT\u0001");
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>(v);
v = virtualinvoke v.<java.util.TimeZone: java.lang.String getID()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(":", "");
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IndexOutOfBoundsException;
v = virtualinvoke v.<java.util.TimeZone: java.lang.String getID()>();
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[])>("Mismatching time zone indicator: \u given, resolves to \u0001");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.lang.IndexOutOfBoundsException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (char)>(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[])>("Invalid time zone indicator \'\u0001\'");
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.util.GregorianCalendar;
specialinvoke v.<java.util.GregorianCalendar: void <init>(java.util.TimeZone)>(v);
virtualinvoke v.<java.util.Calendar: void setLenient(boolean)>(0);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(1, v);
v = v - 1;
virtualinvoke v.<java.util.Calendar: void set(int,int)>(2, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(5, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(11, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(12, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(13, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(14, v);
virtualinvoke v.<java.text.ParsePosition: void setIndex(int)>(v);
v = virtualinvoke v.<java.util.Calendar: java.util.Date getTime()>();
label:
return v;
label:
v := @caughtexception;
if v != null goto label;
v = null;
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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\"");
label:
v = v;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("(\u)");
label:
v = new java.text.ParseException;
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[])>("Failed to parse date \u0001: \u0001");
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
specialinvoke v.<java.text.ParseException: void <init>(java.lang.String,int)>(v, v);
virtualinvoke v.<java.text.ParseException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private static boolean checkOffset(java.lang.String, int, char)
{
int v, v;
char v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: char;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static int parseInt(java.lang.String, int, int) throws java.lang.NumberFormatException
{
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
char v, v;
java.lang.NumberFormatException v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v > v goto label;
if v <= v goto label;
label:
v = new java.lang.NumberFormatException;
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v;
v = 0;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: int digit(char,int)>(v, 10);
if v >= 0 goto label;
v = new java.lang.NumberFormatException;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Invalid number: \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = neg v;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: int digit(char,int)>(v, 10);
if v >= 0 goto label;
v = new java.lang.NumberFormatException;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Invalid number: \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v * 10;
v = v - v;
goto label;
label:
v = neg v;
return v;
}
private static int indexOfNonDigit(java.lang.String, int)
{
int v, v, v, v;
char v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v < 48 goto label;
if v <= 57 goto label;
label:
return v;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
return v;
}
static void <clinit>()
{
int v;
java.lang.String v;
java.util.TimeZone v;
v = "yyyy-MM-ddThh:mm:ss.SSS+00:00";
v = virtualinvoke v.<java.lang.String: int length()>();
<oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: int DEF_8601_LEN> = v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("UTC");
<oadd.com.fasterxml.jackson.databind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_Z> = v;
return;
}
}