public class org.apache.hive.common.util.ReflectionUtil extends java.lang.Object
{
private static final com.google.common.cache.Cache CONSTRUCTOR_CACHE;
private static final java.lang.Class[] EMPTY_ARRAY;
private static final java.lang.Class jobConfClass;
private static final java.lang.Class jobConfigurableClass;
private static final java.lang.reflect.Method configureMethod;
public void <init>()
{
org.apache.hive.common.util.ReflectionUtil v;
v := @this: org.apache.hive.common.util.ReflectionUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.lang.Object newInstance(java.lang.Class, org.apache.hadoop.conf.Configuration)
{
java.lang.Object[] v;
java.lang.Class[] v;
java.lang.RuntimeException v;
java.lang.Exception v;
org.apache.hadoop.conf.Configuration v;
java.lang.Class v;
java.lang.Object v, v;
com.google.common.cache.Cache v, v;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.hadoop.conf.Configuration;
label:
v = <org.apache.hive.common.util.ReflectionUtil: com.google.common.cache.Cache CONSTRUCTOR_CACHE>;
v = interfaceinvoke v.<com.google.common.cache.Cache: java.lang.Object getIfPresent(java.lang.Object)>(v);
if v != null goto label;
v = <org.apache.hive.common.util.ReflectionUtil: java.lang.Class[] EMPTY_ARRAY>;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
virtualinvoke v.<java.lang.reflect.Constructor: void setAccessible(boolean)>(1);
v = <org.apache.hive.common.util.ReflectionUtil: com.google.common.cache.Cache CONSTRUCTOR_CACHE>;
interfaceinvoke v.<com.google.common.cache.Cache: void put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
staticinvoke <org.apache.hive.common.util.ReflectionUtil: void setConf(java.lang.Object,org.apache.hadoop.conf.Configuration)>(v, v);
return v;
catch java.lang.Exception from label to label with label;
}
public static void setConf(java.lang.Object, org.apache.hadoop.conf.Configuration)
{
java.lang.Object v;
boolean v;
org.apache.hadoop.conf.Configuration v;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.hadoop.conf.Configuration;
if v == null goto label;
v = v instanceof org.apache.hadoop.conf.Configurable;
if v == 0 goto label;
interfaceinvoke v.<org.apache.hadoop.conf.Configurable: void setConf(org.apache.hadoop.conf.Configuration)>(v);
label:
staticinvoke <org.apache.hive.common.util.ReflectionUtil: void setJobConf(java.lang.Object,org.apache.hadoop.conf.Configuration)>(v, v);
label:
return;
}
private static void setJobConf(java.lang.Object, org.apache.hadoop.conf.Configuration)
{
java.lang.Object[] v;
java.lang.RuntimeException v;
java.lang.Exception v;
org.apache.hadoop.conf.Configuration v;
java.lang.Class v, v, v, v;
java.lang.Object v;
java.lang.reflect.Method v, v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.hadoop.conf.Configuration;
v = <org.apache.hive.common.util.ReflectionUtil: java.lang.reflect.Method configureMethod>;
if v != null goto label;
return;
label:
v = <org.apache.hive.common.util.ReflectionUtil: java.lang.Class jobConfClass>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = <org.apache.hive.common.util.ReflectionUtil: java.lang.Class jobConfigurableClass>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = <org.apache.hive.common.util.ReflectionUtil: java.lang.reflect.Method configureMethod>;
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error in configuring object", v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
public static void setField(java.lang.Object, java.lang.String, java.lang.Object)
{
java.lang.Object[] v;
java.lang.ReflectiveOperationException v;
java.lang.RuntimeException v;
java.lang.reflect.Field v;
java.lang.Class v, v;
java.lang.Object v, v;
java.lang.String v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>(v);
virtualinvoke v.<java.lang.reflect.Field: void setAccessible(boolean)>(1);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cannot set field %s in object %s", v);
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.NoSuchFieldException from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
}
public static void setInAllFields(java.lang.Object, java.lang.String, java.lang.Object)
{
java.lang.Object[] v;
java.lang.ReflectiveOperationException v;
java.util.function.Supplier v;
java.lang.String v, v;
java.util.function.Predicate v;
java.lang.RuntimeException v;
java.lang.reflect.Field[] v;
java.util.stream.Stream v, v;
java.util.Optional v;
java.lang.Class v, v;
java.lang.Object v, v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.lang.reflect.FieldUtils: java.lang.reflect.Field[] getAllFields(java.lang.Class)>(v);
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.apache.hive.common.util.ReflectionUtil$lambda_setInAllFields_0__16: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <org.apache.hive.common.util.ReflectionUtil$init__17: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
virtualinvoke v.<java.lang.reflect.Field: void setAccessible(boolean)>(1);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cannot set field %s in object %s", v);
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.NoSuchFieldException from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
}
static void <clinit>()
{
java.lang.Throwable v;
java.lang.Class[] v, v;
java.util.concurrent.TimeUnit v;
java.lang.Class v, v;
com.google.common.cache.CacheBuilder v, v, v, v, v;
com.google.common.cache.Cache v;
java.lang.reflect.Method v;
v = staticinvoke <com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder newBuilder()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MINUTES>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder expireAfterAccess(long,java.util.concurrent.TimeUnit)>(15L, v);
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder concurrencyLevel(int)>(64);
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder weakKeys()>();
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder weakValues()>();
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Cache build()>();
<org.apache.hive.common.util.ReflectionUtil: com.google.common.cache.Cache CONSTRUCTOR_CACHE> = v;
v = newarray (java.lang.Class)[0];
<org.apache.hive.common.util.ReflectionUtil: java.lang.Class[] EMPTY_ARRAY> = v;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.hadoop.mapred.JobConf");
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("org.apache.hadoop.mapred.JobConfigurable");
v = newarray (java.lang.Class)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("configure", v);
label:
goto label;
label:
v := @caughtexception;
v = null;
v = null;
v = null;
label:
<org.apache.hive.common.util.ReflectionUtil: java.lang.Class jobConfClass> = v;
<org.apache.hive.common.util.ReflectionUtil: java.lang.Class jobConfigurableClass> = v;
<org.apache.hive.common.util.ReflectionUtil: java.lang.reflect.Method configureMethod> = v;
return;
catch java.lang.Throwable from label to label with label;
}
}