class org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef extends java.lang.Object implements org.springframework.expression.spel.ast.ValueRef
{
private final java.lang.Object targetObject;
private final java.lang.String name;
private final org.springframework.expression.EvaluationContext evaluationContext;
private final org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor;
final org.springframework.expression.spel.ast.Indexer this$0;
public void <init>(org.springframework.expression.spel.ast.Indexer, java.lang.Object, java.lang.String, org.springframework.expression.EvaluationContext, org.springframework.core.convert.TypeDescriptor)
{
org.springframework.expression.spel.ast.Indexer v;
org.springframework.core.convert.TypeDescriptor v;
java.lang.Object v;
java.lang.String v;
org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef v;
org.springframework.expression.EvaluationContext v;
v := @this: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef;
v := @parameter: org.springframework.expression.spel.ast.Indexer;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: org.springframework.expression.EvaluationContext;
v := @parameter: org.springframework.core.convert.TypeDescriptor;
v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject> = v;
v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name> = v;
v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext> = v;
v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor> = v;
return;
}
public org.springframework.expression.TypedValue getValue()
{
org.springframework.expression.PropertyAccessor v, v;
java.lang.reflect.Member v;
org.springframework.expression.spel.SpelEvaluationException v, v;
java.lang.Object[] v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.springframework.expression.TypedValue v, v;
org.springframework.expression.spel.SpelMessage v, v;
org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef v;
boolean v, v, v, v, v, v, v;
org.springframework.expression.AccessException v;
org.springframework.expression.EvaluationContext v, v, v, v, v;
java.util.List v, v;
org.springframework.expression.spel.ast.Indexer v, v, v, v, v, v, v, v, v, v, v, v;
org.springframework.core.convert.TypeDescriptor v, v;
int v, v;
java.util.Iterator v;
java.lang.Class v, v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = virtualinvoke v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class getObjectClass(java.lang.Object)>(v);
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedReadName>;
if v == null goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedReadName>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedReadTargetType>;
if v == null goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedReadTargetType>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: org.springframework.expression.PropertyAccessor cachedReadAccessor>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = interfaceinvoke v.<org.springframework.expression.PropertyAccessor: org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String)>(v, v, v);
label:
return v;
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = interfaceinvoke v.<org.springframework.expression.EvaluationContext: java.util.List getPropertyAccessors()>();
v = staticinvoke <org.springframework.expression.spel.ast.AstUtils: java.util.List getPropertyAccessorsToTry(java.lang.Class,java.util.List)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: 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()>();
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = interfaceinvoke v.<org.springframework.expression.PropertyAccessor: boolean canRead(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String)>(v, v, v);
if v == 0 goto label;
v = v instanceof org.springframework.expression.spel.support.ReflectivePropertyAccessor;
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = virtualinvoke v.<org.springframework.expression.spel.support.ReflectivePropertyAccessor: org.springframework.expression.PropertyAccessor createOptimalAccessor(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String)>(v, v, v);
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v.<org.springframework.expression.spel.ast.Indexer: org.springframework.expression.PropertyAccessor cachedReadAccessor> = v;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedReadName> = v;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedReadTargetType> = v;
v = v instanceof org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor;
if v == 0 goto label;
v = v.<org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor: java.lang.reflect.Member member>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v instanceof java.lang.reflect.Method;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getType()>();
label:
v = staticinvoke <org.springframework.expression.spel.CodeFlow: java.lang.String toDescriptor(java.lang.Class)>(v);
v.<org.springframework.expression.spel.ast.Indexer: java.lang.String exitTypeDescriptor> = v;
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = interfaceinvoke v.<org.springframework.expression.PropertyAccessor: org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.expression.spel.SpelEvaluationException;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = virtualinvoke v.<org.springframework.expression.spel.ast.Indexer: int getStartPosition()>();
v = <org.springframework.expression.spel.SpelMessage: org.springframework.expression.spel.SpelMessage INDEXING_NOT_SUPPORTED_FOR_TYPE>;
v = newarray (java.lang.Object)[1];
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor>;
v = virtualinvoke v.<org.springframework.core.convert.TypeDescriptor: java.lang.String toString()>();
v[0] = v;
specialinvoke v.<org.springframework.expression.spel.SpelEvaluationException: void <init>(int,java.lang.Throwable,org.springframework.expression.spel.SpelMessage,java.lang.Object[])>(v, v, v, v);
throw v;
label:
v = new org.springframework.expression.spel.SpelEvaluationException;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = virtualinvoke v.<org.springframework.expression.spel.ast.Indexer: int getStartPosition()>();
v = <org.springframework.expression.spel.SpelMessage: org.springframework.expression.spel.SpelMessage INDEXING_NOT_SUPPORTED_FOR_TYPE>;
v = newarray (java.lang.Object)[1];
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor>;
v = virtualinvoke v.<org.springframework.core.convert.TypeDescriptor: java.lang.String toString()>();
v[0] = v;
specialinvoke v.<org.springframework.expression.spel.SpelEvaluationException: void <init>(int,org.springframework.expression.spel.SpelMessage,java.lang.Object[])>(v, v, v);
throw v;
catch org.springframework.expression.AccessException from label to label with label;
catch org.springframework.expression.AccessException from label to label with label;
catch org.springframework.expression.AccessException from label to label with label;
}
public void setValue(java.lang.Object)
{
org.springframework.expression.PropertyAccessor v;
boolean v, v, v, v;
org.springframework.expression.AccessException v;
org.springframework.expression.EvaluationContext v, v, v, v;
java.util.List v, v;
org.springframework.expression.spel.SpelEvaluationException v;
java.lang.Object[] v;
org.springframework.expression.spel.ast.Indexer v, v, v, v, v, v, v, v, v, v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.springframework.expression.spel.SpelMessage v;
java.util.Iterator v;
org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef v;
java.lang.Class v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef;
v := @parameter: java.lang.Object;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = virtualinvoke v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class getObjectClass(java.lang.Object)>(v);
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedWriteName>;
if v == null goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedWriteName>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedWriteTargetType>;
if v == null goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedWriteTargetType>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer: org.springframework.expression.PropertyAccessor cachedWriteAccessor>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
interfaceinvoke v.<org.springframework.expression.PropertyAccessor: void write(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v, v);
label:
return;
label:
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = interfaceinvoke v.<org.springframework.expression.EvaluationContext: java.util.List getPropertyAccessors()>();
v = staticinvoke <org.springframework.expression.spel.ast.AstUtils: java.util.List getPropertyAccessorsToTry(java.lang.Class,java.util.List)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: 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()>();
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v = interfaceinvoke v.<org.springframework.expression.PropertyAccessor: boolean canWrite(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String)>(v, v, v);
if v == 0 goto label;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v.<org.springframework.expression.spel.ast.Indexer: java.lang.String cachedWriteName> = v;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v.<org.springframework.expression.spel.ast.Indexer: java.lang.Class cachedWriteTargetType> = v;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v.<org.springframework.expression.spel.ast.Indexer: org.springframework.expression.PropertyAccessor cachedWriteAccessor> = v;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.EvaluationContext evaluationContext>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.Object targetObject>;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
interfaceinvoke v.<org.springframework.expression.PropertyAccessor: void write(org.springframework.expression.EvaluationContext,java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v, v);
label:
return;
label:
v := @caughtexception;
v = new org.springframework.expression.spel.SpelEvaluationException;
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: org.springframework.expression.spel.ast.Indexer this$0>;
v = virtualinvoke v.<org.springframework.expression.spel.ast.Indexer: int getStartPosition()>();
v = <org.springframework.expression.spel.SpelMessage: org.springframework.expression.spel.SpelMessage EXCEPTION_DURING_PROPERTY_WRITE>;
v = newarray (java.lang.Object)[2];
v = v.<org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef: java.lang.String name>;
v[0] = v;
v = virtualinvoke v.<org.springframework.expression.AccessException: java.lang.String getMessage()>();
v[1] = v;
specialinvoke v.<org.springframework.expression.spel.SpelEvaluationException: void <init>(int,java.lang.Throwable,org.springframework.expression.spel.SpelMessage,java.lang.Object[])>(v, v, v, v);
throw v;
label:
return;
catch org.springframework.expression.AccessException from label to label with label;
catch org.springframework.expression.AccessException from label to label with label;
catch org.springframework.expression.AccessException from label to label with label;
}
public boolean isWritable()
{
org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef v;
v := @this: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef;
return 1;
}
}