public class org.apache.drill.common.Typifier extends java.lang.Object
{
private static final java.util.Locale defaultLocale;
private static final java.util.HashSet formats;
private static final java.util.HashSet dateFormats;
private static final char[] StringCharacters;
private static final java.lang.String[] falseAliases;
private static final java.lang.String[] trueAliases;
private static final char[] MathCharacters;
public void <init>()
{
org.apache.drill.common.Typifier v;
v := @this: org.apache.drill.common.Typifier;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.util.Map$Entry typify(java.lang.String)
{
java.util.Map$Entry v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.drill.common.Typifier: java.util.Map$Entry typify(java.lang.String,boolean,boolean,boolean,boolean)>(v, 0, 1, 1, 1);
return v;
}
public static java.util.Map$Entry typify(java.lang.String, boolean, boolean, boolean, boolean)
{
byte v;
java.time.LocalDateTime v;
long v;
short v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v, v, v, v, v, v;
java.util.AbstractMap$SimpleEntry v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char[] v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.time.LocalDate v;
float v;
java.lang.String[] v, v, v, v;
int v, v, v, v, v;
double v;
char v;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Object;", null);
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/String;", v);
return v;
label:
if v != 0 goto label;
v = <org.apache.drill.common.Typifier: java.lang.String[] falseAliases>;
v = staticinvoke <org.apache.drill.common.Typifier: boolean contains(java.lang.Object[],java.lang.Object)>(v, v);
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "false");
return v;
label:
v = <org.apache.drill.common.Typifier: java.lang.String[] trueAliases>;
v = staticinvoke <org.apache.drill.common.Typifier: boolean contains(java.lang.Object[],java.lang.Object)>(v, v);
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "true");
return v;
label:
v = <org.apache.drill.common.Typifier: char[] StringCharacters>;
v = staticinvoke <org.apache.drill.common.Typifier: boolean containsAny(java.lang.CharSequence,char[])>(v, v);
if v != 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("0");
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "false");
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1");
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "true");
return v;
label:
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 102 goto label;
if v != 70 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 108 goto label;
if v != 76 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
label:
v = staticinvoke <java.lang.Byte: byte parseByte(java.lang.String)>(v);
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Byte: java.lang.String toString(byte)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Byte;", v);
label:
return v;
label:
v := @caughtexception;
label:
v = staticinvoke <java.lang.Short: short parseShort(java.lang.String)>(v);
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Short: java.lang.String toString(short)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Short;", v);
label:
return v;
label:
v := @caughtexception;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Integer;", v);
label:
return v;
label:
v := @caughtexception;
v = v;
if v == 0 goto label;
if v <= 1 goto label;
if v == 0 goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Long;", v);
label:
return v;
label:
v := @caughtexception;
if v != 0 goto label;
if v != 0 goto label;
label:
v = staticinvoke <java.lang.Float: float parseFloat(java.lang.String)>(v);
v = staticinvoke <java.lang.Float: boolean isInfinite(float)>(v);
if v != 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Float: java.lang.String toString(float)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Float;", v);
label:
return v;
label:
v := @caughtexception;
label:
if v != 0 goto label;
if v != 0 goto label;
label:
v = staticinvoke <java.lang.Double: double parseDouble(java.lang.String)>(v);
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
v = staticinvoke <java.lang.Double: java.lang.String toString(double)>(v);
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Double;", v);
label:
return v;
label:
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/String;", v);
label:
return v;
label:
v := @caughtexception;
label:
if v == 0 goto label;
v = <org.apache.drill.common.Typifier: java.lang.String[] falseAliases>;
v = staticinvoke <org.apache.drill.common.Typifier: boolean contains(java.lang.Object[],java.lang.Object)>(v, v);
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "false");
return v;
label:
v = <org.apache.drill.common.Typifier: java.lang.String[] trueAliases>;
v = staticinvoke <org.apache.drill.common.Typifier: boolean contains(java.lang.Object[],java.lang.Object)>(v, v);
if v == 0 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Boolean;", "true");
return v;
label:
if v != 0 goto label;
if v != 1 goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/Character;", v);
return v;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.drill.common.Typifier: java.time.LocalDateTime stringAsDateTime(java.lang.String)>(v);
if v == null goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/time/LocalDateTime;", v);
return v;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.drill.common.Typifier: java.time.LocalDate stringAsDate(java.lang.String)>(v);
if v == null goto label;
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/time/LocalDate;", v);
return v;
label:
v = new java.util.AbstractMap$SimpleEntry;
specialinvoke v.<java.util.AbstractMap$SimpleEntry: void <init>(java.lang.Object,java.lang.Object)>(class "Ljava/lang/String;", v);
return v;
catch java.lang.NumberFormatException 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.NumberFormatException 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.NumberFormatException from label to label with label;
}
private static java.time.LocalDateTime stringAsDateTime(java.lang.String)
{
java.util.HashSet v;
java.time.format.DateTimeParseException v;
java.util.Iterator v;
java.time.LocalDateTime v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = <org.apache.drill.common.Typifier: java.util.HashSet formats>;
v = virtualinvoke v.<java.util.HashSet: 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()>();
label:
v = staticinvoke <java.time.LocalDateTime: java.time.LocalDateTime parse(java.lang.CharSequence,java.time.format.DateTimeFormatter)>(v, v);
label:
return v;
label:
v := @caughtexception;
goto label;
label:
return null;
catch java.time.format.DateTimeParseException from label to label with label;
}
private static java.time.LocalDate stringAsDate(java.lang.String)
{
java.util.HashSet v;
java.time.format.DateTimeParseException v;
java.util.Iterator v;
java.time.LocalDate v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = <org.apache.drill.common.Typifier: java.util.HashSet dateFormats>;
v = virtualinvoke v.<java.util.HashSet: 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()>();
label:
v = staticinvoke <java.time.LocalDate: java.time.LocalDate parse(java.lang.CharSequence,java.time.format.DateTimeFormatter)>(v, v);
label:
return v;
label:
v := @caughtexception;
goto label;
label:
return null;
catch java.time.format.DateTimeParseException from label to label with label;
}
public static boolean containsAny(java.lang.CharSequence, java.lang.CharSequence)
{
java.lang.CharSequence v, v;
char v, v;
int v, v, v, v, v, v;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.lang.CharSequence;
if v == null goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v == 0 goto label;
if v == null goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v != 0 goto label;
label:
return 0;
label:
v = 0;
label:
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v >= v goto label;
v = 0;
label:
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != v goto label;
return 1;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return 0;
}
public static boolean containsAny(java.lang.CharSequence, char[])
{
java.lang.CharSequence v;
java.nio.CharBuffer v;
char[] v;
boolean v;
v := @parameter: java.lang.CharSequence;
v := @parameter: char[];
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer wrap(char[])>(v);
v = staticinvoke <org.apache.drill.common.Typifier: boolean containsAny(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
return v;
}
public static boolean contains(java.lang.Object[], java.lang.Object)
{
java.lang.Object[] v;
int v, v;
java.lang.Object v, v;
boolean v;
v := @parameter: java.lang.Object[];
v := @parameter: java.lang.Object;
if v != null goto label;
return 0;
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
static void <clinit>()
{
java.util.Locale v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v;
java.lang.String[] v, v;
java.util.HashSet v, v;
java.time.format.DateTimeFormatter[] v, v;
java.time.format.DateTimeFormatter v, v, v, v, v, v, v, v, v, v, v;
char[] v, v;
v = new java.util.Locale;
specialinvoke v.<java.util.Locale: void <init>(java.lang.String)>("en");
<org.apache.drill.common.Typifier: java.util.Locale defaultLocale> = v;
v = new java.util.HashSet;
v = newarray (java.time.format.DateTimeFormatter)[5];
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("yyyy-MM-dd HH:mm:ss", v);
v[0] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("yyyy/MM/dd HH:mm:ss.SS", v);
v[1] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("MM/dd/yyyy hh:mm:ss a", v);
v[2] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("M/d/yy H:mm", v);
v[3] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("dd/MM/yyyy HH:mm:ss", v);
v[4] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
<org.apache.drill.common.Typifier: java.util.HashSet formats> = v;
v = new java.util.HashSet;
v = newarray (java.time.format.DateTimeFormatter)[6];
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("yyyy-MM-dd", v);
v[0] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("MM/dd/yyyy", v);
v[1] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("M/d/yy", v);
v[2] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("dd/MM/yyyy", v);
v[3] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("yyyy/MM/dd", v);
v[4] = v;
v = <org.apache.drill.common.Typifier: java.util.Locale defaultLocale>;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String,java.util.Locale)>("M d, yyyy", v);
v[5] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
<org.apache.drill.common.Typifier: java.util.HashSet dateFormats> = v;
v = newarray (char)[30];
v[0] = 32;
v[1] = 58;
v[2] = 110;
v[3] = 97;
v[4] = 116;
v[5] = 114;
v[6] = 111;
v[7] = 67;
v[8] = 105;
v[9] = 80;
v[10] = 68;
v[11] = 115;
v[12] = 99;
v[13] = 83;
v[14] = 117;
v[15] = 65;
v[16] = 109;
v[17] = 61;
v[18] = 79;
v[19] = 92;
v[20] = 100;
v[21] = 112;
v[22] = 84;
v[23] = 77;
v[24] = 103;
v[25] = 73;
v[26] = 98;
v[27] = 85;
v[28] = 104;
v[29] = 72;
<org.apache.drill.common.Typifier: char[] StringCharacters> = v;
v = newarray (java.lang.String)[3];
v[0] = "false";
v[1] = "False";
v[2] = "FALSE";
<org.apache.drill.common.Typifier: java.lang.String[] falseAliases> = v;
v = newarray (java.lang.String)[3];
v[0] = "true";
v[1] = "True";
v[2] = "TRUE";
<org.apache.drill.common.Typifier: java.lang.String[] trueAliases> = v;
v = newarray (char)[5];
v[0] = 43;
v[1] = 45;
v[2] = 47;
v[3] = 42;
v[4] = 61;
<org.apache.drill.common.Typifier: char[] MathCharacters> = v;
return;
}
}