public final class org.eclipse.aether.util.graph.transformer.NearestVersionSelector extends org.eclipse.aether.util.graph.transformer.ConflictResolver$VersionSelector
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.eclipse.aether.util.graph.transformer.NearestVersionSelector
super_class: org.eclipse.aether.util.graph.transformer.ConflictResolver$VersionSelector
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.eclipse.aether.util.graph.transformer.ConflictResolver$VersionSelector.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
public void selectVersion(org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext);
descriptor: (Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: new org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup
dup
invokespecial org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext.getItems:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 23
StackMap locals: org.eclipse.aether.util.graph.transformer.NearestVersionSelector org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem
astore 3
start local 3 3: aload 3
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getNode:()Lorg/eclipse/aether/graph/DependencyNode;
astore 5
start local 5 4: aload 5
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersionConstraint:()Lorg/eclipse/aether/version/VersionConstraint;
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: aload 6
invokeinterface org.eclipse.aether.version.VersionConstraint.getRange:()Lorg/eclipse/aether/version/VersionRange;
ifnull 7
iconst_1
goto 8
StackMap locals: org.eclipse.aether.util.graph.transformer.NearestVersionSelector org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem java.util.Iterator org.eclipse.aether.graph.DependencyNode org.eclipse.aether.version.VersionConstraint int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 8
start local 8 9: iload 8
ifeq 13
10: aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.constraints:Ljava/util/Collection;
aload 6
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
ifeq 13
11: aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
ifnull 13
aload 6
aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getNode:()Lorg/eclipse/aether/graph/DependencyNode;
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersion:()Lorg/eclipse/aether/version/Version;
invokeinterface org.eclipse.aether.version.VersionConstraint.containsVersion:(Lorg/eclipse/aether/version/Version;)Z
ifne 13
12: iconst_1
istore 7
13: StackMap locals: int
StackMap stack:
aload 0
aload 2
aload 5
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersion:()Lorg/eclipse/aether/version/Version;
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.isAcceptable:(Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/version/Version;)Z
ifeq 21
14: aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.candidates:Ljava/util/Collection;
aload 3
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
15: iload 7
ifeq 18
16: aload 0
aload 2
aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.backtrack:(Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)V
17: goto 23
18: StackMap locals:
StackMap stack:
aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
ifnull 19
aload 0
aload 3
aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.isNearer:(Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;)Z
ifeq 23
19: StackMap locals:
StackMap stack:
aload 2
aload 3
putfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
20: goto 23
21: StackMap locals:
StackMap stack:
iload 7
ifeq 23
22: aload 0
aload 2
aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.backtrack:(Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)V
end local 8 end local 7 end local 6 end local 5 end local 3 23: StackMap locals: org.eclipse.aether.util.graph.transformer.NearestVersionSelector org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
24: aload 1
aload 2
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext.setWinner:(Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;)V
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
0 26 1 context Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;
1 26 2 group Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;
3 23 3 item Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
4 23 5 node Lorg/eclipse/aether/graph/DependencyNode;
5 23 6 constraint Lorg/eclipse/aether/version/VersionConstraint;
6 23 7 backtrack Z
9 23 8 hardConstraint Z
Exceptions:
throws org.eclipse.aether.RepositoryException
MethodParameters:
Name Flags
context
private void backtrack(org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup, org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext);
descriptor: (Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aconst_null
putfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
1: aload 1
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.candidates:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 9
3: StackMap locals: java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem
astore 4
start local 4 4: aload 0
aload 1
aload 4
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getNode:()Lorg/eclipse/aether/graph/DependencyNode;
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersion:()Lorg/eclipse/aether/version/Version;
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.isAcceptable:(Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/version/Version;)Z
ifne 7
5: aload 3
invokeinterface java.util.Iterator.remove:()V
6: goto 9
7: StackMap locals: org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem
StackMap stack:
aload 1
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
ifnull 8
aload 0
aload 4
aload 1
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.isNearer:(Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;)Z
ifeq 9
8: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
end local 4 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 10: aload 1
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.winner:Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
ifnonnull 12
11: aload 0
aload 2
invokevirtual org.eclipse.aether.util.graph.transformer.NearestVersionSelector.newFailure:(Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)Lorg/eclipse/aether/collection/UnsolvableVersionConflictException;
athrow
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
0 13 1 group Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;
0 13 2 context Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;
2 10 3 it Ljava/util/Iterator<Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;>;
4 9 4 candidate Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
Exceptions:
throws org.eclipse.aether.collection.UnsolvableVersionConflictException
MethodParameters:
Name Flags
group
context
private boolean isAcceptable(org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup, org.eclipse.aether.version.Version);
descriptor: (Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;Lorg/eclipse/aether/version/Version;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup.constraints:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.eclipse.aether.util.graph.transformer.NearestVersionSelector org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup org.eclipse.aether.version.Version top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.aether.version.VersionConstraint
astore 3
start local 3 2: aload 3
aload 2
invokeinterface org.eclipse.aether.version.VersionConstraint.containsVersion:(Lorg/eclipse/aether/version/Version;)Z
ifne 4
3: iconst_0
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
0 6 1 group Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector$ConflictGroup;
0 6 2 version Lorg/eclipse/aether/version/Version;
2 4 3 constraint Lorg/eclipse/aether/version/VersionConstraint;
MethodParameters:
Name Flags
group
version
private boolean isNearer(org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem, org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem);
descriptor: (Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.isSibling:(Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;)Z
ifeq 3
1: aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getNode:()Lorg/eclipse/aether/graph/DependencyNode;
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersion:()Lorg/eclipse/aether/version/Version;
aload 2
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getNode:()Lorg/eclipse/aether/graph/DependencyNode;
invokeinterface org.eclipse.aether.graph.DependencyNode.getVersion:()Lorg/eclipse/aether/version/Version;
invokeinterface org.eclipse.aether.version.Version.compareTo:(Ljava/lang/Object;)I
ifle 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getDepth:()I
aload 2
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem.getDepth:()I
if_icmpge 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
0 5 1 item1 Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
0 5 2 item2 Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictItem;
MethodParameters:
Name Flags
item1
item2
private org.eclipse.aether.collection.UnsolvableVersionConflictException newFailure(org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext);
descriptor: (Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)Lorg/eclipse/aether/collection/UnsolvableVersionConflictException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new org.eclipse.aether.util.graph.transformer.NearestVersionSelector$1
dup
aload 0
aload 1
invokespecial org.eclipse.aether.util.graph.transformer.NearestVersionSelector$1.<init>:(Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;)V
astore 2
start local 2 1: new org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor
dup
aload 2
invokespecial org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor.<init>:(Lorg/eclipse/aether/graph/DependencyFilter;)V
astore 3
start local 3 2: aload 1
invokevirtual org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext.getRoot:()Lorg/eclipse/aether/graph/DependencyNode;
aload 3
invokeinterface org.eclipse.aether.graph.DependencyNode.accept:(Lorg/eclipse/aether/graph/DependencyVisitor;)Z
pop
3: new org.eclipse.aether.collection.UnsolvableVersionConflictException
dup
aload 3
invokevirtual org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor.getPaths:()Ljava/util/List;
invokespecial org.eclipse.aether.collection.UnsolvableVersionConflictException.<init>:(Ljava/util/Collection;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/aether/util/graph/transformer/NearestVersionSelector;
0 4 1 context Lorg/eclipse/aether/util/graph/transformer/ConflictResolver$ConflictContext;
1 4 2 filter Lorg/eclipse/aether/graph/DependencyFilter;
2 4 3 visitor Lorg/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor;
MethodParameters:
Name Flags
context final
}
SourceFile: "NearestVersionSelector.java"
NestMembers:
org.eclipse.aether.util.graph.transformer.NearestVersionSelector$1 org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup
InnerClasses:
public final ConflictContext = org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext of org.eclipse.aether.util.graph.transformer.ConflictResolver
public final ConflictItem = org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictItem of org.eclipse.aether.util.graph.transformer.ConflictResolver
public abstract VersionSelector = org.eclipse.aether.util.graph.transformer.ConflictResolver$VersionSelector of org.eclipse.aether.util.graph.transformer.ConflictResolver
org.eclipse.aether.util.graph.transformer.NearestVersionSelector$1
final ConflictGroup = org.eclipse.aether.util.graph.transformer.NearestVersionSelector$ConflictGroup of org.eclipse.aether.util.graph.transformer.NearestVersionSelector