public class nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester extends nl.basjes.parse.useragent.AbstractUserAgentAnalyzer
{
private static final org.apache.logging.log4j.Logger LOG;
private static final org.apache.logging.log4j.message.MessageFactory MESSAGE_FACTORY;
public void <init>()
{
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
specialinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzer: void <init>()>();
return;
}
public static void configureKryo(java.lang.Object)
{
java.lang.Object v;
v := @parameter: java.lang.Object;
virtualinvoke v.<com.esotericsoftware.kryo.Kryo: com.esotericsoftware.kryo.Registration register(java.lang.Class)>(class "Lnl/basjes/parse/useragent/debug/UserAgentStringMatchMakerTester;");
staticinvoke <nl.basjes.parse.useragent.AbstractUserAgentAnalyzer: void configureKryo(java.lang.Object)>(v);
return;
}
private static transient java.lang.String determineLogMessage(java.lang.String, java.lang.Object[])
{
org.apache.logging.log4j.message.MessageFactory v;
java.lang.Object[] v;
org.apache.logging.log4j.message.Message v;
int v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
return v;
label:
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.message.MessageFactory MESSAGE_FACTORY>;
v = interfaceinvoke v.<org.apache.logging.log4j.message.MessageFactory: org.apache.logging.log4j.message.Message newMessage(java.lang.String,java.lang.Object[])>(v, v);
v = interfaceinvoke v.<org.apache.logging.log4j.message.Message: java.lang.String getFormattedMessage()>();
return v;
}
private static transient void logInfo(java.lang.StringBuilder, java.lang.String, java.lang.Object[])
{
java.lang.Object[] v;
org.apache.logging.log4j.Logger v, v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.logging.log4j.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.lang.String determineLogMessage(java.lang.String,java.lang.Object[])>(v, v);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
label:
return;
}
private static transient void logWarn(java.lang.StringBuilder, java.lang.String, java.lang.Object[])
{
java.lang.Object[] v;
org.apache.logging.log4j.Logger v, v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.logging.log4j.Logger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.lang.String determineLogMessage(java.lang.String,java.lang.Object[])>(v, v);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
label:
return;
}
private static transient void logError(java.lang.StringBuilder, java.lang.String, java.lang.Object[])
{
java.lang.Object[] v;
org.apache.logging.log4j.Logger v, v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.logging.log4j.Logger: boolean isErrorEnabled()>();
if v == 0 goto label;
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.lang.String determineLogMessage(java.lang.String,java.lang.Object[])>(v, v);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
label:
return;
}
public boolean runTests()
{
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
boolean v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: boolean runTests(boolean,boolean)>(0, 1);
return v;
}
public boolean runTests(boolean, boolean)
{
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
boolean v, v, v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v := @parameter: boolean;
v := @parameter: boolean;
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: boolean runTests(boolean,boolean,java.util.Collection,boolean,boolean)>(v, v, null, 0, 0);
return v;
}
public boolean runTests(boolean, boolean, java.util.Collection, boolean, boolean)
{
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
java.util.Collection v;
boolean v, v, v, v, v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.util.Collection;
v := @parameter: boolean;
v := @parameter: boolean;
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: boolean runTests(nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect,boolean,boolean,java.util.Collection,boolean,boolean,java.lang.StringBuilder)>(v, v, v, v, v, v, null);
return v;
}
public static boolean runTests(nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect, boolean, boolean, java.util.Collection, boolean, boolean, java.lang.StringBuilder)
{
java.lang.Integer v, v, v, v, v, v;
java.lang.Long v, v, v;
java.util.Map v, v, v, v, v;
org.apache.logging.log4j.Logger v, v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v;
nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect v;
java.util.Collection v;
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult v;
nl.basjes.parse.useragent.AgentField v;
nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent v, v;
int 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, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
java.util.Set v, v;
java.lang.Double v, v, v;
java.util.ArrayList v, v, v, v;
java.lang.String 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, v, v, v, v, v, v, v, v, v, v, v;
boolean 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, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v;
java.util.HashMap v;
nl.basjes.parse.useragent.debug.DebugUserAgent v;
double v, v, v;
java.util.Iterator v, v, v, v, v, v, v;
v := @parameter: nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.util.Collection;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.lang.StringBuilder;
virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: void initializeMatchers()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: java.util.List getTestCases()>();
if v != null goto label;
return 1;
label:
v = new nl.basjes.parse.useragent.debug.DebugUserAgent;
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: java.util.Set getWantedFieldNames()>();
specialinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void <init>(java.util.Collection)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(32);
v = "Test number and source";
v = virtualinvoke v.<java.lang.String: int length()>();
v = v;
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: java.util.List getTestCases()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getMetadata()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("filename");
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = v + 11;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(1024);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("| ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("Test number and source");
v = v;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" |S|AA|MF|");
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  PPS| msPP|");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("--> S=Syntax Error, AA=Number of ambiguities during parse, MF=Matches Found");
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", PPS=parses/sec, msPP=milliseconds per parse");
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
if v == 0 goto label;
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String)>("+===========================================================================================");
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("%s", v);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String)>("+-------------------------------------------------------------------------------------------");
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: java.util.List getTestCases()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getExpected()>();
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.List: void clear()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = 1;
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v + 1;
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getTestName()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getUserAgent()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getExpected()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.List getOptions()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getMetadata()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("filename");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("fileline");
v = 0;
if v != null goto label;
virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: void setVerbose(boolean)>(0);
virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void setDebug(boolean)>(0);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>("verbose");
virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: void setVerbose(boolean)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void setDebug(boolean)>(v);
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>("init");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
v = null;
label:
if v != null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 200 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, 190);
v = virtualinvoke v.<java.lang.String: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("\u ... ( \u chars)");
goto label;
label:
v = v;
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("|");
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%5d", v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(".(");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = v + 7;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.util.Map getHeaders()>();
virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void setHeaders(java.util.Map)>(v);
v = null;
v = -1L;
if v == 0 goto label;
v = 0;
label:
if v >= 100 goto label;
virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent parse(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
v = 0;
label:
if v >= 1000 goto label;
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent parse(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
v = v + 1;
goto label;
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v - v;
v = 1000000000000L / v;
goto label;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect: nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent parse(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(124);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: boolean hasSyntaxError()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: boolean hasAmbiguity()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: int getAmbiguityCount()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("|%2d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("|  ");
label:
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: int getNumberOfAppliedMatches()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("|%2d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(124);
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%5d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(124);
v = newarray (java.lang.Object)[1];
v = 1000.0 / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%5.2f", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("| ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = 1;
interfaceinvoke v.<java.util.List: void clear()>();
if v == 0 goto label;
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: java.lang.String toYamlTestCase()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("%s", v);
label:
v = 6;
v = 7;
v = 9;
if v == null goto label;
v = new java.util.ArrayList;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
v = null;
goto label;
label:
if v == null goto label;
interfaceinvoke v.<java.util.List: void clear()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
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 = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = new nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult;
specialinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: void <init>()>();
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field> = v;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual> = v;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean isDefault> = v;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.Long getConfidence(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: long confidence> = v;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual>;
if v != null goto label;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual> = "<<<null>>>";
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = 0;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean isDefault>;
if v != 0 goto label;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected> = "<<absent>>";
goto label;
label:
v = 1;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected> = v;
label:
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual>;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean pass> = v;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean pass>;
if v != 0 goto label;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean warn> = 1;
if v == 0 goto label;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean warn> = 0;
v = 0;
v = 0;
goto label;
label:
if v == 0 goto label;
v = "__SyntaxError__";
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean warn> = 0;
v = 0;
v = 0;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: boolean analyzeMatchersResult()>();
if v != 0 goto label;
v = 0;
v = 0;
label:
if v != 0 goto label;
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
goto label;
label:
if v != 0 goto label;
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logError(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "| TEST FAILED !", v);
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: boolean hasAmbiguity()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: int getAmbiguityCount()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "| Parsing problem: Ambiguity {} times. ", v);
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: boolean hasSyntaxError()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "| Parsing problem: Syntax Error", v);
label:
if v != 0 goto label;
if v != 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("- matcher:\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    options:\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'verbose\'\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    require:\n");
v = staticinvoke <nl.basjes.parse.useragent.debug.GetAllPaths: java.util.List getAllPaths(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("=\"");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\'\n");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    extract:\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'DeviceClass                         :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'DeviceBrand                         :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'DeviceName                          :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'OperatingSystemClass                :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'OperatingSystemName                 :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'OperatingSystemVersion              :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'LayoutEngineClass                   :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'LayoutEngineName                    :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'LayoutEngineVersion                 :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'AgentClass                          :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'AgentName                           :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#    - \'AgentVersion                        :      1 :\' \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("%s", v);
label:
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("+--------+-");
v = 0;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("-+-");
v = 0;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("-+---------+------------+-");
v = 0;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("-+");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("| Result | Field ");
v = 6;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | Actual ");
v = 7;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | Default | Confidence | Expected ");
v = 9;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" |");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean pass>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("|        | ");
goto label;
label:
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean warn>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("| ~warn~ | ");
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "~~ Unexpected result ~~");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("| -FAIL- | ");
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("FAILED; Should be \'\u0001\'");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String field>;
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | ");
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String actual>;
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean isDefault>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | Default | ");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" |         | ");
label:
v = newarray (java.lang.Object)[1];
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: long confidence>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%10d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | ");
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean pass>;
if v == 0 goto label;
v = 0;
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" |");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
goto label;
label:
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: java.lang.String expected>;
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" |");
v = v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$TestResult: boolean warn>;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logWarn(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logError(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
goto label;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "", v);
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: java.lang.String toMatchTrace(java.util.List)>(v);
v = newarray (java.lang.Object)[0];
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, v, v);
v = newarray (java.lang.Object)[1];
v = v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.Map)>(v, v);
v[0] = v;
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "\n\nconfig:\n{}", v);
if v == 0 goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "Location of the new test.({}:{})", v);
return 0;
label:
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void logInfo(java.lang.StringBuilder,java.lang.String,java.lang.Object[])>(v, "Location of failed test.({}:{})", v);
if v != 0 goto label;
if v != 0 goto label;
return 0;
label:
if v == 0 goto label;
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String)>("+===========================================================================================");
goto label;
label:
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("All %d tests passed", v);
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
v = v - v;
v = v / 1000000.0;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = v - v;
v = v * 1000000L;
v = v / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("This took %8.3f ms for %5d tests : averaging to %6.3f msec/test (This includes test validation and logging!!)", v, v, v);
if v != 0 goto label;
v = <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String)>("NO tests were run at all!!!");
v = 0;
label:
return v;
}
public void analyzeMatcherImpactAllTests()
{
nl.basjes.parse.useragent.debug.DebugUserAgent v;
java.util.function.Function v;
java.util.ArrayList v;
java.util.function.BiConsumer v;
java.lang.String v;
java.util.function.ToLongFunction v;
boolean v;
java.util.Iterator v;
java.util.Set v;
java.util.function.Consumer v, v, v;
java.util.List v, v, v;
java.util.stream.Stream v, v;
java.util.TreeMap v;
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
java.lang.Object v;
java.util.Comparator v, v;
nl.basjes.parse.useragent.analyze.MatcherList v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.util.List getTestCases()>();
if v != null goto label;
return;
label:
virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void initializeMatchers()>();
v = new nl.basjes.parse.useragent.debug.DebugUserAgent;
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.util.Set getWantedFieldNames()>();
specialinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void <init>(java.util.Collection)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void setVerbose(boolean)>(0);
virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void setDebug(boolean)>(0);
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.util.List getAllMatchers()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$getSourceFileName__615: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$getSourceFileLineNumber__616: java.util.function.ToLongFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.Comparator: java.util.Comparator thenComparingLong(java.util.function.ToLongFunction)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream sorted(java.util.Comparator)>(v);
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$lambda_analyzeMatcherImpactAllTests_0__617: java.util.function.Consumer bootstrap$(java.util.Map,java.util.List)>(v, v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: java.util.List getTestCases()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<nl.basjes.parse.useragent.config.TestCase: java.lang.String getUserAgent()>();
virtualinvoke v.<nl.basjes.parse.useragent.debug.DebugUserAgent: void setUserAgentString(java.lang.String)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: nl.basjes.parse.useragent.UserAgent$ImmutableUserAgent parse(nl.basjes.parse.useragent.UserAgent$MutableUserAgent)>(v);
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$lambda_analyzeMatcherImpactAllTests_1__619: java.util.function.BiConsumer bootstrap$()>();
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
v = virtualinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: nl.basjes.parse.useragent.analyze.MatcherList getTouchedMatchers()>();
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$lambda_analyzeMatcherImpactAllTests_2__620: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
virtualinvoke v.<nl.basjes.parse.useragent.analyze.MatcherList: void forEach(java.util.function.Consumer)>(v);
goto label;
label:
v = staticinvoke <nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester$lambda_analyzeMatcherImpactAllTests_3__618: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return;
}
protected nl.basjes.parse.useragent.AbstractUserAgentAnalyzerDirect createNewInstance()
{
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v, v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v = new nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
specialinvoke v.<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: void <init>()>();
return v;
}
public java.lang.String toString()
{
java.lang.String v, v;
nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester v;
v := @this: nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester;
v = specialinvoke v.<nl.basjes.parse.useragent.AbstractUserAgentAnalyzer: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("UserAgentAnalyzerTester {\n\u0001\n} ");
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.Logger v;
org.apache.logging.log4j.message.ReusableMessageFactory v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.Logger getFormatterLogger(java.lang.Class)>(class "Lnl/basjes/parse/useragent/debug/UserAgentStringMatchMakerTester;");
<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.Logger LOG> = v;
v = new org.apache.logging.log4j.message.ReusableMessageFactory;
specialinvoke v.<org.apache.logging.log4j.message.ReusableMessageFactory: void <init>()>();
<nl.basjes.parse.useragent.debug.UserAgentStringMatchMakerTester: org.apache.logging.log4j.message.MessageFactory MESSAGE_FACTORY> = v;
return;
}
}