public class org.apache.commons.text.diff.StringsComparator extends java.lang.Object
{
private final java.lang.String left;
private final java.lang.String right;
private final int[] vDown;
private final int[] vUp;
public void <init>(java.lang.String, java.lang.String)
{
int[] v, v;
org.apache.commons.text.diff.StringsComparator v;
int v, v, v, v;
java.lang.String v, v;
v := @this: org.apache.commons.text.diff.StringsComparator;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left> = v;
v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right> = v;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = v + 2;
v = newarray (int)[v];
v.<org.apache.commons.text.diff.StringsComparator: int[] vDown> = v;
v = newarray (int)[v];
v.<org.apache.commons.text.diff.StringsComparator: int[] vUp> = v;
return;
}
private void buildScript(int, int, int, int, org.apache.commons.text.diff.EditScript)
{
java.lang.Character v, v, v, v;
org.apache.commons.text.diff.EditScript v;
org.apache.commons.text.diff.KeepCommand v, v;
org.apache.commons.text.diff.InsertCommand v;
org.apache.commons.text.diff.DeleteCommand 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;
java.lang.String v, v, v, v, v, v;
org.apache.commons.text.diff.StringsComparator$Snake v;
char v, v, v, v, v, v;
org.apache.commons.text.diff.StringsComparator v;
v := @this: org.apache.commons.text.diff.StringsComparator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.commons.text.diff.EditScript;
v = specialinvoke v.<org.apache.commons.text.diff.StringsComparator: org.apache.commons.text.diff.StringsComparator$Snake getMiddleSnake(int,int,int,int)>(v, v, v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getStart()>();
if v != v goto label;
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getDiag()>();
v = v - v;
if v == v goto label;
label:
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getEnd()>();
if v != v goto label;
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getDiag()>();
v = v - v;
if v != v goto label;
label:
v = v;
v = v;
label:
if v < v goto label;
if v >= v goto label;
label:
if v >= v goto label;
if v >= v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != v goto label;
v = new org.apache.commons.text.diff.KeepCommand;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
specialinvoke v.<org.apache.commons.text.diff.KeepCommand: void <init>(java.lang.Object)>(v);
virtualinvoke v.<org.apache.commons.text.diff.EditScript: void append(org.apache.commons.text.diff.KeepCommand)>(v);
v = v + 1;
v = v + 1;
goto label;
label:
v = v - v;
v = v - v;
if v <= v goto label;
v = new org.apache.commons.text.diff.DeleteCommand;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
specialinvoke v.<org.apache.commons.text.diff.DeleteCommand: void <init>(java.lang.Object)>(v);
virtualinvoke v.<org.apache.commons.text.diff.EditScript: void append(org.apache.commons.text.diff.DeleteCommand)>(v);
v = v + 1;
goto label;
label:
v = new org.apache.commons.text.diff.InsertCommand;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
specialinvoke v.<org.apache.commons.text.diff.InsertCommand: void <init>(java.lang.Object)>(v);
virtualinvoke v.<org.apache.commons.text.diff.EditScript: void append(org.apache.commons.text.diff.InsertCommand)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getStart()>();
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getStart()>();
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getDiag()>();
v = v - v;
specialinvoke v.<org.apache.commons.text.diff.StringsComparator: void buildScript(int,int,int,int,org.apache.commons.text.diff.EditScript)>(v, v, v, v, v);
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getStart()>();
label:
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getEnd()>();
if v >= v goto label;
v = new org.apache.commons.text.diff.KeepCommand;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
specialinvoke v.<org.apache.commons.text.diff.KeepCommand: void <init>(java.lang.Object)>(v);
virtualinvoke v.<org.apache.commons.text.diff.EditScript: void append(org.apache.commons.text.diff.KeepCommand)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getEnd()>();
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getEnd()>();
v = virtualinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: int getDiag()>();
v = v - v;
specialinvoke v.<org.apache.commons.text.diff.StringsComparator: void buildScript(int,int,int,int,org.apache.commons.text.diff.EditScript)>(v, v, v, v, v);
label:
return;
}
private org.apache.commons.text.diff.StringsComparator$Snake buildSnake(int, int, int, int)
{
char v, v;
org.apache.commons.text.diff.StringsComparator v;
int v, v, v, v, v, v, v;
java.lang.String v, v;
org.apache.commons.text.diff.StringsComparator$Snake v;
v := @this: org.apache.commons.text.diff.StringsComparator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v;
label:
v = v - v;
if v >= v goto label;
if v >= v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = v - v;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != v goto label;
v = v + 1;
goto label;
label:
v = new org.apache.commons.text.diff.StringsComparator$Snake;
specialinvoke v.<org.apache.commons.text.diff.StringsComparator$Snake: void <init>(int,int,int)>(v, v, v);
return v;
}
private org.apache.commons.text.diff.StringsComparator$Snake getMiddleSnake(int, int, int, int)
{
java.lang.String v, v, v, v;
org.apache.commons.text.diff.StringsComparator$Snake v, v;
java.lang.IllegalStateException 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;
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, 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;
char v, v, v, v;
org.apache.commons.text.diff.StringsComparator v;
v := @this: org.apache.commons.text.diff.StringsComparator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v - v;
v = v - v;
if v == 0 goto label;
if v != 0 goto label;
label:
return null;
label:
v = v - v;
v = v + v;
v = v % 2;
if v != 0 goto label;
v = v;
goto label;
label:
v = v + 1;
label:
v = v / 2;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = 1 + v;
v[v] = v;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = 1 + v;
v = v + 1;
v[v] = v;
v = 0;
label:
if v > v goto label;
v = neg v;
label:
if v > v goto label;
v = v + v;
v = neg v;
if v == v goto label;
if v == v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v + 1;
v = v[v];
if v >= v goto label;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v + 1;
v = v[v];
v[v] = v;
goto label;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v - 1;
v = v[v];
v = v + 1;
v[v] = v;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v[v];
v = v - v;
v = v + v;
v = v - v;
label:
if v >= v goto label;
if v >= v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v + 1;
v[v] = v;
v = v + 1;
goto label;
label:
v = v % 2;
if v == 0 goto label;
v = v - v;
if v > v goto label;
v = v + v;
if v > v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v - v;
v = v[v];
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v[v];
if v > v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v - v;
v = v[v];
v = v + v;
v = v - v;
v = specialinvoke v.<org.apache.commons.text.diff.StringsComparator: org.apache.commons.text.diff.StringsComparator$Snake buildSnake(int,int,int,int)>(v, v, v, v);
return v;
label:
v = v + 2;
goto label;
label:
v = v - v;
label:
v = v + v;
if v > v goto label;
v = v + v;
v = v - v;
v = v - v;
if v == v goto label;
v = v + v;
if v == v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v + 1;
v = v[v];
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v - 1;
v = v[v];
if v > v goto label;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v + 1;
v = v[v];
v = v - 1;
v[v] = v;
goto label;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v - 1;
v = v[v];
v[v] = v;
label:
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v[v];
v = v - 1;
v = v - v;
v = v + v;
v = v - v;
label:
if v < v goto label;
if v < v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v;
v = v - 1;
v[v] = v;
v = v - 1;
goto label;
label:
v = v % 2;
if v != 0 goto label;
v = neg v;
if v > v goto label;
if v > v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v[v];
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vDown>;
v = v + v;
v = v[v];
if v > v goto label;
v = v.<org.apache.commons.text.diff.StringsComparator: int[] vUp>;
v = v[v];
v = v + v;
v = v - v;
v = specialinvoke v.<org.apache.commons.text.diff.StringsComparator: org.apache.commons.text.diff.StringsComparator$Snake buildSnake(int,int,int,int)>(v, v, v, v);
return v;
label:
v = v + 2;
goto label;
label:
v = v + 1;
goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Internal Error");
throw v;
}
public org.apache.commons.text.diff.EditScript getScript()
{
org.apache.commons.text.diff.StringsComparator v;
int v, v;
org.apache.commons.text.diff.EditScript v;
java.lang.String v, v;
v := @this: org.apache.commons.text.diff.StringsComparator;
v = new org.apache.commons.text.diff.EditScript;
specialinvoke v.<org.apache.commons.text.diff.EditScript: void <init>()>();
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String left>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v.<org.apache.commons.text.diff.StringsComparator: java.lang.String right>;
v = virtualinvoke v.<java.lang.String: int length()>();
specialinvoke v.<org.apache.commons.text.diff.StringsComparator: void buildScript(int,int,int,int,org.apache.commons.text.diff.EditScript)>(0, v, 0, v, v);
return v;
}
}