public class org.apache.ibatis.ognl.ArrayPropertyAccessor extends org.apache.ibatis.ognl.ObjectPropertyAccessor implements org.apache.ibatis.ognl.PropertyAccessor
{
public void <init>()
{
org.apache.ibatis.ognl.ArrayPropertyAccessor v;
v := @this: org.apache.ibatis.ognl.ArrayPropertyAccessor;
specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: void <init>()>();
return;
}
public java.lang.Object getProperty(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object) throws org.apache.ibatis.ognl.OgnlException
{
org.apache.ibatis.ognl.OgnlContext v;
org.apache.ibatis.ognl.NoSuchPropertyException v;
byte v;
org.apache.ibatis.ognl.ArrayPropertyAccessor v;
int v, v, v, v, v, v, v, v;
boolean v, v, v, v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.ibatis.ognl.ArrayPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = null;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("length");
if v == 0 goto label;
v = staticinvoke <java.lang.reflect.Array: int getLength(java.lang.Object)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
v = specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: java.lang.Object getProperty(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.Object)>(v, v, v);
goto label;
label:
v = v;
v = v instanceof org.apache.ibatis.ognl.DynamicSubscript;
if v == 0 goto label;
v = staticinvoke <java.lang.reflect.Array: int getLength(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.ibatis.ognl.DynamicSubscript: int getFlag()>();
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = staticinvoke <java.lang.reflect.Array: java.lang.Object newInstance(java.lang.Class,int)>(v, v);
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
goto label;
label:
if v <= 0 goto label;
v = 0;
goto label;
label:
v = -1;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
if v <= 0 goto label;
v = v / 2;
goto label;
label:
v = (int) -1;
v = v;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
if v <= 0 goto label;
v = v - 1;
goto label;
label:
v = (int) -1;
v = v;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
label:
if v != null goto label;
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: int intValue()>();
if v < 0 goto label;
v = staticinvoke <java.lang.reflect.Array: java.lang.Object get(java.lang.Object,int)>(v, v);
goto label;
label:
v = null;
label:
v = v;
goto label;
label:
v = new org.apache.ibatis.ognl.NoSuchPropertyException;
specialinvoke v.<org.apache.ibatis.ognl.NoSuchPropertyException: void <init>(java.lang.Object,java.lang.Object)>(v, v);
throw v;
label:
return v;
}
public void setProperty(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object, java.lang.Object) throws org.apache.ibatis.ognl.OgnlException
{
org.apache.ibatis.ognl.OgnlContext v;
org.apache.ibatis.ognl.NoSuchPropertyException v;
byte v;
org.apache.ibatis.ognl.ArrayPropertyAccessor v;
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v;
org.apache.ibatis.ognl.TypeConverter v;
java.lang.Class v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.ibatis.ognl.ArrayPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.Number;
if v != 0 goto label;
v = v instanceof org.apache.ibatis.ognl.DynamicSubscript;
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: org.apache.ibatis.ognl.TypeConverter getTypeConverter()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = interfaceinvoke v.<org.apache.ibatis.ognl.TypeConverter: java.lang.Object convertValue(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.reflect.Member,java.lang.String,java.lang.Object,java.lang.Class)>(v, v, null, v, v, v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: int intValue()>();
if v < 0 goto label;
staticinvoke <java.lang.reflect.Array: void set(java.lang.Object,int,java.lang.Object)>(v, v, v);
goto label;
label:
v = staticinvoke <java.lang.reflect.Array: int getLength(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.ibatis.ognl.DynamicSubscript: int getFlag()>();
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
return;
label:
if v <= 0 goto label;
v = 0;
goto label;
label:
v = -1;
label:
staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
if v <= 0 goto label;
v = v / 2;
goto label;
label:
v = (int) -1;
v = v;
label:
staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
if v <= 0 goto label;
v = v - 1;
goto label;
label:
v = (int) -1;
v = v;
label:
staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
v = v instanceof java.lang.String;
if v == 0 goto label;
specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: void setProperty(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v, v);
goto label;
label:
v = new org.apache.ibatis.ognl.NoSuchPropertyException;
specialinvoke v.<org.apache.ibatis.ognl.NoSuchPropertyException: void <init>(java.lang.Object,java.lang.Object)>(v, v);
throw v;
label:
return;
}
public java.lang.String getSourceAccessor(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object)
{
org.apache.ibatis.ognl.OgnlContext v;
org.apache.ibatis.ognl.ArrayPropertyAccessor v;
java.lang.String v, v, v, v;
boolean v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.ibatis.ognl.ArrayPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = class "Ljava/lang/Number;";
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.String getNumericValueGetter(java.lang.Class)>(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[])>("\u.\u0001");
goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
if v == null goto label;
v = class "Ljava/lang/Number;";
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
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 = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
if v == class "Ljava/lang/Object;" goto label;
v = "";
goto label;
label:
v = ".toString()";
label:
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[])>("org.apache.ibatis.ognl.OgnlOps#getIntValue(\u0001\u)");
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(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[])>("[\u]");
return v;
}
public java.lang.String getSourceSetter(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object)
{
org.apache.ibatis.ognl.ArrayPropertyAccessor v;
boolean v, v, v, v, v, v, v;
org.apache.ibatis.ognl.OgnlContext v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.ibatis.ognl.ArrayPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = class "Ljava/lang/Number;";
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.String getNumericValueGetter(java.lang.Class)>(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[])>("\u.\u0001");
goto label;
label:
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
if v == null goto label;
v = class "Ljava/lang/Number;";
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
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 = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Class getCurrentType()>();
if v == class "Ljava/lang/Object;" goto label;
v = "";
goto label;
label:
v = ".toString()";
label:
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[])>("org.apache.ibatis.ognl.OgnlOps#getIntValue(\u0001\u)");
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.Class getPrimitiveWrapperClass(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.String getNumericValueGetter(java.lang.Class)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, 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[])>("[\u]=((\u)ognl.OgnlOps.convertValue($3,\u.class, true)).\u0001");
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("[\u]=ognl.OgnlOps.convertValue($3,\u.class)");
return v;
}
}