public class org.apache.ibatis.ognl.ListPropertyAccessor extends org.apache.ibatis.ognl.ObjectPropertyAccessor implements org.apache.ibatis.ognl.PropertyAccessor
{
public void <init>()
{
org.apache.ibatis.ognl.ListPropertyAccessor v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
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;
org.apache.ibatis.ognl.ListPropertyAccessor v;
java.util.ArrayList v;
int v, v, v, v, v, v;
java.lang.Boolean v;
boolean v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("size");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("iterator");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("isEmpty");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("empty");
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
goto label;
label:
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
label:
v = 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);
label:
return v;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: int intValue()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
return v;
label:
v = v instanceof org.apache.ibatis.ognl.DynamicSubscript;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
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:
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
goto label;
label:
v = null;
label:
return v;
label:
if v <= 0 goto label;
v = v / 2;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
goto label;
label:
v = null;
label:
return v;
label:
if v <= 0 goto label;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
goto label;
label:
v = null;
label:
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
return v;
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;
}
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;
org.apache.ibatis.ognl.ListPropertyAccessor v;
org.apache.ibatis.ognl.OgnlException v;
int v, v, v, v, v;
boolean v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
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.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("$");
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);
return;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Number: int intValue()>();
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
return;
label:
v = v instanceof org.apache.ibatis.ognl.DynamicSubscript;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
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:
if v <= 0 goto label;
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(0, v);
label:
return;
label:
if v <= 0 goto label;
v = v / 2;
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
label:
return;
label:
if v <= 0 goto label;
v = v - 1;
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
label:
return;
label:
v = v instanceof java.util.Collection;
if v != 0 goto label;
v = new org.apache.ibatis.ognl.OgnlException;
specialinvoke v.<org.apache.ibatis.ognl.OgnlException: void <init>(java.lang.String)>("Value must be a collection");
throw v;
label:
interfaceinvoke v.<java.util.List: void clear()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
return;
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;
}
public java.lang.Class getPropertyClass(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object)
{
org.apache.ibatis.ognl.OgnlContext v;
org.apache.ibatis.ognl.ListPropertyAccessor v;
int v;
java.lang.Class v, v, v;
java.lang.Object v, v;
java.lang.String v;
boolean v, v, v, v, v, v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
v := @parameter: org.apache.ibatis.ognl.OgnlContext;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(34);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\"", "");
goto label;
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("size");
if v == 0 goto label;
v = <java.lang.Integer: java.lang.Class TYPE>;
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("iterator");
if v == 0 goto label;
return class "Ljava/util/Iterator;";
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("isEmpty");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("empty");
if v == 0 goto label;
label:
v = <java.lang.Boolean: java.lang.Class TYPE>;
return v;
label:
v = specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: java.lang.Class getPropertyClass(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
label:
v = v instanceof java.lang.Number;
if v == 0 goto label;
return class "Ljava/lang/Object;";
label:
return null;
}
public java.lang.String getSourceAccessor(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object)
{
org.apache.ibatis.ognl.ListPropertyAccessor v;
java.lang.reflect.Method v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.lang.Throwable v;
org.apache.ibatis.ognl.OgnlContext v;
int v;
java.lang.String v, v, v, v, v;
java.lang.RuntimeException v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
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.<java.lang.String: int indexOf(int)>(34);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\"", "");
label:
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("size");
if v == 0 goto label;
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(class "Ljava/util/List;");
v = <java.lang.Integer: java.lang.Class TYPE>;
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(v);
return ".size()";
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("iterator");
if v == 0 goto label;
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(class "Ljava/util/List;");
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(class "Ljava/util/Iterator;");
return ".iterator()";
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("isEmpty");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("empty");
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(class "Ljava/util/List;");
v = <java.lang.Boolean: java.lang.Class TYPE>;
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(v);
return ".isEmpty()";
label:
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
v = v instanceof java.lang.Number;
if v != 0 goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.reflect.Method getReadMethod(java.lang.Class,java.lang.String)>(v, v);
if v == null goto label;
v = specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: java.lang.String getSourceAccessor(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.Object)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.apache.ibatis.ognl.OgnlOps: java.lang.RuntimeException castToRuntime(java.lang.Throwable)>(v);
throw v;
label:
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(class "Ljava/util/List;");
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:
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(class "Ljava/lang/Object;");
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[])>(".get(\u)");
return v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getSourceSetter(org.apache.ibatis.ognl.OgnlContext, java.lang.Object, java.lang.Object)
{
org.apache.ibatis.ognl.ListPropertyAccessor v;
java.lang.reflect.Method v;
boolean v, v, v, v, v, v, v;
java.lang.Throwable v;
org.apache.ibatis.ognl.OgnlContext v;
int v;
java.lang.String v, v, v, v, v;
java.lang.RuntimeException v;
java.lang.Class v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.ibatis.ognl.ListPropertyAccessor;
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.<java.lang.String: int indexOf(int)>(34);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\"", "");
label:
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: java.lang.Object getCurrentObject()>();
v = v instanceof java.lang.Number;
if v != 0 goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.ibatis.ognl.OgnlRuntime: java.lang.reflect.Method getWriteMethod(java.lang.Class,java.lang.String)>(v, v);
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;
label:
v = specialinvoke v.<org.apache.ibatis.ognl.ObjectPropertyAccessor: java.lang.String getSourceSetter(org.apache.ibatis.ognl.OgnlContext,java.lang.Object,java.lang.Object)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <org.apache.ibatis.ognl.OgnlOps: java.lang.RuntimeException castToRuntime(java.lang.Throwable)>(v);
throw v;
label:
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentAccessor(java.lang.Class)>(class "Ljava/util/List;");
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:
virtualinvoke v.<org.apache.ibatis.ognl.OgnlContext: void setCurrentType(java.lang.Class)>(class "Ljava/lang/Object;");
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[])>(".set(\u, $3)");
return v;
catch java.lang.Throwable from label to label with label;
}
}