class com.mongodb.operation.FindOperation$4$1 implements com.mongodb.operation.OperationHelper$CallableWithConnectionAndSource<org.bson.BsonDocument>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.operation.FindOperation$4$1
super_class: java.lang.Object
{
final com.mongodb.operation.FindOperation$4 this$1;
descriptor: Lcom/mongodb/operation/FindOperation$4;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.mongodb.binding.ReadBinding val$binding;
descriptor: Lcom/mongodb/binding/ReadBinding;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.mongodb.operation.FindOperation$4, com.mongodb.binding.ReadBinding);
descriptor: (Lcom/mongodb/operation/FindOperation$4;Lcom/mongodb/binding/ReadBinding;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.mongodb.operation.FindOperation$4$1.this$1:Lcom/mongodb/operation/FindOperation$4;
aload 0
aload 2
putfield com.mongodb.operation.FindOperation$4$1.val$binding:Lcom/mongodb/binding/ReadBinding;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/mongodb/operation/FindOperation$4$1;
MethodParameters:
Name Flags
this$0 final
val$binding final
public org.bson.BsonDocument call(com.mongodb.binding.ConnectionSource, com.mongodb.connection.Connection);
descriptor: (Lcom/mongodb/binding/ConnectionSource;Lcom/mongodb/connection/Connection;)Lorg/bson/BsonDocument;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new com.mongodb.binding.SingleConnectionReadBinding
dup
aload 0
getfield com.mongodb.operation.FindOperation$4$1.val$binding:Lcom/mongodb/binding/ReadBinding;
invokeinterface com.mongodb.binding.ReadBinding.getReadPreference:()Lcom/mongodb/ReadPreference;
1: aload 1
invokeinterface com.mongodb.binding.ConnectionSource.getServerDescription:()Lcom/mongodb/connection/ServerDescription;
2: aload 2
3: invokespecial com.mongodb.binding.SingleConnectionReadBinding.<init>:(Lcom/mongodb/ReadPreference;Lcom/mongodb/connection/ServerDescription;Lcom/mongodb/connection/Connection;)V
astore 3
start local 3 4: aload 2
invokeinterface com.mongodb.connection.Connection.getDescription:()Lcom/mongodb/connection/ConnectionDescription;
invokestatic com.mongodb.internal.operation.ServerVersionHelper.serverIsAtLeastVersionThreeDotTwo:(Lcom/mongodb/connection/ConnectionDescription;)Z
ifeq 16
5: new com.mongodb.operation.CommandReadOperation
dup
aload 0
getfield com.mongodb.operation.FindOperation$4$1.this$1:Lcom/mongodb/operation/FindOperation$4;
invokestatic com.mongodb.operation.FindOperation$4.access$1:(Lcom/mongodb/operation/FindOperation$4;)Lcom/mongodb/operation/FindOperation;
invokevirtual com.mongodb.operation.FindOperation.getNamespace:()Lcom/mongodb/MongoNamespace;
invokevirtual com.mongodb.MongoNamespace.getDatabaseName:()Ljava/lang/String;
6: new org.bson.BsonDocument
dup
ldc "explain"
7: aload 0
getfield com.mongodb.operation.FindOperation$4$1.this$1:Lcom/mongodb/operation/FindOperation$4;
invokestatic com.mongodb.operation.FindOperation$4.access$1:(Lcom/mongodb/operation/FindOperation$4;)Lcom/mongodb/operation/FindOperation;
aload 0
getfield com.mongodb.operation.FindOperation$4$1.val$binding:Lcom/mongodb/binding/ReadBinding;
invokeinterface com.mongodb.binding.ReadBinding.getSessionContext:()Lcom/mongodb/session/SessionContext;
invokevirtual com.mongodb.operation.FindOperation.getCommand:(Lcom/mongodb/session/SessionContext;)Lorg/bson/BsonDocument;
8: invokespecial org.bson.BsonDocument.<init>:(Ljava/lang/String;Lorg/bson/BsonValue;)V
9: new org.bson.codecs.BsonDocumentCodec
dup
invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
10: invokespecial com.mongodb.operation.CommandReadOperation.<init>:(Ljava/lang/String;Lorg/bson/BsonDocument;Lorg/bson/codecs/Decoder;)V
11: aload 3
invokevirtual com.mongodb.operation.CommandReadOperation.execute:(Lcom/mongodb/binding/ReadBinding;)Ljava/lang/Object;
checkcast org.bson.BsonDocument
astore 8
12: aload 3
invokeinterface com.mongodb.binding.ReadBinding.release:()V
13: aload 8
areturn
14: StackMap locals: com.mongodb.operation.FindOperation$4$1 com.mongodb.binding.ConnectionSource com.mongodb.connection.Connection com.mongodb.binding.ReadBinding
StackMap stack: com.mongodb.MongoCommandException
astore 4
start local 4 15: new com.mongodb.MongoQueryException
dup
aload 4
invokespecial com.mongodb.MongoQueryException.<init>:(Lcom/mongodb/MongoCommandException;)V
athrow
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.operation.FindOperation$4$1.this$1:Lcom/mongodb/operation/FindOperation$4;
invokestatic com.mongodb.operation.FindOperation$4.access$1:(Lcom/mongodb/operation/FindOperation$4;)Lcom/mongodb/operation/FindOperation;
invokevirtual com.mongodb.operation.FindOperation.createExplainableQueryOperation:()Lcom/mongodb/operation/FindOperation;
aload 3
invokevirtual com.mongodb.operation.FindOperation.execute:(Lcom/mongodb/binding/ReadBinding;)Lcom/mongodb/operation/BatchCursor;
astore 4
start local 4 17: aload 4
invokeinterface com.mongodb.operation.BatchCursor.next:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.bson.BsonDocument
astore 6
18: aload 4
invokeinterface com.mongodb.operation.BatchCursor.close:()V
19: aload 3
invokeinterface com.mongodb.binding.ReadBinding.release:()V
20: aload 6
areturn
21: StackMap locals: com.mongodb.operation.FindOperation$4$1 com.mongodb.binding.ConnectionSource com.mongodb.connection.Connection com.mongodb.binding.ReadBinding com.mongodb.operation.BatchCursor
StackMap stack: java.lang.Throwable
astore 5
22: aload 4
invokeinterface com.mongodb.operation.BatchCursor.close:()V
23: aload 5
athrow
end local 4 24: StackMap locals: com.mongodb.operation.FindOperation$4$1 com.mongodb.binding.ConnectionSource com.mongodb.connection.Connection com.mongodb.binding.ReadBinding
StackMap stack: java.lang.Throwable
astore 7
25: aload 3
invokeinterface com.mongodb.binding.ReadBinding.release:()V
26: aload 7
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/mongodb/operation/FindOperation$4$1;
0 27 1 connectionSource Lcom/mongodb/binding/ConnectionSource;
0 27 2 connection Lcom/mongodb/connection/Connection;
4 27 3 singleConnectionBinding Lcom/mongodb/binding/ReadBinding;
15 16 4 e Lcom/mongodb/MongoCommandException;
17 24 4 cursor Lcom/mongodb/operation/BatchCursor<Lorg/bson/BsonDocument;>;
Exception table:
from to target type
5 12 14 Class com.mongodb.MongoCommandException
17 18 21 any
4 12 24 any
14 19 24 any
21 24 24 any
MethodParameters:
Name Flags
connectionSource final
connection final
public java.lang.Object call(com.mongodb.binding.ConnectionSource, com.mongodb.connection.Connection);
descriptor: (Lcom/mongodb/binding/ConnectionSource;Lcom/mongodb/connection/Connection;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.mongodb.operation.FindOperation$4$1.call:(Lcom/mongodb/binding/ConnectionSource;Lcom/mongodb/connection/Connection;)Lorg/bson/BsonDocument;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lcom/mongodb/operation/OperationHelper$CallableWithConnectionAndSource<Lorg/bson/BsonDocument;>;
SourceFile: "FindOperation.java"
EnclosingMethod: com.mongodb.operation.FindOperation$4.execute:(Lcom/mongodb/binding/ReadBinding;)Lorg/bson/BsonDocument;
NestHost: com.mongodb.operation.FindOperation
InnerClasses:
com.mongodb.operation.FindOperation$4
com.mongodb.operation.FindOperation$4$1
abstract CallableWithConnectionAndSource = com.mongodb.operation.OperationHelper$CallableWithConnectionAndSource of com.mongodb.operation.OperationHelper