public class io.vertx.ext.shell.impl.auth.MongoShellAuth implements io.vertx.ext.shell.impl.ShellAuth
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.shell.impl.auth.MongoShellAuth
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/impl/auth/MongoShellAuth;

  public java.lang.String provider();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
         0: .line 47
            ldc "mongo"
            areturn
        end local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/impl/auth/MongoShellAuth;

  public io.vertx.ext.auth.AuthProvider create(io.vertx.core.Vertx, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/AuthProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.json.JsonObject config
         0: .line 52
            new io.vertx.ext.auth.mongo.MongoAuthOptions
            dup
            aload 2 /* config */
            invokespecial io.vertx.ext.auth.mongo.MongoAuthOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            astore 3 /* options */
        start local 3 // io.vertx.ext.auth.mongo.MongoAuthOptions options
         1: .line 54
            aload 3 /* options */
            invokevirtual io.vertx.ext.auth.mongo.MongoAuthOptions.getShared:()Z
            ifeq 8
         2: .line 55
            aload 3 /* options */
            invokevirtual io.vertx.ext.auth.mongo.MongoAuthOptions.getDatasourceName:()Ljava/lang/String;
            astore 5 /* datasourceName */
        start local 5 // java.lang.String datasourceName
         3: .line 56
            aload 5 /* datasourceName */
            ifnull 6
         4: .line 57
            aload 1 /* vertx */
            aload 3 /* options */
            invokevirtual io.vertx.ext.auth.mongo.MongoAuthOptions.getConfig:()Lio/vertx/core/json/JsonObject;
            aload 5 /* datasourceName */
            invokestatic io.vertx.ext.mongo.MongoClient.createShared:(Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;Ljava/lang/String;)Lio/vertx/ext/mongo/MongoClient;
            astore 4 /* client */
        start local 4 // io.vertx.ext.mongo.MongoClient client
         5: .line 58
            goto 9
        end local 4 // io.vertx.ext.mongo.MongoClient client
         6: .line 59
      StackMap locals: io.vertx.ext.shell.impl.auth.MongoShellAuth io.vertx.core.Vertx io.vertx.core.json.JsonObject io.vertx.ext.auth.mongo.MongoAuthOptions top java.lang.String
      StackMap stack:
            aload 1 /* vertx */
            aload 3 /* options */
            invokevirtual io.vertx.ext.auth.mongo.MongoAuthOptions.getConfig:()Lio/vertx/core/json/JsonObject;
            invokestatic io.vertx.ext.mongo.MongoClient.createShared:(Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/mongo/MongoClient;
            astore 4 /* client */
        end local 5 // java.lang.String datasourceName
        start local 4 // io.vertx.ext.mongo.MongoClient client
         7: .line 61
            goto 9
        end local 4 // io.vertx.ext.mongo.MongoClient client
         8: .line 62
      StackMap locals: io.vertx.ext.shell.impl.auth.MongoShellAuth io.vertx.core.Vertx io.vertx.core.json.JsonObject io.vertx.ext.auth.mongo.MongoAuthOptions
      StackMap stack:
            aload 1 /* vertx */
            aload 3 /* options */
            invokevirtual io.vertx.ext.auth.mongo.MongoAuthOptions.getConfig:()Lio/vertx/core/json/JsonObject;
            invokestatic io.vertx.ext.mongo.MongoClient.create:(Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/mongo/MongoClient;
            astore 4 /* client */
        start local 4 // io.vertx.ext.mongo.MongoClient client
         9: .line 65
      StackMap locals: io.vertx.ext.mongo.MongoClient
      StackMap stack:
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 5 /* authConfig */
        start local 5 // io.vertx.core.json.JsonObject authConfig
        10: .line 66
            aload 3 /* options */
            aload 5 /* authConfig */
            invokestatic io.vertx.ext.auth.mongo.MongoAuthOptionsConverter.toJson:(Lio/vertx/ext/auth/mongo/MongoAuthOptions;Lio/vertx/core/json/JsonObject;)V
        11: .line 67
            aload 4 /* client */
            aload 5 /* authConfig */
            invokestatic io.vertx.ext.auth.mongo.MongoAuth.create:(Lio/vertx/ext/mongo/MongoClient;Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/mongo/MongoAuth;
            areturn
        end local 5 // io.vertx.core.json.JsonObject authConfig
        end local 4 // io.vertx.ext.mongo.MongoClient client
        end local 3 // io.vertx.ext.auth.mongo.MongoAuthOptions options
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.shell.impl.auth.MongoShellAuth this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/vertx/ext/shell/impl/auth/MongoShellAuth;
            0   12     1           vertx  Lio/vertx/core/Vertx;
            0   12     2          config  Lio/vertx/core/json/JsonObject;
            1   12     3         options  Lio/vertx/ext/auth/mongo/MongoAuthOptions;
            5    6     4          client  Lio/vertx/ext/mongo/MongoClient;
            7    8     4          client  Lio/vertx/ext/mongo/MongoClient;
            9   12     4          client  Lio/vertx/ext/mongo/MongoClient;
            3    7     5  datasourceName  Ljava/lang/String;
           10   12     5      authConfig  Lio/vertx/core/json/JsonObject;
    MethodParameters:
        Name  Flags
      vertx   
      config  
}
SourceFile: "MongoShellAuth.java"