public class io.vertx.ext.auth.impl.UserConverter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.auth.impl.UserConverter
  super_class: java.lang.Object
{
  private static final java.lang.String FIELD_PRINCIPAL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "principal"

  private static final java.lang.String FIELD_AUTHORIZATIONS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "authorizations"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.impl.UserConverter this
         0: .line 23
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.auth.impl.UserConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/impl/UserConverter;

  public static io.vertx.core.json.JsonObject encode(io.vertx.ext.auth.User);
    descriptor: (Lio/vertx/ext/auth/User;)Lio/vertx/core/json/JsonObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // io.vertx.ext.auth.User value
         0: .line 29
            aload 0 /* value */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 31
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 1 /* json */
        start local 1 // io.vertx.core.json.JsonObject json
         2: .line 32
            aload 1 /* json */
            ldc "principal"
            aload 0 /* value */
            invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 33
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 2 /* jsonAuthorizations */
        start local 2 // io.vertx.core.json.JsonObject jsonAuthorizations
         4: .line 34
            aload 0 /* value */
            invokeinterface io.vertx.ext.auth.User.authorizations:()Lio/vertx/ext/auth/authorization/Authorizations;
            invokeinterface io.vertx.ext.auth.authorization.Authorizations.getProviderIds:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: io.vertx.ext.auth.User io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* providerId */
        start local 3 // java.lang.String providerId
         6: .line 35
            new io.vertx.core.json.JsonArray
            dup
            invokespecial io.vertx.core.json.JsonArray.<init>:()V
            astore 5 /* jsonAuthorizationByProvider */
        start local 5 // io.vertx.core.json.JsonArray jsonAuthorizationByProvider
         7: .line 36
            aload 2 /* jsonAuthorizations */
            aload 3 /* providerId */
            aload 5 /* jsonAuthorizationByProvider */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         8: .line 37
            aload 0 /* value */
            invokeinterface io.vertx.ext.auth.User.authorizations:()Lio/vertx/ext/auth/authorization/Authorizations;
            aload 3 /* providerId */
            invokeinterface io.vertx.ext.auth.authorization.Authorizations.get:(Ljava/lang/String;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: io.vertx.ext.auth.User io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject java.lang.String java.util.Iterator io.vertx.core.json.JsonArray top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.auth.authorization.Authorization
            astore 6 /* authorization */
        start local 6 // io.vertx.ext.auth.authorization.Authorization authorization
        10: .line 38
            aload 5 /* jsonAuthorizationByProvider */
            aload 6 /* authorization */
            invokestatic io.vertx.ext.auth.authorization.impl.AuthorizationConverter.encode:(Lio/vertx/ext/auth/authorization/Authorization;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        end local 6 // io.vertx.ext.auth.authorization.Authorization authorization
        11: .line 37
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 5 // io.vertx.core.json.JsonArray jsonAuthorizationByProvider
        end local 3 // java.lang.String providerId
        12: .line 34
      StackMap locals: io.vertx.ext.auth.User io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 41
            aload 1 /* json */
            ldc "authorizations"
            aload 2 /* jsonAuthorizations */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        14: .line 42
            aload 1 /* json */
            areturn
        end local 2 // io.vertx.core.json.JsonObject jsonAuthorizations
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.auth.User value
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   15     0                        value  Lio/vertx/ext/auth/User;
            2   15     1                         json  Lio/vertx/core/json/JsonObject;
            4   15     2           jsonAuthorizations  Lio/vertx/core/json/JsonObject;
            6   12     3                   providerId  Ljava/lang/String;
            7   12     5  jsonAuthorizationByProvider  Lio/vertx/core/json/JsonArray;
           10   11     6                authorization  Lio/vertx/ext/auth/authorization/Authorization;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
       Name  Flags
      value  

  public static io.vertx.ext.auth.User decode(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/User;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // io.vertx.core.json.JsonObject json
         0: .line 46
            aload 0 /* json */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 48
            aload 0 /* json */
            ldc "principal"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 1 /* principal */
        start local 1 // io.vertx.core.json.JsonObject principal
         2: .line 49
            aload 1 /* principal */
            invokestatic io.vertx.ext.auth.User.create:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/User;
            astore 2 /* user */
        start local 2 // io.vertx.ext.auth.User user
         3: .line 51
            aload 0 /* json */
            ldc "authorizations"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 3 /* jsonAuthorizations */
        start local 3 // io.vertx.core.json.JsonObject jsonAuthorizations
         4: .line 52
            aload 3 /* jsonAuthorizations */
            invokevirtual io.vertx.core.json.JsonObject.fieldNames:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject io.vertx.ext.auth.User io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* fieldName */
        start local 4 // java.lang.String fieldName
         6: .line 53
            aload 3 /* jsonAuthorizations */
            aload 4 /* fieldName */
            invokevirtual io.vertx.core.json.JsonObject.getJsonArray:(Ljava/lang/String;)Lio/vertx/core/json/JsonArray;
            astore 6 /* jsonAuthorizationByProvider */
        start local 6 // io.vertx.core.json.JsonArray jsonAuthorizationByProvider
         7: .line 54
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 12
         9: .line 55
      StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject io.vertx.ext.auth.User io.vertx.core.json.JsonObject java.lang.String java.util.Iterator io.vertx.core.json.JsonArray int
      StackMap stack:
            aload 6 /* jsonAuthorizationByProvider */
            iload 7 /* i */
            invokevirtual io.vertx.core.json.JsonArray.getJsonObject:(I)Lio/vertx/core/json/JsonObject;
            astore 8 /* jsonAuthorization */
        start local 8 // io.vertx.core.json.JsonObject jsonAuthorization
        10: .line 56
            aload 2 /* user */
            invokeinterface io.vertx.ext.auth.User.authorizations:()Lio/vertx/ext/auth/authorization/Authorizations;
            aload 4 /* fieldName */
            aload 8 /* jsonAuthorization */
            invokestatic io.vertx.ext.auth.authorization.impl.AuthorizationConverter.decode:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/authorization/Authorization;
            invokeinterface io.vertx.ext.auth.authorization.Authorizations.add:(Ljava/lang/String;Lio/vertx/ext/auth/authorization/Authorization;)Lio/vertx/ext/auth/authorization/Authorizations;
            pop
        end local 8 // io.vertx.core.json.JsonObject jsonAuthorization
        11: .line 54
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            aload 6 /* jsonAuthorizationByProvider */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            if_icmplt 9
        end local 7 // int i
        end local 6 // io.vertx.core.json.JsonArray jsonAuthorizationByProvider
        end local 4 // java.lang.String fieldName
        13: .line 52
      StackMap locals: io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject io.vertx.ext.auth.User io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 59
            aload 2 /* user */
            areturn
        end local 3 // io.vertx.core.json.JsonObject jsonAuthorizations
        end local 2 // io.vertx.ext.auth.User user
        end local 1 // io.vertx.core.json.JsonObject principal
        end local 0 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   15     0                         json  Lio/vertx/core/json/JsonObject;
            2   15     1                    principal  Lio/vertx/core/json/JsonObject;
            3   15     2                         user  Lio/vertx/ext/auth/User;
            4   15     3           jsonAuthorizations  Lio/vertx/core/json/JsonObject;
            6   13     4                    fieldName  Ljava/lang/String;
            7   13     6  jsonAuthorizationByProvider  Lio/vertx/core/json/JsonArray;
            8   13     7                            i  I
           10   11     8            jsonAuthorization  Lio/vertx/core/json/JsonObject;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      json  
}
SourceFile: "UserConverter.java"