public class sun.security.util.LocalizedMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.util.LocalizedMessage
  super_class: java.lang.Object
{
  private static final sun.security.util.Resources resources;
    descriptor: Lsun/security/util/Resources;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String key;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            new sun.security.util.Resources
            dup
            invokespecial sun.security.util.Resources.<init>:()V
            putstatic sun.security.util.LocalizedMessage.resources:Lsun/security/util/Resources;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.util.LocalizedMessage this
        start local 1 // java.lang.String key
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.util.LocalizedMessage.key:Ljava/lang/String;
         2: .line 58
            return
        end local 1 // java.lang.String key
        end local 0 // sun.security.util.LocalizedMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/util/LocalizedMessage;
            0    3     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String format(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.util.LocalizedMessage this
        start local 1 // java.lang.Object[] arguments
         0: .line 71
            aload 0 /* this */
            getfield sun.security.util.LocalizedMessage.key:Ljava/lang/String;
            aload 1 /* arguments */
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // sun.security.util.LocalizedMessage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/security/util/LocalizedMessage;
            0    1     1  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      arguments  

  public static java.lang.String getMessageUnbooted(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object[] arguments
         0: .line 87
            getstatic sun.security.util.LocalizedMessage.resources:Lsun/security/util/Resources;
            aload 0 /* key */
            invokevirtual sun.security.util.Resources.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 88
            aload 1 /* arguments */
            ifnull 2
            aload 1 /* arguments */
            arraylength
            ifne 3
         2: .line 89
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            areturn
         3: .line 93
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 95
            goto 18
        start local 4 // int nextBraceIndex
         5: .line 97
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* value */
            iconst_0
            iload 4 /* nextBraceIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* firstPart */
        start local 5 // java.lang.String firstPart
         6: .line 98
            aload 3 /* sb */
            aload 5 /* firstPart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 99
            aload 2 /* value */
            iload 4 /* nextBraceIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* value */
         8: .line 102
            aload 2 /* value */
            bipush 125
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* nextBraceIndex */
         9: .line 103
            iload 4 /* nextBraceIndex */
            ifge 11
        10: .line 107
            new java.lang.RuntimeException
            dup
            ldc "Unmatched braces"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 109
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            iconst_0
            iload 4 /* nextBraceIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* indexStr */
        start local 6 // java.lang.String indexStr
        12: .line 111
            aload 6 /* indexStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* index */
        start local 7 // int index
        13: .line 112
            aload 3 /* sb */
            aload 1 /* arguments */
            iload 7 /* index */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 7 // int index
        14: .line 113
            goto 17
        15: .line 114
      StackMap locals: java.lang.String java.lang.Object[] java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
            pop
        16: .line 116
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "not an integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* indexStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 118
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            iload 4 /* nextBraceIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* value */
        end local 6 // java.lang.String indexStr
        end local 5 // java.lang.String firstPart
        end local 4 // int nextBraceIndex
        18: .line 95
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            dup
            istore 4 /* nextBraceIndex */
        start local 4 // int nextBraceIndex
        19: ifge 5
        20: .line 120
            aload 3 /* sb */
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 121
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int nextBraceIndex
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.String value
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0             key  Ljava/lang/String;
            0   22     1       arguments  [Ljava/lang/Object;
            1   22     2           value  Ljava/lang/String;
            4   22     3              sb  Ljava/lang/StringBuilder;
            5   18     4  nextBraceIndex  I
           19   22     4  nextBraceIndex  I
            6   18     5       firstPart  Ljava/lang/String;
           12   18     6        indexStr  Ljava/lang/String;
           13   14     7           index  I
      Exception table:
        from    to  target  type
          12    14      15  Class java.lang.NumberFormatException
    MethodParameters:
           Name  Flags
      key        
      arguments  

  public static java.lang.String getMessage(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object[] arguments
         0: .line 138
            invokestatic jdk.internal.misc.VM.isBooted:()Z
            ifeq 6
         1: .line 140
            aload 0 /* key */
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         2: .line 141
            aload 1 /* arguments */
            ifnonnull 4
         3: .line 142
            aload 2 /* value */
            areturn
         4: .line 144
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
            aload 2 /* value */
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         5: .line 145
            aload 3 /* form */
            aload 1 /* arguments */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String value
         6: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* key */
            aload 1 /* arguments */
            invokestatic sun.security.util.LocalizedMessage.getMessageUnbooted:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0        key  Ljava/lang/String;
            0    7     1  arguments  [Ljava/lang/Object;
            2    6     2      value  Ljava/lang/String;
            5    6     3       form  Ljava/text/MessageFormat;
    MethodParameters:
           Name  Flags
      key        
      arguments  
}
SourceFile: "LocalizedMessage.java"