public class nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator extends java.lang.Object implements java.io.Serializable
{
private static final org.apache.logging.log4j.Logger LOG;
private final boolean verbose;
private final java.lang.String requiredPatternText;
private final nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList;
private final java.lang.String fixedValue;
private void <init>()
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String requiredPatternText> = null;
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean verbose> = 0;
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String fixedValue> = null;
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList> = null;
return;
}
public void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext, nl.basjes.parse.useragent.analyze.Matcher, boolean)
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
java.util.Map v, v;
java.lang.String v, v;
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.Matcher v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v := @parameter: nl.basjes.parse.useragent.analyze.Matcher;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext: java.lang.String getText()>();
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String requiredPatternText> = v;
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean verbose> = v;
v = specialinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String calculateFixedValue(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v);
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String fixedValue> = v;
v = new nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: java.util.Map getLookups()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: java.util.Map getLookupSets()>();
specialinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.util.Map,java.util.Map,boolean)>(v, v, v, v);
v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList> = v;
return;
}
public boolean isEmpty()
{
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: boolean isEmpty()>();
return v;
}
public void destroy()
{
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: void destroy()>();
return;
}
public java.lang.String getFixedValue()
{
java.lang.String v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String fixedValue>;
return v;
}
private java.lang.String calculateFixedValue(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
java.lang.Object v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator$1 v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v = new nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator$1;
specialinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator$1: void <init>(nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator$1: java.lang.Object visit(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v);
return v;
}
public nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult evaluate(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult v;
org.apache.logging.log4j.Logger v, v, v, v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v;
java.lang.String v, v, v, v;
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v, v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean verbose>;
if v == 0 goto label;
v = <nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Evaluate: {} => {}", v, v);
v = <nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: org.apache.logging.log4j.Logger LOG>;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String requiredPatternText>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("Pattern : {}", v);
v = <nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: org.apache.logging.log4j.Logger LOG>;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("WalkList: {}", v);
label:
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult walk(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, v);
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean verbose>;
if v == 0 goto label;
v = <nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: org.apache.logging.log4j.Logger LOG>;
if v != null goto label;
v = "null";
goto label;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult: java.lang.String getValue()>();
label:
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("Evaluate: Result = {}", v);
label:
return v;
}
public boolean mustHaveMatches()
{
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: boolean mustHaveMatches()>();
return v;
}
public nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList getWalkListForUnitTesting()
{
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
return v;
}
public long pruneTrailingStepsThatCannotFail()
{
long v;
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList walkList>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList: long pruneTrailingStepsThatCannotFail()>();
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.Logger v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.Logger getLogger(java.lang.Class)>(class "Lnl/basjes/parse/useragent/analyze/treewalker/TreeExpressionEvaluator;");
<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: org.apache.logging.log4j.Logger LOG> = v;
return;
}
}