class org.eclipse.jgit.revwalk.BitmappedReachabilityChecker implements org.eclipse.jgit.revwalk.ReachabilityChecker
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jgit.revwalk.BitmappedReachabilityChecker
super_class: java.lang.Object
{
private final org.eclipse.jgit.revwalk.RevWalk walk;
descriptor: Lorg/eclipse/jgit/revwalk/RevWalk;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.eclipse.jgit.revwalk.RevWalk);
descriptor: (Lorg/eclipse/jgit/revwalk/RevWalk;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker this
start local 1 // org.eclipse.jgit.revwalk.RevWalk walk
0: .line 45
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 47
aload 0 /* this */
aload 1 /* walk */
putfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
2: .line 48
aload 1 /* walk */
invokevirtual org.eclipse.jgit.revwalk.RevWalk.getObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
invokevirtual org.eclipse.jgit.lib.ObjectReader.getBitmapIndex:()Lorg/eclipse/jgit/lib/BitmapIndex;
ifnonnull 6
3: .line 49
new java.lang.AssertionError
dup
4: .line 50
ldc "Trying to use bitmapped reachability check on a repository without bitmaps"
5: .line 49
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: .line 53
StackMap locals: org.eclipse.jgit.revwalk.BitmappedReachabilityChecker org.eclipse.jgit.revwalk.RevWalk
StackMap stack:
return
end local 1 // org.eclipse.jgit.revwalk.RevWalk walk
end local 0 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/revwalk/BitmappedReachabilityChecker;
0 7 1 walk Lorg/eclipse/jgit/revwalk/RevWalk;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
walk
public java.util.Optional<org.eclipse.jgit.revwalk.RevCommit> areAllReachable(java.util.Collection<org.eclipse.jgit.revwalk.RevCommit>, java.util.stream.Stream<org.eclipse.jgit.revwalk.RevCommit>);
descriptor: (Ljava/util/Collection;Ljava/util/stream/Stream;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker this
start local 1 // java.util.Collection targets
start local 2 // java.util.stream.Stream starters
0: .line 66
new java.util.ArrayList
dup
aload 1 /* targets */
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3 /* remainingTargets */
start local 3 // java.util.List remainingTargets
1: .line 68
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
invokevirtual org.eclipse.jgit.revwalk.RevWalk.reset:()V
2: .line 69
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
getstatic org.eclipse.jgit.revwalk.RevSort.TOPO:Lorg/eclipse/jgit/revwalk/RevSort;
invokevirtual org.eclipse.jgit.revwalk.RevWalk.sort:(Lorg/eclipse/jgit/revwalk/RevSort;)V
3: .line 74
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
invokevirtual org.eclipse.jgit.revwalk.RevWalk.getObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
invokevirtual org.eclipse.jgit.lib.ObjectReader.getBitmapIndex:()Lorg/eclipse/jgit/lib/BitmapIndex;
astore 4 /* repoBitmaps */
start local 4 // org.eclipse.jgit.lib.BitmapIndex repoBitmaps
4: .line 75
new org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter
dup
aload 4 /* repoBitmaps */
invokespecial org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter.<init>:(Lorg/eclipse/jgit/lib/BitmapIndex;)V
astore 5 /* reachedFilter */
start local 5 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter reachedFilter
5: .line 76
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
aload 5 /* reachedFilter */
invokevirtual org.eclipse.jgit.revwalk.RevWalk.setRevFilter:(Lorg/eclipse/jgit/revwalk/filter/RevFilter;)V
6: .line 78
aload 2 /* starters */
invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
astore 6 /* startersIter */
start local 6 // java.util.Iterator startersIter
7: .line 79
goto 15
8: .line 80
StackMap locals: org.eclipse.jgit.revwalk.BitmappedReachabilityChecker java.util.Collection java.util.stream.Stream java.util.List org.eclipse.jgit.lib.BitmapIndex org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter java.util.Iterator
StackMap stack:
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
aload 6 /* startersIter */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.revwalk.RevCommit
invokevirtual org.eclipse.jgit.revwalk.RevWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevCommit;)V
9: .line 81
goto 13
10: .line 82
StackMap locals:
StackMap stack:
aload 3 /* remainingTargets */
aload 5 /* reachedFilter */
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Lorg/eclipse/jgit/revwalk/BitmappedReachabilityChecker$ReachedFilter;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/revwalk/BitmappedReachabilityChecker$ReachedFilter.isReachable(Lorg/eclipse/jgit/revwalk/RevCommit;)Z (5)
(Lorg/eclipse/jgit/revwalk/RevCommit;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
11: .line 84
aload 3 /* remainingTargets */
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
12: .line 85
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
13: .line 81
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
invokevirtual org.eclipse.jgit.revwalk.RevWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
ifnonnull 10
14: .line 88
aload 0 /* this */
getfield org.eclipse.jgit.revwalk.BitmappedReachabilityChecker.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
invokevirtual org.eclipse.jgit.revwalk.RevWalk.reset:()V
15: .line 79
StackMap locals:
StackMap stack:
aload 6 /* startersIter */
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
16: .line 91
aload 3 /* remainingTargets */
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jgit.revwalk.RevCommit
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 6 // java.util.Iterator startersIter
end local 5 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter reachedFilter
end local 4 // org.eclipse.jgit.lib.BitmapIndex repoBitmaps
end local 3 // java.util.List remainingTargets
end local 2 // java.util.stream.Stream starters
end local 1 // java.util.Collection targets
end local 0 // org.eclipse.jgit.revwalk.BitmappedReachabilityChecker this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jgit/revwalk/BitmappedReachabilityChecker;
0 17 1 targets Ljava/util/Collection<Lorg/eclipse/jgit/revwalk/RevCommit;>;
0 17 2 starters Ljava/util/stream/Stream<Lorg/eclipse/jgit/revwalk/RevCommit;>;
1 17 3 remainingTargets Ljava/util/List<Lorg/eclipse/jgit/revwalk/RevCommit;>;
4 17 4 repoBitmaps Lorg/eclipse/jgit/lib/BitmapIndex;
5 17 5 reachedFilter Lorg/eclipse/jgit/revwalk/BitmappedReachabilityChecker$ReachedFilter;
7 17 6 startersIter Ljava/util/Iterator<Lorg/eclipse/jgit/revwalk/RevCommit;>;
Exceptions:
throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
Signature: (Ljava/util/Collection<Lorg/eclipse/jgit/revwalk/RevCommit;>;Ljava/util/stream/Stream<Lorg/eclipse/jgit/revwalk/RevCommit;>;)Ljava/util/Optional<Lorg/eclipse/jgit/revwalk/RevCommit;>;
MethodParameters:
Name Flags
targets
starters
}
SourceFile: "BitmappedReachabilityChecker.java"
NestMembers:
org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private ReachedFilter = org.eclipse.jgit.revwalk.BitmappedReachabilityChecker$ReachedFilter of org.eclipse.jgit.revwalk.BitmappedReachabilityChecker