public class org.springframework.expression.spel.ast.VariableReference extends org.springframework.expression.spel.ast.SpelNodeImpl
{
private static final java.lang.String THIS;
private static final java.lang.String ROOT;
private final java.lang.String name;
public void <init>(java.lang.String, int)
{
org.springframework.expression.spel.ast.VariableReference v;
int v;
java.lang.String v;
org.springframework.expression.spel.ast.SpelNodeImpl[] v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: java.lang.String;
v := @parameter: int;
v = newarray (org.springframework.expression.spel.ast.SpelNodeImpl)[0];
specialinvoke v.<org.springframework.expression.spel.ast.SpelNodeImpl: void <init>(int,org.springframework.expression.spel.ast.SpelNodeImpl[])>(v, v);
v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name> = v;
return;
}
public org.springframework.expression.spel.ast.ValueRef getValueRef(org.springframework.expression.spel.ExpressionState) throws org.springframework.expression.spel.SpelEvaluationException
{
org.springframework.expression.spel.ast.VariableReference v;
org.springframework.expression.spel.ast.ValueRef$TypedValueHolderValueRef v, v;
org.springframework.expression.EvaluationContext v;
org.springframework.expression.spel.ast.VariableReference$VariableRef v;
org.springframework.expression.spel.ExpressionState v;
java.lang.String v, v, v, v;
org.springframework.expression.TypedValue v, v, v;
boolean v, v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: org.springframework.expression.spel.ExpressionState;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("this");
if v == 0 goto label;
v = new org.springframework.expression.spel.ast.ValueRef$TypedValueHolderValueRef;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue getActiveContextObject()>();
specialinvoke v.<org.springframework.expression.spel.ast.ValueRef$TypedValueHolderValueRef: void <init>(org.springframework.expression.TypedValue,org.springframework.expression.spel.ast.SpelNodeImpl)>(v, v);
return v;
label:
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("root");
if v == 0 goto label;
v = new org.springframework.expression.spel.ast.ValueRef$TypedValueHolderValueRef;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue getRootContextObject()>();
specialinvoke v.<org.springframework.expression.spel.ast.ValueRef$TypedValueHolderValueRef: void <init>(org.springframework.expression.TypedValue,org.springframework.expression.spel.ast.SpelNodeImpl)>(v, v);
return v;
label:
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue lookupVariable(java.lang.String)>(v);
v = new org.springframework.expression.spel.ast.VariableReference$VariableRef;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.EvaluationContext getEvaluationContext()>();
specialinvoke v.<org.springframework.expression.spel.ast.VariableReference$VariableRef: void <init>(org.springframework.expression.spel.ast.VariableReference,java.lang.String,org.springframework.expression.TypedValue,org.springframework.expression.EvaluationContext)>(v, v, v, v);
return v;
}
public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState) throws org.springframework.expression.spel.SpelEvaluationException
{
int v;
java.lang.String v, v, v, v, v;
org.springframework.expression.TypedValue v, v, v;
boolean v, v, v;
org.springframework.expression.spel.ast.VariableReference v;
java.lang.Class v;
java.lang.Object v, v;
org.springframework.expression.spel.ExpressionState v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: org.springframework.expression.spel.ExpressionState;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("this");
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue getActiveContextObject()>();
return v;
label:
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("root");
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue getRootContextObject()>();
v = virtualinvoke v.<org.springframework.expression.TypedValue: java.lang.Object getValue()>();
v = staticinvoke <org.springframework.expression.spel.CodeFlow: java.lang.String toDescriptorFromObject(java.lang.Object)>(v);
v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor> = v;
return v;
label:
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<org.springframework.expression.spel.ExpressionState: org.springframework.expression.TypedValue lookupVariable(java.lang.String)>(v);
v = virtualinvoke v.<org.springframework.expression.TypedValue: java.lang.Object getValue()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v != 0 goto label;
label:
v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor> = "Ljava/lang/Object";
goto label;
label:
v = staticinvoke <org.springframework.expression.spel.CodeFlow: java.lang.String toDescriptorFromObject(java.lang.Object)>(v);
v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor> = v;
label:
return v;
}
public void setValue(org.springframework.expression.spel.ExpressionState, java.lang.Object) throws org.springframework.expression.spel.SpelEvaluationException
{
org.springframework.expression.spel.ast.VariableReference v;
java.lang.Object v;
org.springframework.expression.spel.ExpressionState v;
java.lang.String v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: org.springframework.expression.spel.ExpressionState;
v := @parameter: java.lang.Object;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
virtualinvoke v.<org.springframework.expression.spel.ExpressionState: void setVariable(java.lang.String,java.lang.Object)>(v, v);
return;
}
public java.lang.String toStringAST()
{
org.springframework.expression.spel.ast.VariableReference v;
java.lang.String v, v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
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[])>("#\u0001");
return v;
}
public boolean isWritable(org.springframework.expression.spel.ExpressionState) throws org.springframework.expression.spel.SpelEvaluationException
{
org.springframework.expression.spel.ast.VariableReference v;
org.springframework.expression.spel.ExpressionState v;
java.lang.String v, v;
boolean v, v, v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: org.springframework.expression.spel.ExpressionState;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("this");
if v != 0 goto label;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("root");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isCompilable()
{
org.springframework.expression.spel.ast.VariableReference v;
java.lang.String v;
boolean v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void generateCode(org.springframework.asm.MethodVisitor, org.springframework.expression.spel.CodeFlow)
{
org.springframework.expression.spel.ast.VariableReference v;
org.springframework.asm.MethodVisitor v;
java.lang.String v, v, v, v;
org.springframework.expression.spel.CodeFlow v;
boolean v;
v := @this: org.springframework.expression.spel.ast.VariableReference;
v := @parameter: org.springframework.asm.MethodVisitor;
v := @parameter: org.springframework.expression.spel.CodeFlow;
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("root");
if v == 0 goto label;
virtualinvoke v.<org.springframework.asm.MethodVisitor: void visitVarInsn(int,int)>(25, 1);
goto label;
label:
virtualinvoke v.<org.springframework.asm.MethodVisitor: void visitVarInsn(int,int)>(25, 2);
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String name>;
virtualinvoke v.<org.springframework.asm.MethodVisitor: void visitLdcInsn(java.lang.Object)>(v);
virtualinvoke v.<org.springframework.asm.MethodVisitor: void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean)>(185, "org/springframework/expression/EvaluationContext", "lookupVariable", "(Ljava/lang/String;)Ljava/lang/Object;", 1);
label:
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor>;
staticinvoke <org.springframework.expression.spel.CodeFlow: void insertCheckCast(org.springframework.asm.MethodVisitor,java.lang.String)>(v, v);
v = v.<org.springframework.expression.spel.ast.VariableReference: java.lang.String exitTypeDescriptor>;
virtualinvoke v.<org.springframework.expression.spel.CodeFlow: void pushDescriptor(java.lang.String)>(v);
return;
}
}