public class org.antlr.codegen.RubyTarget extends org.antlr.codegen.Target
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.codegen.RubyTarget
  super_class: org.antlr.codegen.Target
{
  public static final java.util.Set<java.lang.String> rubyKeywords;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.lang.Object>> sharedActionBlocks;
    descriptor: Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 46
            new org.antlr.codegen.RubyTarget$1
            dup
            invokespecial org.antlr.codegen.RubyTarget$1.<init>:()V
         1: .line 45
            putstatic org.antlr.codegen.RubyTarget.rubyKeywords:Ljava/util/Set;
         2: .line 64
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.antlr.codegen.RubyTarget.sharedActionBlocks:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.codegen.RubyTarget this
         0: .line 40
            aload 0 /* this */
            invokespecial org.antlr.codegen.Target.<init>:()V
            return
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/codegen/RubyTarget;

  protected void genRecognizerFile(org.antlr.Tool, org.antlr.codegen.CodeGenerator, org.antlr.tool.Grammar, org.stringtemplate.v4.ST);
    descriptor: (Lorg/antlr/Tool;Lorg/antlr/codegen/CodeGenerator;Lorg/antlr/tool/Grammar;Lorg/stringtemplate/v4/ST;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // org.antlr.Tool tool
        start local 2 // org.antlr.codegen.CodeGenerator generator
        start local 3 // org.antlr.tool.Grammar grammar
        start local 4 // org.stringtemplate.v4.ST outputFileST
         0: .line 343
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.type:I
            iconst_4
            if_icmpne 5
         1: .line 344
            aload 3 /* grammar */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            astore 5 /* actions */
        start local 5 // java.util.Map actions
         2: .line 345
            aload 5 /* actions */
            ldc "all"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 346
            getstatic org.antlr.codegen.RubyTarget.sharedActionBlocks:Ljava/util/Map;
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            aload 5 /* actions */
            ldc "all"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.Map actions
         4: .line 348
            goto 9
      StackMap locals:
      StackMap stack:
         5: aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.implicitLexer:Z
            ifeq 9
         6: .line 349
            getstatic org.antlr.codegen.RubyTarget.sharedActionBlocks:Ljava/util/Map;
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 350
            aload 3 /* grammar */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            astore 5 /* actions */
        start local 5 // java.util.Map actions
         8: .line 351
            aload 5 /* actions */
            ldc "all"
            getstatic org.antlr.codegen.RubyTarget.sharedActionBlocks:Ljava/util/Map;
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.Map actions
         9: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* generator */
            invokevirtual org.antlr.codegen.CodeGenerator.getTemplates:()Lorg/stringtemplate/v4/STGroup;
            astore 5 /* group */
        start local 5 // org.stringtemplate.v4.STGroup group
        10: .line 356
            new org.antlr.codegen.RubyTarget$RubyRenderer
            dup
            aload 0 /* this */
            invokespecial org.antlr.codegen.RubyTarget$RubyRenderer.<init>:(Lorg/antlr/codegen/RubyTarget;)V
            astore 6 /* renderer */
        start local 6 // org.antlr.codegen.RubyTarget$RubyRenderer renderer
        11: .line 358
            aload 5 /* group */
            ldc "java.lang.String"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            aload 6 /* renderer */
            invokevirtual org.stringtemplate.v4.STGroup.registerRenderer:(Ljava/lang/Class;Lorg/stringtemplate/v4/AttributeRenderer;)V
        12: .line 359
            goto 16
      StackMap locals: org.antlr.codegen.RubyTarget org.antlr.Tool org.antlr.codegen.CodeGenerator org.antlr.tool.Grammar org.stringtemplate.v4.ST org.stringtemplate.v4.STGroup org.antlr.codegen.RubyTarget$RubyRenderer
      StackMap stack: java.lang.ClassNotFoundException
        13: astore 7 /* e */
        start local 7 // java.lang.ClassNotFoundException e
        14: .line 361
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ClassNotFoundException: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* e */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 362
            aload 7 /* e */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.ClassNotFoundException.printStackTrace:(Ljava/io/PrintStream;)V
        end local 7 // java.lang.ClassNotFoundException e
        16: .line 365
      StackMap locals:
      StackMap stack:
            aload 2 /* generator */
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            aload 3 /* grammar */
            getfield org.antlr.tool.Grammar.type:I
            invokevirtual org.antlr.codegen.CodeGenerator.getRecognizerFileName:(Ljava/lang/String;I)Ljava/lang/String;
        17: .line 364
            astore 7 /* fileName */
        start local 7 // java.lang.String fileName
        18: .line 366
            aload 2 /* generator */
            aload 4 /* outputFileST */
            aload 7 /* fileName */
            invokevirtual org.antlr.codegen.CodeGenerator.write:(Lorg/stringtemplate/v4/ST;Ljava/lang/String;)V
        19: .line 367
            return
        end local 7 // java.lang.String fileName
        end local 6 // org.antlr.codegen.RubyTarget$RubyRenderer renderer
        end local 5 // org.stringtemplate.v4.STGroup group
        end local 4 // org.stringtemplate.v4.ST outputFileST
        end local 3 // org.antlr.tool.Grammar grammar
        end local 2 // org.antlr.codegen.CodeGenerator generator
        end local 1 // org.antlr.Tool tool
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/antlr/codegen/RubyTarget;
            0   20     1          tool  Lorg/antlr/Tool;
            0   20     2     generator  Lorg/antlr/codegen/CodeGenerator;
            0   20     3       grammar  Lorg/antlr/tool/Grammar;
            0   20     4  outputFileST  Lorg/stringtemplate/v4/ST;
            2    4     5       actions  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
            8    9     5       actions  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
           10   20     5         group  Lorg/stringtemplate/v4/STGroup;
           11   20     6      renderer  Lorg/antlr/codegen/RubyTarget$RubyRenderer;
           14   16     7             e  Ljava/lang/ClassNotFoundException;
           18   20     7      fileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      tool          
      generator     
      grammar       
      outputFileST  

  public java.lang.String getTargetCharLiteralFromANTLRCharLiteral(org.antlr.codegen.CodeGenerator, java.lang.String);
    descriptor: (Lorg/antlr/codegen/CodeGenerator;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // org.antlr.codegen.CodeGenerator generator
        start local 2 // java.lang.String literal
         0: .line 375
            iconst_0
            istore 3 /* code_point */
        start local 3 // int code_point
         1: .line 376
            aload 2 /* literal */
            iconst_1
            aload 2 /* literal */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* literal */
         2: .line 378
            aload 2 /* literal */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 92
            if_icmpne 20
         3: .line 379
            aload 2 /* literal */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 9
                   34: 4
                   39: 4
                   92: 4
                   98: 12
                  102: 14
                  110: 6
                  114: 8
                  116: 10
                  117: 16
              default: 18
          }
         4: .line 383
      StackMap locals: int
      StackMap stack:
            aload 2 /* literal */
            iconst_1
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 3 /* code_point */
         5: .line 384
            goto 24
         6: .line 386
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 3 /* code_point */
         7: .line 387
            goto 24
         8: .line 389
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 3 /* code_point */
         9: .line 390
            goto 24
        10: .line 392
      StackMap locals:
      StackMap stack:
            bipush 9
            istore 3 /* code_point */
        11: .line 393
            goto 24
        12: .line 395
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 3 /* code_point */
        13: .line 396
            goto 24
        14: .line 398
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 3 /* code_point */
        15: .line 399
            goto 24
        16: .line 401
      StackMap locals:
      StackMap stack:
            aload 2 /* literal */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            istore 3 /* code_point */
        17: .line 402
            goto 24
        18: .line 404
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "1: hey you didn't account for this: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* literal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 407
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 2 /* literal */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 23
        21: .line 408
            aload 2 /* literal */
            iconst_0
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 3 /* code_point */
        22: .line 409
            goto 24
        23: .line 410
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "2: hey you didn't account for this: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* literal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 413
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* code_point */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int code_point
        end local 2 // java.lang.String literal
        end local 1 // org.antlr.codegen.CodeGenerator generator
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Lorg/antlr/codegen/RubyTarget;
            0   25     1   generator  Lorg/antlr/codegen/CodeGenerator;
            0   25     2     literal  Ljava/lang/String;
            1   25     3  code_point  I
    MethodParameters:
           Name  Flags
      generator  
      literal    

  public int getMaxCharValue(org.antlr.codegen.CodeGenerator);
    descriptor: (Lorg/antlr/codegen/CodeGenerator;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // org.antlr.codegen.CodeGenerator generator
         0: .line 420
            sipush 255
            ireturn
        end local 1 // org.antlr.codegen.CodeGenerator generator
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/antlr/codegen/RubyTarget;
            0    1     1  generator  Lorg/antlr/codegen/CodeGenerator;
    MethodParameters:
           Name  Flags
      generator  

  public java.lang.String getTokenTypeAsTargetLabel(org.antlr.codegen.CodeGenerator, int);
    descriptor: (Lorg/antlr/codegen/CodeGenerator;I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // org.antlr.codegen.CodeGenerator generator
        start local 2 // int ttype
         0: .line 426
            aload 1 /* generator */
            getfield org.antlr.codegen.CodeGenerator.grammar:Lorg/antlr/tool/Grammar;
            iload 2 /* ttype */
            invokevirtual org.antlr.tool.Grammar.getTokenDisplayName:(I)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 428
            aload 3 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 3
         2: .line 429
            aload 1 /* generator */
            getfield org.antlr.codegen.CodeGenerator.grammar:Lorg/antlr/tool/Grammar;
            iload 2 /* ttype */
            aload 3 /* name */
            invokevirtual org.antlr.tool.Grammar.computeTokenNameFromLiteral:(ILjava/lang/String;)Ljava/lang/String;
            areturn
         3: .line 431
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* name */
            areturn
        end local 3 // java.lang.String name
        end local 2 // int ttype
        end local 1 // org.antlr.codegen.CodeGenerator generator
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/codegen/RubyTarget;
            0    4     1  generator  Lorg/antlr/codegen/CodeGenerator;
            0    4     2      ttype  I
            1    4     3       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      generator  
      ttype      

  public boolean isValidActionScope(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // int grammarType
        start local 2 // java.lang.String scope
         0: .line 436
            aload 2 /* scope */
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 437
            iconst_1
            ireturn
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "token"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 440
            iconst_1
            ireturn
         4: .line 442
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 443
            iconst_1
            ireturn
         6: .line 445
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "overrides"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 446
            iconst_1
            ireturn
         8: .line 449
      StackMap locals:
      StackMap stack:
            iload 1 /* grammarType */
            tableswitch { // 1 - 4
                    1: 9
                    2: 11
                    3: 17
                    4: 13
              default: 19
          }
         9: .line 451
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "lexer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        10: .line 452
            iconst_1
            ireturn
        11: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "parser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        12: .line 457
            iconst_1
            ireturn
        13: .line 461
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "parser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 462
            iconst_1
            ireturn
        15: .line 464
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "lexer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 465
            iconst_1
            ireturn
        17: .line 469
      StackMap locals:
      StackMap stack:
            aload 2 /* scope */
            ldc "treeparser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 470
            iconst_1
            ireturn
        19: .line 474
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String scope
        end local 1 // int grammarType
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lorg/antlr/codegen/RubyTarget;
            0   20     1  grammarType  I
            0   20     2        scope  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      grammarType  
      scope        

  public java.lang.String encodeIntAsCharEscape(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.codegen.RubyTarget this
        start local 1 // int v
         0: .line 481
            iload 1 /* v */
            ldc 65535
            if_icmpne 3
         1: .line 482
            iconst_m1
            istore 2 /* intValue */
        start local 2 // int intValue
         2: .line 483
            goto 4
        end local 2 // int intValue
         3: .line 484
      StackMap locals:
      StackMap stack:
            iload 1 /* v */
            istore 2 /* intValue */
        start local 2 // int intValue
         4: .line 487
      StackMap locals: int
      StackMap stack:
            iload 2 /* intValue */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            areturn
        end local 2 // int intValue
        end local 1 // int v
        end local 0 // org.antlr.codegen.RubyTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/antlr/codegen/RubyTarget;
            0    5     1         v  I
            2    3     2  intValue  I
            4    5     2  intValue  I
    MethodParameters:
      Name  Flags
      v     final
}
SourceFile: "RubyTarget.java"
NestMembers:
  org.antlr.codegen.RubyTarget$1  org.antlr.codegen.RubyTarget$RubyRenderer
InnerClasses:
  org.antlr.codegen.RubyTarget$1
  public RubyRenderer = org.antlr.codegen.RubyTarget$RubyRenderer of org.antlr.codegen.RubyTarget