public class org.apache.log4j.util.Compare extends java.lang.Object
{
static final int B1_NULL;
static final int B2_NULL;
public void <init>()
{
org.apache.log4j.util.Compare v;
v := @this: org.apache.log4j.util.Compare;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean compare(java.lang.String, java.lang.String) throws java.io.FileNotFoundException, java.io.IOException
{
java.lang.Throwable v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v;
java.io.PrintStream v, v, v, v;
java.io.BufferedReader v, v, v, v;
java.io.FileReader v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = null;
v = null;
label:
v = new java.io.BufferedReader;
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.lang.String)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = v;
v = new java.io.BufferedReader;
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.lang.String)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = v;
v = 0;
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = v + 1;
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Files [\u] and [\u] differ on line \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
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[])>("One reads:  [\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
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[])>("Other reads:[\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
return 0;
label:
v = virtualinvoke v.<java.io.BufferedReader: int read()>();
v = (int) -1;
if v == v goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("File [\u] longer than file [\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
return 0;
label:
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
staticinvoke <org.apache.log4j.util.Compare: void close(java.io.BufferedReader)>(v);
throw v;
label:
return 1;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void close(java.io.BufferedReader)
{
java.io.BufferedReader v;
v := @parameter: java.io.BufferedReader;
if v != null goto label;
return;
label:
return;
}
private static final java.io.InputStream open(java.lang.Class, java.lang.String) throws java.io.IOException
{
java.io.FileInputStream v;
java.io.File v;
java.io.FileNotFoundException v;
int v, v;
java.lang.Class v;
java.lang.String v, v, v;
boolean v, v;
java.io.InputStream v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = v;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("witness/");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(47);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
if v != null goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
v = v;
goto label;
label:
v = new java.io.FileNotFoundException;
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[])>("Resource \u not found");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static boolean compare(java.lang.Class, java.lang.String, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
java.io.InputStreamReader v;
java.lang.Class v;
java.io.BufferedReader v, v;
java.io.FileReader v;
java.lang.String v, v;
boolean v;
java.io.InputStream v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new java.io.BufferedReader;
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.lang.String)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = staticinvoke <org.apache.log4j.util.Compare: java.io.InputStream open(java.lang.Class,java.lang.String)>(v, v);
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = staticinvoke <org.apache.log4j.util.Compare: boolean compare(java.lang.Class,java.lang.String,java.lang.String,java.io.BufferedReader,java.io.BufferedReader)>(v, v, v, v, v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
virtualinvoke v.<java.io.BufferedReader: void close()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.BufferedReader: void close()>();
virtualinvoke v.<java.io.BufferedReader: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public static boolean compare(java.lang.Class, java.lang.String, java.lang.String, java.io.BufferedReader, java.io.BufferedReader) throws java.io.IOException
{
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v;
java.io.PrintStream v, v, v, v;
java.lang.Class v;
java.io.BufferedReader v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.io.BufferedReader;
v := @parameter: java.io.BufferedReader;
v = 0;
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = v + 1;
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Files [\u] and [\u] differ on line \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
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[])>("One reads:  [\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
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[])>("Other reads:[\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
staticinvoke <org.apache.log4j.util.Compare: void outputFile(java.lang.Class,java.lang.String)>(v, v);
staticinvoke <org.apache.log4j.util.Compare: void outputFile(java.lang.Class,java.lang.String)>(v, v);
return 0;
label:
v = virtualinvoke v.<java.io.BufferedReader: int read()>();
v = (int) -1;
if v == v goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("File [\u] longer than file [\u].");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
staticinvoke <org.apache.log4j.util.Compare: void outputFile(java.lang.Class,java.lang.String)>(v, v);
staticinvoke <org.apache.log4j.util.Compare: void outputFile(java.lang.Class,java.lang.String)>(v, v);
return 0;
label:
return 1;
}
private static void outputFile(java.lang.Class, java.lang.String) throws java.io.IOException
{
int v;
java.lang.String v, v, v;
java.io.PrintStream v, v, v, v, v, v, v, v;
java.io.InputStreamReader v;
java.lang.Class v;
java.io.BufferedReader v;
java.io.InputStream v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.log4j.util.Compare: java.io.InputStream open(java.lang.Class,java.lang.String)>(v, v);
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
v = 0;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("--------------------------------");
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[])>("Contents of \u0001:");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = v + 1;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(int)>(v);
if v >= 10 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>("   : ");
goto label;
label:
if v >= 100 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>("  : ");
goto label;
label:
if v >= 1000 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>(" : ");
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>(": ");
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
return;
}
}