class org.apache.catalina.startup.Tomcat$SimpleRealm extends org.apache.catalina.realm.RealmBase
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.catalina.startup.Tomcat$SimpleRealm
  super_class: org.apache.catalina.realm.RealmBase
{
  final org.apache.catalina.startup.Tomcat this$0;
    descriptor: Lorg/apache/catalina/startup/Tomcat;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.apache.catalina.startup.Tomcat);
    descriptor: (Lorg/apache/catalina/startup/Tomcat;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
         0: .line 829
            aload 0 /* this */
            aload 1
            putfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            aload 0 /* this */
            invokespecial org.apache.catalina.realm.RealmBase.<init>:()V
            return
        end local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/startup/Tomcat$SimpleRealm;
    MethodParameters:
        Name  Flags
      this$0  final

  protected java.lang.String getPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
        start local 1 // java.lang.String username
         0: .line 833
            aload 0 /* this */
            getfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            getfield org.apache.catalina.startup.Tomcat.userPass:Ljava/util/Map;
            aload 1 /* username */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String username
        end local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/catalina/startup/Tomcat$SimpleRealm;
            0    1     1  username  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      username  

  protected java.security.Principal getPrincipal(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/Principal;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
        start local 1 // java.lang.String username
         0: .line 838
            aload 0 /* this */
            getfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            getfield org.apache.catalina.startup.Tomcat.userPrincipals:Ljava/util/Map;
            aload 1 /* username */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Principal
            astore 2 /* p */
        start local 2 // java.security.Principal p
         1: .line 839
            aload 2 /* p */
            ifnonnull 8
         2: .line 840
            aload 0 /* this */
            getfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            getfield org.apache.catalina.startup.Tomcat.userPass:Ljava/util/Map;
            aload 1 /* username */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* pass */
        start local 3 // java.lang.String pass
         3: .line 841
            aload 3 /* pass */
            ifnull 8
         4: .line 842
            new org.apache.catalina.realm.GenericPrincipal
            dup
            aload 1 /* username */
         5: .line 843
            aload 0 /* this */
            getfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            getfield org.apache.catalina.startup.Tomcat.userRoles:Ljava/util/Map;
            aload 1 /* username */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
         6: .line 842
            invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/util/List;)V
            astore 2 /* p */
         7: .line 844
            aload 0 /* this */
            getfield org.apache.catalina.startup.Tomcat$SimpleRealm.this$0:Lorg/apache/catalina/startup/Tomcat;
            getfield org.apache.catalina.startup.Tomcat.userPrincipals:Ljava/util/Map;
            aload 1 /* username */
            aload 2 /* p */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String pass
         8: .line 847
      StackMap locals: java.security.Principal
      StackMap stack:
            aload 2 /* p */
            areturn
        end local 2 // java.security.Principal p
        end local 1 // java.lang.String username
        end local 0 // org.apache.catalina.startup.Tomcat$SimpleRealm this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/apache/catalina/startup/Tomcat$SimpleRealm;
            0    9     1  username  Ljava/lang/String;
            1    9     2         p  Ljava/security/Principal;
            3    8     3      pass  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      username  
}
SourceFile: "Tomcat.java"
NestHost: org.apache.catalina.startup.Tomcat
InnerClasses:
  private SimpleRealm = org.apache.catalina.startup.Tomcat$SimpleRealm of org.apache.catalina.startup.Tomcat