public class org.apache.log4j.testUtil.VersionUtil extends java.lang.Object
{
static final int DEFAULT_GUESS;
public void <init>()
{
org.apache.log4j.testUtil.VersionUtil v;
v := @this: org.apache.log4j.testUtil.VersionUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static int getJavaMajorVersion()
{
java.io.PrintStream v;
int v;
java.lang.String v, v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.version");
v = <java.lang.System: java.io.PrintStream out>;
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[])>("javaVersionString=\u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = staticinvoke <org.apache.log4j.testUtil.VersionUtil: int getJavaMajorVersion(java.lang.String)>(v);
return v;
}
public static int getJavaMajorVersion(java.lang.String)
{
int v, v;
char v;
java.lang.NumberFormatException v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
if v != null goto label;
return 8;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("1.");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(2);
v = v - 48;
return v;
label:
v = staticinvoke <org.apache.log4j.testUtil.VersionUtil: java.lang.String extractFirstDigits(java.lang.String)>(v);
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
return 8;
catch java.lang.NumberFormatException from label to label with label;
}
private static java.lang.String extractFirstDigits(java.lang.String)
{
char v;
java.lang.StringBuffer v;
int v, v;
char[] v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>()>();
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
return v;
}
}