public class oadd.com.google.gson.internal.bind.util.ISO8601Utils extends java.lang.Object
{
private static final java.lang.String UTC_ID;
private static final java.util.TimeZone TIMEZONE_UTC;
public void <init>()
{
oadd.com.google.gson.internal.bind.util.ISO8601Utils v;
v := @this: oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_UTC>;
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_UTC>;
v = staticinvoke <oadd.com.google.gson.internal.bind.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;
boolean v;
java.util.GregorianCalendar v;
java.util.TimeZone v;
java.lang.StringBuilder v;
long 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, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v;
v := @parameter: java.util.Date;
v := @parameter: boolean;
v := @parameter: java.util.TimeZone;
v = new java.util.GregorianCalendar;
v = <java.util.Locale: java.util.Locale US>;
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 = "yyyy-MM-ddThh:mm:ss";
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = ".sss";
v = virtualinvoke v.<java.lang.String: int length()>();
goto label;
label:
v = 0;
label:
v = v + v;
v = virtualinvoke v.<java.util.TimeZone: int getRawOffset()>();
if v != 0 goto label;
v = "Z";
v = virtualinvoke v.<java.lang.String: int length()>();
goto label;
label:
v = "+hh:mm";
v = virtualinvoke v.<java.lang.String: int length()>();
label:
v = v + v;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(1);
v = "yyyy";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(2);
v = v + 1;
v = "MM";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(5);
v = "dd";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(84);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(11);
v = "hh";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(12);
v = "mm";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(13);
v = "ss";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
v = virtualinvoke v.<java.util.Calendar: int get(int)>(14);
v = "sss";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, 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);
if v >= 0 goto label;
v = 45;
goto label;
label:
v = 43;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = "hh";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = "mm";
v = virtualinvoke v.<java.lang.String: int length()>();
staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: void padInt(java.lang.StringBuilder,int,int)>(v, v, 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, v;
java.util.GregorianCalendar v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v;
java.lang.RuntimeException 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, v;
char v, v;
java.lang.IllegalArgumentException v, v;
java.lang.Class v;
v := @parameter: java.lang.String;
v := @parameter: java.text.ParsePosition;
label:
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = v + 4;
v = staticinvoke <oadd.com.google.gson.internal.bind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = 0;
v = 0;
v = 0;
v = 0;
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: int parseInt(java.lang.String,int,int)>(v, v, v);
v = staticinvoke <oadd.com.google.gson.internal.bind.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.google.gson.internal.bind.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.google.gson.internal.bind.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.google.gson.internal.bind.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.google.gson.internal.bind.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.google.gson.internal.bind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_UTC>;
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()>();
if v < 5 goto label;
v = v;
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[])>("\u000100");
label:
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.google.gson.internal.bind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_UTC>;
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;
v = v;
goto label;
label:
v := @caughtexception;
v = v;
goto label;
label:
v := @caughtexception;
v = v;
label:
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 [\u]: \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.IndexOutOfBoundsException from label to label with label;
catch java.lang.IndexOutOfBoundsException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException 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 void padInt(java.lang.StringBuilder, int, int)
{
int v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
label:
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(48);
v = v - 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
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>()
{
java.util.TimeZone v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("UTC");
<oadd.com.google.gson.internal.bind.util.ISO8601Utils: java.util.TimeZone TIMEZONE_UTC> = v;
return;
}
}