public abstract class nl.basjes.parse.useragent.analyze.MatcherAction extends java.lang.Object implements java.io.Serializable
{
private java.lang.String matchExpression;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator;
private static final org.apache.logging.log4j.Logger LOG;
protected nl.basjes.parse.useragent.analyze.Matcher matcher;
private nl.basjes.parse.useragent.analyze.MatchesList matches;
protected boolean mustHaveMatches;
boolean verbose;
private boolean verbosePermanent;
private boolean verboseTemporary;
private static final java.util.Map CALCULATE_INFORM_PATH;
public void <init>()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches> = 0;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbose> = 0;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbosePermanent> = 0;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verboseTemporary> = 0;
return;
}
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator getEvaluatorForUnitTesting()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
return v;
}
boolean mustHaveMatches()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches>;
return v;
}
public void destroy()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: void destroy()>();
return;
}
private void setVerbose(boolean)
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v := @parameter: boolean;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: void setVerbose(boolean,boolean)>(v, 0);
return;
}
public final void setVerbose(boolean, boolean)
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v := @parameter: boolean;
v := @parameter: boolean;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbose> = v;
if v != 0 goto label;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbosePermanent> = v;
label:
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verboseTemporary> = v;
return;
}
public java.lang.String getMatchExpression()
{
java.lang.String v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: java.lang.String matchExpression>;
return v;
}
final void init(java.lang.String, nl.basjes.parse.useragent.analyze.Matcher)
{
java.lang.String v;
nl.basjes.parse.useragent.analyze.Matcher v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v := @parameter: java.lang.String;
v := @parameter: nl.basjes.parse.useragent.analyze.Matcher;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher> = v;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: java.lang.String matchExpression> = v;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: boolean getVerbose()>();
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: void setVerbose(boolean)>(v);
return;
}
public long initialize()
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v, v, v;
nl.basjes.parse.useragent.parser.UserAgentTreeWalkerLexer v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser v;
nl.basjes.parse.useragent.analyze.MatchesList v, v;
byte v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CodePointCharStream v;
int v;
java.lang.String v, v;
nl.basjes.parse.useragent.analyze.MatcherAction$InitErrorListener v;
boolean v, v, v, v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CommonTokenStream v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
nl.basjes.parse.useragent.analyze.MatcherAction$UnQuoteValues v;
nl.basjes.parse.useragent.analyze.Matcher v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = new nl.basjes.parse.useragent.analyze.MatcherAction$InitErrorListener;
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction$InitErrorListener: void <init>(nl.basjes.parse.useragent.analyze.MatcherAction)>(v);
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: java.lang.String matchExpression>;
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStreams: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CodePointCharStream fromString(java.lang.String)>(v);
v = new nl.basjes.parse.useragent.parser.UserAgentTreeWalkerLexer;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentTreeWalkerLexer: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStream)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentTreeWalkerLexer: void addErrorListener(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ANTLRErrorListener)>(v);
v = new nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CommonTokenStream;
specialinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CommonTokenStream: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenSource)>(v);
v = new nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenStream)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser: void addErrorListener(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ANTLRErrorListener)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext parseWalkerExpression(nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser)>(v);
v = new nl.basjes.parse.useragent.analyze.MatcherAction$UnQuoteValues;
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction$UnQuoteValues: void <init>()>();
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction$UnQuoteValues: java.lang.Object visit(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v);
v = new nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbose>;
specialinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,nl.basjes.parse.useragent.analyze.Matcher,boolean)>(v, v, v);
v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator> = v;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: java.lang.String getFixedValue()>();
if v == null goto label;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: void setFixedValue(java.lang.String)>(v);
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches> = 0;
v = new nl.basjes.parse.useragent.analyze.MatchesList;
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: void <init>(int)>(0);
v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches> = v;
return 0L;
label:
v = v instanceof nl.basjes.parse.useragent.analyze.MatcherFailIfFoundAction;
if v == 0 goto label;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches> = 0;
goto label;
label:
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean mustHaveMatches()>();
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches> = v;
label:
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction: int calculateInformPath(nl.basjes.parse.useragent.analyze.MatcherAction,java.lang.String,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v, "agent", v);
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches>;
if v == 0 goto label;
if v != 0 goto label;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches> = 0;
label:
v = 0;
if v <= 0 goto label;
v = 1;
label:
v = new nl.basjes.parse.useragent.analyze.MatchesList;
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: void <init>(int)>(v);
v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches> = v;
return v;
}
protected abstract nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext parseWalkerExpression(nl.basjes.parse.useragent.parser.UserAgentTreeWalkerParser);
protected abstract void setFixedValue(java.lang.String);
public void inform(java.lang.String, java.lang.String, nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.MatchesList v, v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v;
java.lang.String v, v;
nl.basjes.parse.useragent.analyze.Matcher v, v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: void receivedInput()>();
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches>;
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: boolean isEmpty()>();
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: void gotMyFirstStartingPoint()>();
label:
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: void add(java.lang.String,java.lang.String,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v, v, v);
return;
}
protected abstract void inform(java.lang.String, nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult);
boolean cannotBeValid()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v, v;
nl.basjes.parse.useragent.analyze.MatchesList v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches>;
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: boolean isEmpty()>();
return v;
label:
return 0;
}
public abstract boolean obtainResult();
boolean isValidWithoutMatches()
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v, v, v;
nl.basjes.parse.useragent.analyze.MatchesList v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: boolean isEmpty()>();
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: boolean mustHaveMatches()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
void processInformedMatches()
{
java.util.Iterator v;
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v, v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.MatchesList v;
nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult v, v;
java.lang.Object v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v, v;
java.lang.String v, v, v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: 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.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList$Match: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree getResult()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList$Match: java.lang.String getKey()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList$Match: java.lang.String getValue()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: 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)>(v, v, v);
if v == null goto label;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList$Match: java.lang.String getKey()>();
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: void inform(java.lang.String,nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult)>(v, v);
return;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean isValidWithoutMatches()>();
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = <nl.basjes.parse.useragent.utils.AntlrUtils: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree NULL_PARSE_TREE>;
v = virtualinvoke v.<nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator: 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)>(v, null, null);
if v == null goto label;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction: void inform(java.lang.String,nl.basjes.parse.useragent.analyze.treewalker.steps.WalkList$WalkResult)>(null, v);
label:
return;
}
private static int calculateInformPath(nl.basjes.parse.useragent.analyze.MatcherAction, java.lang.String, nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
java.util.Map v;
int v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
nl.basjes.parse.useragent.analyze.Matcher v, v;
v := @parameter: nl.basjes.parse.useragent.analyze.MatcherAction;
v := @parameter: java.lang.String;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
if v != null goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: void informMeAbout(nl.basjes.parse.useragent.analyze.MatcherAction,java.lang.String)>(v, v);
return 1;
label:
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction: int calculateInformPath(nl.basjes.parse.useragent.analyze.MatcherAction,java.lang.String,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v, v, v);
return v;
label:
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.Matcher matcher>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.Matcher: void informMeAbout(nl.basjes.parse.useragent.analyze.MatcherAction,java.lang.String)>(v, v);
return 1;
}
public void reset()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
boolean v, v;
nl.basjes.parse.useragent.analyze.MatchesList v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatchesList: void clear()>();
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verboseTemporary>;
if v == 0 goto label;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbosePermanent>;
v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbose> = v;
label:
return;
}
public nl.basjes.parse.useragent.analyze.MatchesList getMatches()
{
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.MatchesList v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
return v;
}
public java.lang.String toString()
{
nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator v;
nl.basjes.parse.useragent.analyze.MatcherAction v;
nl.basjes.parse.useragent.analyze.MatchesList v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: nl.basjes.parse.useragent.analyze.MatcherAction;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: java.lang.String matchExpression>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator evaluator>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: nl.basjes.parse.useragent.analyze.MatchesList matches>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean mustHaveMatches>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbose>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verbosePermanent>;
v = v.<nl.basjes.parse.useragent.analyze.MatcherAction: boolean verboseTemporary>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,nl.basjes.parse.useragent.analyze.treewalker.TreeExpressionEvaluator,nl.basjes.parse.useragent.analyze.MatchesList,boolean,boolean,boolean,boolean)>(v, v, v, v, v, 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[])>("MatcherAction{matchExpression=\'\u0001\', evaluator=\u, matches=\u, mustHaveMatches=\u, verbose=\u, verbosePermanent=\u, verboseTemporary=\u0001}");
return v;
}
static void <clinit>()
{
java.util.Map v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.logging.log4j.Logger v;
nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.HashMap v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.Logger getLogger(java.lang.Class)>(class "Lnl/basjes/parse/useragent/analyze/MatcherAction;");
<nl.basjes.parse.useragent.analyze.MatcherAction: org.apache.logging.log4j.Logger LOG> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
<nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH> = v;
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_0__54: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherBaseContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_1__55: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsNullContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_2__56: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$IsSyntaxErrorContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_3__57: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherExtractContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_4__58: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherVariableContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_5__59: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_6__60: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherConcatContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_7__61: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherConcatPrefixContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_8__62: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherConcatPostfixContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_9__63: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherNormalizeBrandContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_10__64: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherExtractBrandFromUrlContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_11__65: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherCleanVersionContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_12__66: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherIsValidVersionContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_13__67: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherReplaceStringContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_14__68: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathLookupContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_15__69: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsInLookupContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_16__70: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathLookupContainsContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_17__71: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsInLookupContainsContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_18__72: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsNotInLookupContainsContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_19__73: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathLookupPrefixContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_20__74: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsInLookupPrefixContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_21__75: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherPathIsNotInLookupPrefixContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_22__76: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherDefaultIfNullContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_23__77: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherWordRangeContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_24__78: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$MatcherSegmentRangeContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_25__79: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$PathVariableContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_26__80: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$PathWalkContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_27__81: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$StepDownContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_28__82: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$StepEqualsValueContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_29__83: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$StepStartsWithValueContext;", v);
v = <nl.basjes.parse.useragent.analyze.MatcherAction: java.util.Map CALCULATE_INFORM_PATH>;
v = staticinvoke <nl.basjes.parse.useragent.analyze.MatcherAction$lambda_static_30__84: nl.basjes.parse.useragent.analyze.MatcherAction$CalculateInformPathFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lnl/basjes/parse/useragent/parser/UserAgentTreeWalkerParser$StepWordRangeContext;", v);
return;
}
}