public class nl.basjes.parse.useragent.parse.UserAgentTreeFlattener extends nl.basjes.parse.useragent.parser.UserAgentBaseListener implements java.io.Serializable
{
private final nl.basjes.parse.useragent.analyze.MatchMaker analyzer;
private static final java.lang.String AGENT;
private static final java.lang.String PRODUCT;
private static final java.lang.String NAME;
private static final java.lang.String VERSION;
private static final java.lang.String COMMENTS;
private static final java.lang.String KEYVALUE;
private static final java.lang.String KEY;
private static final java.lang.String TEXT;
private static final java.lang.String URL;
private static final java.lang.String UUID;
private static final java.lang.String EMAIL;
private static final java.lang.String BASE64;
private transient nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty state;
private boolean verbose;
private void <init>()
{
nl.basjes.parse.useragent.analyze.MatchMaker$Dummy v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentBaseListener: void <init>()>();
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: boolean verbose> = 0;
v = new nl.basjes.parse.useragent.analyze.MatchMaker$Dummy;
specialinvoke v.<nl.basjes.parse.useragent.analyze.MatchMaker$Dummy: void <init>()>();
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.analyze.MatchMaker analyzer> = v;
return;
}
public void <init>(nl.basjes.parse.useragent.analyze.MatchMaker)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.analyze.MatchMaker v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.analyze.MatchMaker;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentBaseListener: void <init>()>();
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: boolean verbose> = 0;
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.analyze.MatchMaker analyzer> = v;
return;
}
public void clear()
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty state> = null;
return;
}
public void setVerbose(boolean)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: boolean;
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: boolean verbose> = v;
return;
}
public nl.basjes.parse.useragent.UserAgent parse(java.lang.String)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
java.lang.String v;
nl.basjes.parse.useragent.UserAgent$MutableUserAgent v, v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: java.lang.String;
v = new nl.basjes.parse.useragent.UserAgent$MutableUserAgent;
specialinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: void <init>(java.lang.String)>(v);
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.UserAgent$MutableUserAgent parseIntoCleanUserAgent(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
return v;
}
public nl.basjes.parse.useragent.UserAgent$MutableUserAgent parse(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)
{
nl.basjes.parse.useragent.UserAgent$MutableUserAgent v, v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.UserAgent$MutableUserAgent;
virtualinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: void reset()>();
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.UserAgent$MutableUserAgent parseIntoCleanUserAgent(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
return v;
}
private nl.basjes.parse.useragent.UserAgent$MutableUserAgent parseIntoCleanUserAgent(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)
{
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeWalker v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty v, v;
nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType v;
java.lang.String v;
nl.basjes.parse.useragent.UserAgent$MutableUserAgent v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.UserAgent$MutableUserAgent;
v = virtualinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: java.lang.String getUserAgentString()>();
if v != null goto label;
virtualinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: void set(java.lang.String,java.lang.String,long)>("__SyntaxError__", "true", 1L);
return v;
label:
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext parseUserAgent(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
v = new nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty;
specialinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty: void <init>()>();
v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty state> = v;
v = new nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State: void <init>(nl.basjes.parse.useragent.parse.UserAgentTreeFlattener,java.lang.String)>(v, "agent");
v = <nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType CHILD>;
virtualinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State: java.lang.String calculatePath(nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType,boolean)>(v, 0);
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty state>;
virtualinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty: void put(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.Object)>(v, v);
v = virtualinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: boolean hasSyntaxError()>();
if v == 0 goto label;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(null, "__SyntaxError__", "true");
goto label;
label:
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(null, "__SyntaxError__", "false");
label:
v = <nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeWalker: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeWalker DEFAULT>;
virtualinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeWalker: void walk(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeListener,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v, v);
return v;
}
private java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, java.lang.String)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v;
java.lang.String v, v, v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree;
v := @parameter: java.lang.String;
v = staticinvoke <nl.basjes.parse.useragent.utils.AntlrUtils: java.lang.String getSourceText(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v);
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, v, v);
return v;
}
private java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, java.lang.String, java.lang.String)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v;
java.lang.String v, v, v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
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 = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, v, v, v, 0);
return v;
}
private java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, java.lang.String, java.lang.String, boolean)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v;
java.lang.String v, v, v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
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 := @parameter: boolean;
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, v, v, v, v);
return v;
}
private java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree, java.lang.String, java.lang.String, boolean)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty v;
byte v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType v;
nl.basjes.parse.useragent.analyze.MatchMaker v;
int 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;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree;
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 := @parameter: boolean;
v = v;
if v == null goto label;
v = new nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State: void <init>(nl.basjes.parse.useragent.parse.UserAgentTreeFlattener,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, v, v);
if v != 0 goto label;
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty state>;
virtualinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTreeProperty: void put(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.Object)>(v, v);
label:
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -602415628: goto label;
case 351608024: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("comments");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("version");
if v == 0 goto label;
v = 1;
label:
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = <nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType COMMENT>;
goto label;
label:
v = <nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType VERSION>;
goto label;
label:
v = <nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType CHILD>;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$State: java.lang.String calculatePath(nl.basjes.parse.useragent.parse.UserAgentTreeFlattener$PathType,boolean)>(v, v);
label:
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.analyze.MatchMaker analyzer>;
interfaceinvoke v.<nl.basjes.parse.useragent.analyze.MatchMaker: void inform(java.lang.String,java.lang.String,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v, v, v);
return v;
}
private nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext parseUserAgent(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentLexer v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CommonTokenStream v;
nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CodePointCharStream v;
nl.basjes.parse.useragent.parser.UserAgentParser v;
java.lang.String v, v;
nl.basjes.parse.useragent.UserAgent$MutableUserAgent v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.UserAgent$MutableUserAgent;
v = virtualinvoke v.<nl.basjes.parse.useragent.UserAgent$MutableUserAgent: java.lang.String getUserAgentString()>();
v = staticinvoke <nl.basjes.parse.useragent.parse.EvilManualUseragentStringHacks: java.lang.String fixIt(java.lang.String)>(v);
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.UserAgentLexer;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentLexer: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStream)>(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.UserAgentParser;
specialinvoke v.<nl.basjes.parse.useragent.parser.UserAgentParser: void <init>(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenStream)>(v);
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: boolean verbose>;
if v != 0 goto label;
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentLexer: void removeErrorListeners()>();
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentParser: void removeErrorListeners()>();
label:
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentLexer: void addErrorListener(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ANTLRErrorListener)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentParser: void addErrorListener(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ANTLRErrorListener)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentParser: nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext userAgent()>();
return v;
}
public void enterUserAgent(nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token v;
java.lang.String v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenSource v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStream v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext;
v = v.<nl.basjes.parse.useragent.parser.UserAgentParser$UserAgentContext: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token start>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenSource getTokenSource()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.TokenSource: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStream getInputStream()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.CharStream: java.lang.String toString()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "agent", v);
return;
}
public void enterRootText(nl.basjes.parse.useragent.parser.UserAgentParser$RootTextContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$RootTextContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$RootTextContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "text");
return;
}
public void enterProduct(nl.basjes.parse.useragent.parser.UserAgentParser$ProductContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "product");
return;
}
public void enterCommentProduct(nl.basjes.parse.useragent.parser.UserAgentParser$CommentProductContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$CommentProductContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$CommentProductContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "product");
return;
}
public void enterProductNameNoVersion(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameNoVersionContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameNoVersionContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameNoVersionContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "product");
return;
}
public void enterProductNameEmail(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameEmailContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameEmailContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameEmailContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "name");
return;
}
public void enterProductNameUrl(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUrlContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUrlContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUrlContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "name");
return;
}
public void enterProductNameWords(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameWordsContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameWordsContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameWordsContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "name");
return;
}
public void enterProductNameKeyValue(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameKeyValueContext)
{
java.lang.String v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameKeyValueContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameKeyValueContext;
v = virtualinvoke v.<nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameKeyValueContext: java.lang.String getText()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, "name.(1)keyvalue", v, 0);
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String,boolean)>(v, "name", 1);
return;
}
public void enterProductNameVersion(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameVersionContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameVersionContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameVersionContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "name");
return;
}
public void enterProductNameUuid(nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUuidContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUuidContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductNameUuidContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "name");
return;
}
public void enterProductVersion(nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void enterProductVersion(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v);
return;
}
public void enterProductVersionWithCommas(nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWithCommasContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWithCommasContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWithCommasContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void enterProductVersion(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)>(v);
return;
}
private void enterProductVersion(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree v, v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree getChild(int)>(0);
v = v instanceof nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionContext;
if v != 0 goto label;
v = v instanceof nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionWithCommasContext;
if v == 0 goto label;
label:
return;
label:
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "version");
return;
}
public void enterProductVersionSingleWord(nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionSingleWordContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionSingleWordContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionSingleWordContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "version");
return;
}
public void enterSingleVersion(nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubVersions(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v);
return;
}
public void enterSingleVersionWithCommas(nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionWithCommasContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionWithCommasContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$SingleVersionWithCommasContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubVersions(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v);
return;
}
public void enterProductVersionWords(nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWordsContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWordsContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$ProductVersionWordsContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "version");
return;
}
public void enterKeyValueProductVersionName(nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueProductVersionNameContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueProductVersionNameContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueProductVersionNameContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "version");
return;
}
public void enterCommentBlock(nl.basjes.parse.useragent.parser.UserAgentParser$CommentBlockContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$CommentBlockContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$CommentBlockContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "comments");
return;
}
public void enterCommentEntry(nl.basjes.parse.useragent.parser.UserAgentParser$CommentEntryContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$CommentEntryContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$CommentEntryContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "entry");
return;
}
private void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext, java.lang.String)
{
java.lang.String v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v := @parameter: java.lang.String;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String,boolean)>(v, v, 0);
return;
}
private void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext, java.lang.String, boolean)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
java.lang.String v;
nl.basjes.parse.useragent.utils.WordSplitter v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <nl.basjes.parse.useragent.utils.WordSplitter: nl.basjes.parse.useragent.utils.WordSplitter getInstance()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String,boolean,nl.basjes.parse.useragent.utils.Splitter)>(v, v, v, v);
return;
}
private void informSubVersions(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)
{
nl.basjes.parse.useragent.utils.VersionSplitter v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v = staticinvoke <nl.basjes.parse.useragent.utils.VersionSplitter: nl.basjes.parse.useragent.utils.VersionSplitter getInstance()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String,boolean,nl.basjes.parse.useragent.utils.Splitter)>(v, "version", 0, v);
return;
}
private void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext, java.lang.String, boolean, nl.basjes.parse.useragent.utils.Splitter)
{
nl.basjes.parse.useragent.utils.Splitter v;
int v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v, v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
java.util.Set v;
java.util.List v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext v;
nl.basjes.parse.useragent.analyze.MatchMaker v;
java.lang.Object v, v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: nl.basjes.parse.useragent.utils.Splitter;
v = staticinvoke <nl.basjes.parse.useragent.utils.AntlrUtils: java.lang.String getSourceText(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext)>(v);
v = specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: nl.basjes.parse.useragent.analyze.MatchMaker analyzer>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.analyze.MatchMaker: java.util.Set getRequiredInformRanges(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Set: int size()>();
if v <= 4 goto label;
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.Splitter: java.util.List createSplitList(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Set: 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.<nl.basjes.parse.useragent.utils.Splitter: java.lang.String getSplitRange(java.lang.String,java.util.List,nl.basjes.parse.useragent.analyze.WordRangeVisitor$Range)>(v, v, v);
if v == null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,nl.basjes.parse.useragent.analyze.WordRangeVisitor$Range)>(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[])>("\u0001\u0001");
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, v, v, v, 1);
goto label;
label:
v = interfaceinvoke v.<java.util.Set: 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.<nl.basjes.parse.useragent.utils.Splitter: java.lang.String getSplitRange(java.lang.String,nl.basjes.parse.useragent.analyze.WordRangeVisitor$Range)>(v, v);
if v == null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,nl.basjes.parse.useragent.analyze.WordRangeVisitor$Range)>(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[])>("\u0001\u0001");
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String,boolean)>(v, v, v, v, 1);
goto label;
label:
return;
}
public void enterMultipleWords(nl.basjes.parse.useragent.parser.UserAgentParser$MultipleWordsContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$MultipleWordsContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$MultipleWordsContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "text");
return;
}
public void enterKeyValue(nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "keyvalue");
return;
}
public void enterKeyWithoutValue(nl.basjes.parse.useragent.parser.UserAgentParser$KeyWithoutValueContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$KeyWithoutValueContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$KeyWithoutValueContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String)>(v, "keyvalue");
return;
}
public void enterKeyName(nl.basjes.parse.useragent.parser.UserAgentParser$KeyNameContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$KeyNameContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$KeyNameContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "key");
return;
}
public void enterKeyValueVersionName(nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueVersionNameContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueVersionNameContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$KeyValueVersionNameContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "version");
return;
}
public void enterVersionWords(nl.basjes.parse.useragent.parser.UserAgentParser$VersionWordsContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$VersionWordsContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$VersionWordsContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: void informSubstrings(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.ParserRuleContext,java.lang.String)>(v, "text");
return;
}
public void enterSiteUrl(nl.basjes.parse.useragent.parser.UserAgentParser$SiteUrlContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token v;
java.lang.String v;
nl.basjes.parse.useragent.parser.UserAgentParser$SiteUrlContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$SiteUrlContext;
v = v.<nl.basjes.parse.useragent.parser.UserAgentParser$SiteUrlContext: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token url>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token: java.lang.String getText()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "url", v);
return;
}
public void enterUuId(nl.basjes.parse.useragent.parser.UserAgentParser$UuIdContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token v;
java.lang.String v;
nl.basjes.parse.useragent.parser.UserAgentParser$UuIdContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$UuIdContext;
v = v.<nl.basjes.parse.useragent.parser.UserAgentParser$UuIdContext: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token uuid>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token: java.lang.String getText()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "uuid", v);
return;
}
public void enterEmailAddress(nl.basjes.parse.useragent.parser.UserAgentParser$EmailAddressContext)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token v;
java.lang.String v;
nl.basjes.parse.useragent.parser.UserAgentParser$EmailAddressContext v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$EmailAddressContext;
v = v.<nl.basjes.parse.useragent.parser.UserAgentParser$EmailAddressContext: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token email>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token: java.lang.String getText()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "email", v);
return;
}
public void enterBase64(nl.basjes.parse.useragent.parser.UserAgentParser$Base64Context)
{
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token v;
java.lang.String v;
nl.basjes.parse.useragent.parser.UserAgentParser$Base64Context v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$Base64Context;
v = v.<nl.basjes.parse.useragent.parser.UserAgentParser$Base64Context: nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token value>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.Token: java.lang.String getText()>();
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "base64", v);
return;
}
public void enterEmptyWord(nl.basjes.parse.useragent.parser.UserAgentParser$EmptyWordContext)
{
nl.basjes.parse.useragent.parser.UserAgentParser$EmptyWordContext v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v := @parameter: nl.basjes.parse.useragent.parser.UserAgentParser$EmptyWordContext;
specialinvoke v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: java.lang.String inform(nl.basjes.parse.useragent.yauaa.shaded.org.antlr.v.runtime.tree.ParseTree,java.lang.String,java.lang.String)>(v, "text", "");
return;
}
public java.lang.String toString()
{
java.lang.String v;
nl.basjes.parse.useragent.parse.UserAgentTreeFlattener v;
boolean v;
v := @this: nl.basjes.parse.useragent.parse.UserAgentTreeFlattener;
v = v.<nl.basjes.parse.useragent.parse.UserAgentTreeFlattener: boolean verbose>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (boolean)>(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[])>("UserAgentTreeFlattener{ verbose=\u0001} ");
return v;
}
}