public class org.apache.camel.language.simple.SimpleExpressionParser extends org.apache.camel.language.simple.BaseSimpleParser
{
private java.util.Map cacheExpression;
public void <init>(java.lang.String)
{
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.camel.language.simple.BaseSimpleParser: void <init>(java.lang.String,boolean)>(v, 1);
return;
}
public void <init>(java.lang.String, boolean)
{
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v := @parameter: java.lang.String;
v := @parameter: boolean;
specialinvoke v.<org.apache.camel.language.simple.BaseSimpleParser: void <init>(java.lang.String,boolean)>(v, v);
return;
}
public void <init>(java.lang.String, boolean, java.util.Map)
{
java.util.Map v;
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: java.util.Map;
specialinvoke v.<org.apache.camel.language.simple.BaseSimpleParser: void <init>(java.lang.String,boolean)>(v, v);
v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.Map cacheExpression> = v;
return;
}
public org.apache.camel.Expression parseExpression()
{
org.apache.camel.language.simple.types.SimpleParserException v;
org.apache.camel.Expression v;
java.lang.Exception v;
int v, v;
org.apache.camel.language.simple.types.SimpleIllegalSyntaxException v, v;
java.lang.String v, v, v, v;
org.apache.camel.language.simple.SimpleExpressionParser v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void clear()>();
label:
v = virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.Expression doParseExpression()>();
label:
return v;
label:
v := @caughtexception;
v = new org.apache.camel.language.simple.types.SimpleIllegalSyntaxException;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.lang.String expression>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleParserException: int getIndex()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleParserException: java.lang.String getMessage()>();
specialinvoke v.<org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: void <init>(java.lang.String,int,java.lang.String,java.lang.Throwable)>(v, v, v, v);
throw v;
label:
v := @caughtexception;
v = new org.apache.camel.language.simple.types.SimpleIllegalSyntaxException;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.lang.String expression>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = (int) -1;
specialinvoke v.<org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: void <init>(java.lang.String,int,java.lang.String,java.lang.Throwable)>(v, v, v, v);
throw v;
catch org.apache.camel.language.simple.types.SimpleParserException from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected org.apache.camel.Expression doParseExpression()
{
org.apache.camel.Expression v, v;
org.apache.camel.language.simple.types.SimpleTokenType v;
org.apache.camel.language.simple.types.SimpleToken v;
java.util.List v;
int v;
java.lang.Object v;
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v, v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isEol()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void templateText()>();
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: boolean functionText()>();
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: boolean unaryOperator()>();
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
goto label;
label:
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void parseAndCreateAstModel()>();
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void prepareBlocks()>();
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void prepareUnaryExpressions()>();
v = specialinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List createExpressions()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <org.apache.camel.builder.ExpressionBuilder: org.apache.camel.Expression constantExpression(java.lang.Object)>("");
return v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
return v;
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.lang.String expression>;
v = staticinvoke <org.apache.camel.builder.ExpressionBuilder: org.apache.camel.Expression concatExpression(java.util.Collection,java.lang.String)>(v, v);
return v;
}
protected void parseAndCreateAstModel()
{
org.apache.camel.language.simple.ast.SimpleNode v;
java.util.Iterator v;
org.apache.camel.language.simple.ast.LiteralExpression v, v;
org.apache.camel.language.simple.types.SimpleTokenType v;
java.util.List v, v, v, v;
java.util.concurrent.atomic.AtomicInteger v;
java.lang.Object v;
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v, v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v = null;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List tokens>;
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 = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isEol()>();
if v != 0 goto label;
v = specialinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.ast.SimpleNode createNode(org.apache.camel.language.simple.types.SimpleToken,java.util.concurrent.atomic.AtomicInteger)>(v, v);
if v == null goto label;
if v == null goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = null;
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
if v != null goto label;
v = new org.apache.camel.language.simple.ast.LiteralExpression;
specialinvoke v.<org.apache.camel.language.simple.ast.LiteralExpression: void <init>(org.apache.camel.language.simple.types.SimpleToken)>(v);
v = v;
label:
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: java.lang.String getText()>();
interfaceinvoke v.<org.apache.camel.language.simple.ast.LiteralNode: void addText(java.lang.String)>(v);
goto label;
label:
if v == null goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private org.apache.camel.language.simple.ast.SimpleNode createNode(org.apache.camel.language.simple.types.SimpleToken, java.util.concurrent.atomic.AtomicInteger)
{
org.apache.camel.language.simple.types.SimpleTokenType v, v, v;
org.apache.camel.language.simple.types.SimpleToken v;
java.util.concurrent.atomic.AtomicInteger v;
java.util.Map v;
int v, v, v;
org.apache.camel.language.simple.ast.SimpleFunctionEnd v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v, v, v, v, v;
org.apache.camel.language.simple.ast.UnaryExpression v;
java.util.List v, v, v;
org.apache.camel.language.simple.ast.SimpleFunctionStart v;
java.lang.Object v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v := @parameter: org.apache.camel.language.simple.types.SimpleToken;
v := @parameter: java.util.concurrent.atomic.AtomicInteger;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionStart()>();
if v == 0 goto label;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
v = new org.apache.camel.language.simple.ast.SimpleFunctionStart;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.Map cacheExpression>;
specialinvoke v.<org.apache.camel.language.simple.ast.SimpleFunctionStart: void <init>(org.apache.camel.language.simple.types.SimpleToken,java.util.Map)>(v, v);
return v;
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionEnd()>();
if v == 0 goto label;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
v = new org.apache.camel.language.simple.ast.SimpleFunctionEnd;
specialinvoke v.<org.apache.camel.language.simple.ast.SimpleFunctionEnd: void <init>(org.apache.camel.language.simple.types.SimpleToken)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isUnary()>();
if v == 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof org.apache.camel.language.simple.ast.SimpleFunctionEnd;
if v == 0 goto label;
v = new org.apache.camel.language.simple.ast.UnaryExpression;
specialinvoke v.<org.apache.camel.language.simple.ast.UnaryExpression: void <init>(org.apache.camel.language.simple.types.SimpleToken)>(v);
return v;
label:
return null;
}
private java.util.List createExpressions()
{
java.util.Iterator v;
org.apache.camel.Expression v;
java.util.ArrayList v;
java.util.List v;
java.lang.Object v;
java.lang.String v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: java.util.List nodes>;
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.apache.camel.language.simple.SimpleExpressionParser: java.lang.String expression>;
v = interfaceinvoke v.<org.apache.camel.language.simple.ast.SimpleNode: org.apache.camel.Expression createExpression(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
protected void templateText()
{
org.apache.camel.language.simple.types.SimpleTokenType v, v, v;
org.apache.camel.language.simple.types.SimpleToken v, v, v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v, v, v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionStart()>();
if v != 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionEnd()>();
if v != 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isEol()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
goto label;
label:
return;
}
protected boolean functionText()
{
org.apache.camel.language.simple.types.SimpleTokenType v, v, v, v;
org.apache.camel.language.simple.types.SimpleToken v, v, v, v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v, v, v, v, v;
org.apache.camel.language.simple.types.TokenType v, v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v = <org.apache.camel.language.simple.types.TokenType: org.apache.camel.language.simple.types.TokenType functionStart>;
v = virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: boolean accept(org.apache.camel.language.simple.types.TokenType)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionEnd()>();
if v != 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isEol()>();
if v != 0 goto label;
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionStart()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: boolean functionText()>();
label:
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
goto label;
label:
v = v.<org.apache.camel.language.simple.SimpleExpressionParser: org.apache.camel.language.simple.types.SimpleToken token>;
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleToken: org.apache.camel.language.simple.types.SimpleTokenType getType()>();
v = virtualinvoke v.<org.apache.camel.language.simple.types.SimpleTokenType: boolean isFunctionStart()>();
if v != 0 goto label;
v = <org.apache.camel.language.simple.types.TokenType: org.apache.camel.language.simple.types.TokenType functionEnd>;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void expect(org.apache.camel.language.simple.types.TokenType)>(v);
label:
return 1;
label:
return 0;
}
protected boolean unaryOperator()
{
org.apache.camel.language.simple.types.TokenType v, v;
org.apache.camel.language.simple.SimpleExpressionParser v;
boolean v;
v := @this: org.apache.camel.language.simple.SimpleExpressionParser;
v = <org.apache.camel.language.simple.types.TokenType: org.apache.camel.language.simple.types.TokenType unaryOperator>;
v = virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: boolean accept(org.apache.camel.language.simple.types.TokenType)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void nextToken()>();
v = <org.apache.camel.language.simple.types.TokenType: org.apache.camel.language.simple.types.TokenType whiteSpace>;
virtualinvoke v.<org.apache.camel.language.simple.SimpleExpressionParser: void expect(org.apache.camel.language.simple.types.TokenType)>(v);
return 1;
label:
return 0;
}
}