public abstract class org.eclipse.jgit.diff.DiffAlgorithm
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jgit.diff.DiffAlgorithm
super_class: java.lang.Object
{
private static volatile int[] $SWITCH_TABLE$org$eclipse$jgit$diff$DiffAlgorithm$SupportedAlgorithm;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$eclipse$jgit$diff$Edit$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/diff/DiffAlgorithm;
public static org.eclipse.jgit.diff.DiffAlgorithm getAlgorithm(org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm);
descriptor: (Lorg/eclipse/jgit/diff/DiffAlgorithm$SupportedAlgorithm;)Lorg/eclipse/jgit/diff/DiffAlgorithm;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$DiffAlgorithm$SupportedAlgorithm:()[I
aload 0
invokevirtual org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 2
default: 3
}
1: StackMap locals:
StackMap stack:
getstatic org.eclipse.jgit.diff.MyersDiff.INSTANCE:Lorg/eclipse/jgit/diff/DiffAlgorithm;
areturn
2: StackMap locals:
StackMap stack:
new org.eclipse.jgit.diff.HistogramDiff
dup
invokespecial org.eclipse.jgit.diff.HistogramDiff.<init>:()V
areturn
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 alg Lorg/eclipse/jgit/diff/DiffAlgorithm$SupportedAlgorithm;
MethodParameters:
Name Flags
alg
public <S extends org.eclipse.jgit.diff.Sequence> org.eclipse.jgit.diff.EditList diff(org.eclipse.jgit.diff.SequenceComparator<? super S>, S, S);
descriptor: (Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
aload 2
aload 3
invokestatic org.eclipse.jgit.diff.DiffAlgorithm.coverEdit:(Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/Edit;
invokevirtual org.eclipse.jgit.diff.SequenceComparator.reduceCommonStartEnd:(Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Edit;)Lorg/eclipse/jgit/diff/Edit;
astore 4
start local 4 1: invokestatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$Edit$Type:()[I
aload 4
invokevirtual org.eclipse.jgit.diff.Edit.getType:()Lorg/eclipse/jgit/diff/Edit$Type;
invokevirtual org.eclipse.jgit.diff.Edit$Type.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 2
2: 2
3: 3
4: 10
default: 11
}
2: StackMap locals: org.eclipse.jgit.diff.Edit
StackMap stack:
aload 4
invokestatic org.eclipse.jgit.diff.EditList.singleton:(Lorg/eclipse/jgit/diff/Edit;)Lorg/eclipse/jgit/diff/EditList;
areturn
3: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.jgit.diff.Edit.getLengthA:()I
iconst_1
if_icmpne 5
aload 4
invokevirtual org.eclipse.jgit.diff.Edit.getLengthB:()I
iconst_1
if_icmpne 5
4: aload 4
invokestatic org.eclipse.jgit.diff.EditList.singleton:(Lorg/eclipse/jgit/diff/Edit;)Lorg/eclipse/jgit/diff/EditList;
areturn
5: StackMap locals:
StackMap stack:
new org.eclipse.jgit.diff.SubsequenceComparator
dup
aload 1
invokespecial org.eclipse.jgit.diff.SubsequenceComparator.<init>:(Lorg/eclipse/jgit/diff/SequenceComparator;)V
astore 5
start local 5 6: aload 2
aload 4
invokestatic org.eclipse.jgit.diff.Subsequence.a:(Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Edit;)Lorg/eclipse/jgit/diff/Subsequence;
astore 6
start local 6 7: aload 3
aload 4
invokestatic org.eclipse.jgit.diff.Subsequence.b:(Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Edit;)Lorg/eclipse/jgit/diff/Subsequence;
astore 7
start local 7 8: aload 0
aload 5
aload 6
aload 7
invokevirtual org.eclipse.jgit.diff.DiffAlgorithm.diffNonCommon:(Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
aload 6
aload 7
invokestatic org.eclipse.jgit.diff.Subsequence.toBase:(Lorg/eclipse/jgit/diff/EditList;Lorg/eclipse/jgit/diff/Subsequence;Lorg/eclipse/jgit/diff/Subsequence;)Lorg/eclipse/jgit/diff/EditList;
astore 8
start local 8 9: aload 1
aload 8
aload 2
aload 3
invokestatic org.eclipse.jgit.diff.DiffAlgorithm.normalize:(Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/EditList;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
areturn
end local 8 end local 7 end local 6 end local 5 10: StackMap locals:
StackMap stack:
new org.eclipse.jgit.diff.EditList
dup
iconst_0
invokespecial org.eclipse.jgit.diff.EditList.<init>:(I)V
areturn
11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jgit/diff/DiffAlgorithm;
0 12 1 cmp Lorg/eclipse/jgit/diff/SequenceComparator<-TS;>;
0 12 2 a TS;
0 12 3 b TS;
1 12 4 region Lorg/eclipse/jgit/diff/Edit;
6 10 5 cs Lorg/eclipse/jgit/diff/SubsequenceComparator<TS;>;
7 10 6 as Lorg/eclipse/jgit/diff/Subsequence<TS;>;
8 10 7 bs Lorg/eclipse/jgit/diff/Subsequence<TS;>;
9 10 8 e Lorg/eclipse/jgit/diff/EditList;
Signature: <S:Lorg/eclipse/jgit/diff/Sequence;>(Lorg/eclipse/jgit/diff/SequenceComparator<-TS;>;TS;TS;)Lorg/eclipse/jgit/diff/EditList;
MethodParameters:
Name Flags
cmp
a
b
private static <S extends org.eclipse.jgit.diff.Sequence> org.eclipse.jgit.diff.Edit coverEdit(S, S);
descriptor: (Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/Edit;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new org.eclipse.jgit.diff.Edit
dup
iconst_0
aload 0
invokevirtual org.eclipse.jgit.diff.Sequence.size:()I
iconst_0
aload 1
invokevirtual org.eclipse.jgit.diff.Sequence.size:()I
invokespecial org.eclipse.jgit.diff.Edit.<init>:(IIII)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a TS;
0 1 1 b TS;
Signature: <S:Lorg/eclipse/jgit/diff/Sequence;>(TS;TS;)Lorg/eclipse/jgit/diff/Edit;
MethodParameters:
Name Flags
a
b
private static <S extends org.eclipse.jgit.diff.Sequence> org.eclipse.jgit.diff.EditList normalize(org.eclipse.jgit.diff.SequenceComparator<? super S>, org.eclipse.jgit.diff.EditList, S, S);
descriptor: (Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/EditList;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
invokevirtual org.eclipse.jgit.diff.EditList.size:()I
iconst_1
isub
istore 5
start local 5 2: goto 24
3: StackMap locals: org.eclipse.jgit.diff.Edit int
StackMap stack:
aload 1
iload 5
invokevirtual org.eclipse.jgit.diff.EditList.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jgit.diff.Edit
astore 6
start local 6 4: aload 6
invokevirtual org.eclipse.jgit.diff.Edit.getType:()Lorg/eclipse/jgit/diff/Edit$Type;
astore 7
start local 7 5: aload 4
ifnonnull 6
aload 2
invokevirtual org.eclipse.jgit.diff.Sequence.size:()I
goto 7
StackMap locals: org.eclipse.jgit.diff.Edit org.eclipse.jgit.diff.Edit$Type
StackMap stack:
6: aload 4
getfield org.eclipse.jgit.diff.Edit.beginA:I
StackMap locals:
StackMap stack: int
7: istore 8
start local 8 8: aload 4
ifnonnull 9
aload 3
invokevirtual org.eclipse.jgit.diff.Sequence.size:()I
goto 10
StackMap locals: int
StackMap stack:
9: aload 4
getfield org.eclipse.jgit.diff.Edit.beginB:I
StackMap locals:
StackMap stack: int
10: istore 9
start local 9 11: aload 7
getstatic org.eclipse.jgit.diff.Edit$Type.INSERT:Lorg/eclipse/jgit/diff/Edit$Type;
if_acmpne 17
12: goto 14
13: StackMap locals: int
StackMap stack:
aload 6
iconst_1
invokevirtual org.eclipse.jgit.diff.Edit.shift:(I)V
14: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jgit.diff.Edit.endA:I
iload 8
if_icmpge 22
aload 6
getfield org.eclipse.jgit.diff.Edit.endB:I
iload 9
if_icmpge 22
15: aload 0
aload 3
aload 6
getfield org.eclipse.jgit.diff.Edit.beginB:I
aload 3
aload 6
getfield org.eclipse.jgit.diff.Edit.endB:I
invokevirtual org.eclipse.jgit.diff.SequenceComparator.equals:(Lorg/eclipse/jgit/diff/Sequence;ILorg/eclipse/jgit/diff/Sequence;I)Z
ifne 13
16: goto 22
StackMap locals:
StackMap stack:
17: aload 7
getstatic org.eclipse.jgit.diff.Edit$Type.DELETE:Lorg/eclipse/jgit/diff/Edit$Type;
if_acmpne 22
18: goto 20
19: StackMap locals:
StackMap stack:
aload 6
iconst_1
invokevirtual org.eclipse.jgit.diff.Edit.shift:(I)V
20: StackMap locals:
StackMap stack:
aload 6
getfield org.eclipse.jgit.diff.Edit.endA:I
iload 8
if_icmpge 22
aload 6
getfield org.eclipse.jgit.diff.Edit.endB:I
iload 9
if_icmpge 22
21: aload 0
aload 2
aload 6
getfield org.eclipse.jgit.diff.Edit.beginA:I
aload 2
aload 6
getfield org.eclipse.jgit.diff.Edit.endA:I
invokevirtual org.eclipse.jgit.diff.SequenceComparator.equals:(Lorg/eclipse/jgit/diff/Sequence;ILorg/eclipse/jgit/diff/Sequence;I)Z
ifne 19
22: StackMap locals:
StackMap stack:
aload 6
astore 4
end local 9 end local 8 end local 7 end local 6 23: iinc 5 -1
StackMap locals: org.eclipse.jgit.diff.SequenceComparator org.eclipse.jgit.diff.EditList org.eclipse.jgit.diff.Sequence org.eclipse.jgit.diff.Sequence org.eclipse.jgit.diff.Edit int
StackMap stack:
24: iload 5
ifge 3
end local 5 25: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 cmp Lorg/eclipse/jgit/diff/SequenceComparator<-TS;>;
0 26 1 e Lorg/eclipse/jgit/diff/EditList;
0 26 2 a TS;
0 26 3 b TS;
1 26 4 prev Lorg/eclipse/jgit/diff/Edit;
2 25 5 i I
4 23 6 cur Lorg/eclipse/jgit/diff/Edit;
5 23 7 curType Lorg/eclipse/jgit/diff/Edit$Type;
8 23 8 maxA I
11 23 9 maxB I
Signature: <S:Lorg/eclipse/jgit/diff/Sequence;>(Lorg/eclipse/jgit/diff/SequenceComparator<-TS;>;Lorg/eclipse/jgit/diff/EditList;TS;TS;)Lorg/eclipse/jgit/diff/EditList;
MethodParameters:
Name Flags
cmp
e
a
b
public abstract <S extends org.eclipse.jgit.diff.Sequence> org.eclipse.jgit.diff.EditList diffNonCommon(org.eclipse.jgit.diff.SequenceComparator<? super S>, S, S);
descriptor: (Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <S:Lorg/eclipse/jgit/diff/Sequence;>(Lorg/eclipse/jgit/diff/SequenceComparator<-TS;>;TS;TS;)Lorg/eclipse/jgit/diff/EditList;
MethodParameters:
Name Flags
cmp
a
b
static int[] $SWITCH_TABLE$org$eclipse$jgit$diff$DiffAlgorithm$SupportedAlgorithm();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$DiffAlgorithm$SupportedAlgorithm:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.values:()[Lorg/eclipse/jgit/diff/DiffAlgorithm$SupportedAlgorithm;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.HISTOGRAM:Lorg/eclipse/jgit/diff/DiffAlgorithm$SupportedAlgorithm;
invokevirtual org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.MYERS:Lorg/eclipse/jgit/diff/DiffAlgorithm$SupportedAlgorithm;
invokevirtual org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$DiffAlgorithm$SupportedAlgorithm:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$org$eclipse$jgit$diff$Edit$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$Edit$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.eclipse.jgit.diff.Edit$Type.values:()[Lorg/eclipse/jgit/diff/Edit$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.eclipse.jgit.diff.Edit$Type.DELETE:Lorg/eclipse/jgit/diff/Edit$Type;
invokevirtual org.eclipse.jgit.diff.Edit$Type.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.eclipse.jgit.diff.Edit$Type.EMPTY:Lorg/eclipse/jgit/diff/Edit$Type;
invokevirtual org.eclipse.jgit.diff.Edit$Type.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.eclipse.jgit.diff.Edit$Type.INSERT:Lorg/eclipse/jgit/diff/Edit$Type;
invokevirtual org.eclipse.jgit.diff.Edit$Type.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.eclipse.jgit.diff.Edit$Type.REPLACE:Lorg/eclipse/jgit/diff/Edit$Type;
invokevirtual org.eclipse.jgit.diff.Edit$Type.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.eclipse.jgit.diff.DiffAlgorithm.$SWITCH_TABLE$org$eclipse$jgit$diff$Edit$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "DiffAlgorithm.java"
NestMembers:
org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm
InnerClasses:
public final SupportedAlgorithm = org.eclipse.jgit.diff.DiffAlgorithm$SupportedAlgorithm of org.eclipse.jgit.diff.DiffAlgorithm
public final Type = org.eclipse.jgit.diff.Edit$Type of org.eclipse.jgit.diff.Edit