public class org.jruby.common.RubyWarnings implements org.jruby.common.IRubyWarnings, org.joni.WarnCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.common.RubyWarnings
  super_class: java.lang.Object
{
  private final org.jruby.Ruby runtime;
    descriptor: Lorg/jruby/Ruby;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<org.jruby.common.IRubyWarnings$ID> oncelers;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/jruby/common/IRubyWarnings$ID;>;

  public void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.Ruby runtime
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            ldc Lorg/jruby/common/IRubyWarnings$ID;
            invokestatic java.util.EnumSet.allOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            putfield org.jruby.common.RubyWarnings.oncelers:Ljava/util/Set;
         2: .line 53
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
         3: .line 54
            return
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/common/RubyWarnings;
            0    4     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public static org.jruby.RubyModule createWarningModule(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyModule;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 57
            aload 0 /* runtime */
            ldc "Warning"
            invokevirtual org.jruby.Ruby.defineModule:(Ljava/lang/String;)Lorg/jruby/RubyModule;
            astore 1 /* warning */
        start local 1 // org.jruby.RubyModule warning
         1: .line 59
            aload 1 /* warning */
            ldc Lorg/jruby/common/RubyWarnings;
            invokevirtual org.jruby.RubyModule.defineAnnotatedMethods:(Ljava/lang/Class;)V
         2: .line 60
            aload 1 /* warning */
            aload 1 /* warning */
            invokevirtual org.jruby.RubyModule.extend_object:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 62
            aload 0 /* runtime */
            aload 1 /* warning */
            invokevirtual org.jruby.Ruby.setWarning:(Lorg/jruby/RubyModule;)V
         4: .line 64
            aload 1 /* warning */
            areturn
        end local 1 // org.jruby.RubyModule warning
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  runtime  Lorg/jruby/Ruby;
            1    5     1  warning  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      runtime  

  public void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // java.lang.String message
         0: .line 69
            aload 0 /* this */
            getstatic org.jruby.common.IRubyWarnings$ID.MISCELLANEOUS:Lorg/jruby/common/IRubyWarnings$ID;
            aload 1 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 70
            return
        end local 1 // java.lang.String message
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/common/RubyWarnings;
            0    2     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public org.jruby.Ruby getRuntime();
    descriptor: ()Lorg/jruby/Ruby;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.common.RubyWarnings this
         0: .line 74
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            areturn
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/common/RubyWarnings;

  public boolean isVerbose();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.common.RubyWarnings this
         0: .line 79
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ireturn
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/common/RubyWarnings;

  public void warn(org.jruby.common.IRubyWarnings$ID, org.jruby.lexer.yacc.ISourcePosition, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Lorg/jruby/lexer/yacc/ISourcePosition;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // org.jruby.lexer.yacc.ISourcePosition position
        start local 3 // java.lang.String message
         0: .line 88
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getFile:()Ljava/lang/String;
            aload 2 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getLine:()I
            aload 3 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
         2: .line 91
            return
        end local 3 // java.lang.String message
        end local 2 // org.jruby.lexer.yacc.ISourcePosition position
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/jruby/common/RubyWarnings;
            0    3     1        id  Lorg/jruby/common/IRubyWarnings$ID;
            0    3     2  position  Lorg/jruby/lexer/yacc/ISourcePosition;
            0    3     3   message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      id        
      position  
      message   

  public void warn(org.jruby.common.IRubyWarnings$ID, java.lang.String, int, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String fileName
        start local 3 // int lineNumber
        start local 4 // java.lang.String message
         0: .line 98
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 100
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* buffer */
        start local 5 // java.lang.StringBuilder buffer
         2: .line 102
            aload 5 /* buffer */
            aload 2 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* lineNumber */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 103
            aload 5 /* buffer */
            ldc "warning: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 104
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 6 /* errorString */
        start local 6 // org.jruby.RubyString errorString
         5: .line 106
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 6 /* errorString */
            invokestatic org.jruby.common.RubyWarnings.writeWarningDyncall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)V
         6: .line 107
            return
        end local 6 // org.jruby.RubyString errorString
        end local 5 // java.lang.StringBuilder buffer
        end local 4 // java.lang.String message
        end local 3 // int lineNumber
        end local 2 // java.lang.String fileName
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/common/RubyWarnings;
            0    7     1           id  Lorg/jruby/common/IRubyWarnings$ID;
            0    7     2     fileName  Ljava/lang/String;
            0    7     3   lineNumber  I
            0    7     4      message  Ljava/lang/String;
            2    7     5       buffer  Ljava/lang/StringBuilder;
            5    7     6  errorString  Lorg/jruby/RubyString;
    MethodParameters:
            Name  Flags
      id          
      fileName    
      lineNumber  
      message     

  public static void writeWarningDyncall(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString errorString
         0: .line 111
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarning:()Lorg/jruby/RubyModule;
            astore 2 /* warning */
        start local 2 // org.jruby.RubyModule warning
         1: .line 113
            aload 0 /* context */
            invokestatic org.jruby.common.RubyWarnings.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$WarningSites;
            getfield org.jruby.runtime.JavaSites$WarningSites.warn:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 2 /* warning */
            aload 2 /* warning */
            aload 1 /* errorString */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 114
            return
        end local 2 // org.jruby.RubyModule warning
        end local 1 // org.jruby.RubyString errorString
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0      context  Lorg/jruby/runtime/ThreadContext;
            0    3     1  errorString  Lorg/jruby/RubyString;
            1    3     2      warning  Lorg/jruby/RubyModule;
    MethodParameters:
             Name  Flags
      context      
      errorString  

  public static void writeWarningToError(org.jruby.runtime.ThreadContext, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString errorString
         0: .line 118
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 120
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$stderr"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* errorStream */
        start local 3 // org.jruby.runtime.builtin.IRubyObject errorStream
         2: .line 121
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getWarning:()Lorg/jruby/RubyModule;
            astore 4 /* warning */
        start local 4 // org.jruby.RubyModule warning
         3: .line 123
            aload 0 /* context */
            invokestatic org.jruby.common.RubyWarnings.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$WarningSites;
            getfield org.jruby.runtime.JavaSites$WarningSites.write:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 4 /* warning */
            aload 3 /* errorStream */
            aload 1 /* errorString */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 124
            return
        end local 4 // org.jruby.RubyModule warning
        end local 3 // org.jruby.runtime.builtin.IRubyObject errorStream
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.RubyString errorString
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1  errorString  Lorg/jruby/RubyString;
            1    5     2      runtime  Lorg/jruby/Ruby;
            2    5     3  errorStream  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     4      warning  Lorg/jruby/RubyModule;
    MethodParameters:
             Name  Flags
      context      
      errorString  

  public void warn(org.jruby.common.IRubyWarnings$ID, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String message
         0: .line 128
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.runtime.ThreadContext.getSingleBacktrace:()Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement stack
         2: .line 134
            aload 3 /* stack */
            ifnonnull 6
         3: .line 135
            ldc "(unknown)"
            astore 4 /* file */
        start local 4 // java.lang.String file
         4: .line 136
            iconst_0
            istore 5 /* line */
        start local 5 // int line
         5: .line 137
            goto 8
        end local 5 // int line
        end local 4 // java.lang.String file
         6: .line 138
      StackMap locals: org.jruby.runtime.backtrace.RubyStackTraceElement
      StackMap stack:
            aload 3 /* stack */
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getFileName:()Ljava/lang/String;
            astore 4 /* file */
        start local 4 // java.lang.String file
         7: .line 139
            aload 3 /* stack */
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getLineNumber:()I
            istore 5 /* line */
        start local 5 // int line
         8: .line 143
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 4 /* file */
            iload 5 /* line */
            iconst_1
            isub
            aload 2 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
         9: .line 144
            return
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement stack
        end local 2 // java.lang.String message
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/common/RubyWarnings;
            0   10     1       id  Lorg/jruby/common/IRubyWarnings$ID;
            0   10     2  message  Ljava/lang/String;
            2   10     3    stack  Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            4    6     4     file  Ljava/lang/String;
            7   10     4     file  Ljava/lang/String;
            5    6     5     line  I
            8   10     5     line  I
    MethodParameters:
         Name  Flags
      id       
      message  

  public void warn(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // java.lang.String filename
        start local 2 // java.lang.String message
         0: .line 147
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuilder buffer
         2: .line 151
            aload 3 /* buffer */
            aload 1 /* filename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 152
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            astore 4 /* errorString */
        start local 4 // org.jruby.RubyString errorString
         4: .line 154
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 4 /* errorString */
            invokestatic org.jruby.common.RubyWarnings.writeWarningDyncall:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)V
         5: .line 155
            return
        end local 4 // org.jruby.RubyString errorString
        end local 3 // java.lang.StringBuilder buffer
        end local 2 // java.lang.String message
        end local 1 // java.lang.String filename
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/common/RubyWarnings;
            0    6     1     filename  Ljava/lang/String;
            0    6     2      message  Ljava/lang/String;
            2    6     3       buffer  Ljava/lang/StringBuilder;
            4    6     4  errorString  Lorg/jruby/RubyString;
    MethodParameters:
          Name  Flags
      filename  
      message   

  public void warnOnce(org.jruby.common.IRubyWarnings$ID, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String message
         0: .line 158
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.oncelers:Ljava/util/Set;
            aload 1 /* id */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            return
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.oncelers:Ljava/util/Set;
            aload 1 /* id */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 162
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         4: .line 163
            return
        end local 2 // java.lang.String message
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/common/RubyWarnings;
            0    5     1       id  Lorg/jruby/common/IRubyWarnings$ID;
            0    5     2  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      id       
      message  

  public void warning(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // java.lang.String message
         0: .line 170
            aload 0 /* this */
            invokevirtual org.jruby.common.RubyWarnings.isVerbose:()Z
            ifne 1
            return
         1: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 2
            return
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.common.IRubyWarnings$ID.MISCELLANEOUS:Lorg/jruby/common/IRubyWarnings$ID;
            aload 1 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warning:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         3: .line 174
            return
        end local 1 // java.lang.String message
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/common/RubyWarnings;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public void warning(org.jruby.common.IRubyWarnings$ID, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String message
         0: .line 178
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            aload 1 /* id */
            aload 2 /* message */
            invokestatic org.jruby.common.RubyWarnings.writeWarning:(Lorg/jruby/Ruby;Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         3: .line 181
            return
        end local 2 // java.lang.String message
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/common/RubyWarnings;
            0    4     1       id  Lorg/jruby/common/IRubyWarnings$ID;
            0    4     2  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      id       
      message  

  private static void writeWarning(org.jruby.Ruby, org.jruby.common.IRubyWarnings$ID, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String message
         0: .line 184
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.runtime.ThreadContext.getSingleBacktrace:()Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            astore 3 /* stack */
        start local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement stack
         1: .line 188
            aload 3 /* stack */
            ifnonnull 5
         2: .line 189
            ldc "(unknown)"
            astore 4 /* file */
        start local 4 // java.lang.String file
         3: .line 190
            iconst_m1
            istore 5 /* line */
        start local 5 // int line
         4: .line 191
            goto 7
        end local 5 // int line
        end local 4 // java.lang.String file
         5: .line 192
      StackMap locals: org.jruby.runtime.backtrace.RubyStackTraceElement
      StackMap stack:
            aload 3 /* stack */
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getFileName:()Ljava/lang/String;
            astore 4 /* file */
        start local 4 // java.lang.String file
         6: .line 193
            aload 3 /* stack */
            invokevirtual org.jruby.runtime.backtrace.RubyStackTraceElement.getLineNumber:()I
            istore 5 /* line */
        start local 5 // int line
         7: .line 196
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            aload 1 /* id */
            aload 4 /* file */
            iload 5 /* line */
            aload 2 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warning:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
         8: .line 197
            return
        end local 5 // int line
        end local 4 // java.lang.String file
        end local 3 // org.jruby.runtime.backtrace.RubyStackTraceElement stack
        end local 2 // java.lang.String message
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  runtime  Lorg/jruby/Ruby;
            0    9     1       id  Lorg/jruby/common/IRubyWarnings$ID;
            0    9     2  message  Ljava/lang/String;
            1    9     3    stack  Lorg/jruby/runtime/backtrace/RubyStackTraceElement;
            3    5     4     file  Ljava/lang/String;
            6    9     4     file  Ljava/lang/String;
            4    5     5     line  I
            7    9     5     line  I
    MethodParameters:
         Name  Flags
      runtime  
      id       
      message  

  public void warning(org.jruby.common.IRubyWarnings$ID, org.jruby.lexer.yacc.ISourcePosition, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Lorg/jruby/lexer/yacc/ISourcePosition;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // org.jruby.lexer.yacc.ISourcePosition position
        start local 3 // java.lang.String message
         0: .line 205
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getFile:()Ljava/lang/String;
            aload 2 /* position */
            invokeinterface org.jruby.lexer.yacc.ISourcePosition.getLine:()I
            aload 3 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warning:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
         1: .line 206
            return
        end local 3 // java.lang.String message
        end local 2 // org.jruby.lexer.yacc.ISourcePosition position
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/common/RubyWarnings;
            0    2     1        id  Lorg/jruby/common/IRubyWarnings$ID;
            0    2     2  position  Lorg/jruby/lexer/yacc/ISourcePosition;
            0    2     3   message  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      id        
      position  
      message   

  public void warning(org.jruby.common.IRubyWarnings$ID, java.lang.String, int, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String fileName
        start local 3 // int lineNumber
        start local 4 // java.lang.String message
         0: .line 213
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* fileName */
            iload 3 /* lineNumber */
            aload 4 /* message */
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;ILjava/lang/String;)V
         3: .line 216
            return
        end local 4 // java.lang.String message
        end local 3 // int lineNumber
        end local 2 // java.lang.String fileName
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/common/RubyWarnings;
            0    4     1          id  Lorg/jruby/common/IRubyWarnings$ID;
            0    4     2    fileName  Ljava/lang/String;
            0    4     3  lineNumber  I
            0    4     4     message  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      id          
      fileName    
      lineNumber  
      message     

  public static org.jruby.runtime.builtin.IRubyObject warn(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject recv
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 220
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 222
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 224
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* context */
            aload 2 /* arg */
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getString:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.util.TypeConverter.checkType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;)V
         3: .line 225
            aload 2 /* arg */
            checkcast org.jruby.RubyString
            astore 4 /* str */
        start local 4 // org.jruby.RubyString str
         4: .line 226
            aload 4 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 6
         5: .line 227
            aload 3 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "ASCII incompatible encoding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* str */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 229
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 4 /* str */
            invokestatic org.jruby.common.RubyWarnings.writeWarningToError:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;)V
         7: .line 230
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyString str
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.builtin.IRubyObject recv
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lorg/jruby/runtime/ThreadContext;
            0    8     1     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    8     3  runtime  Lorg/jruby/Ruby;
            4    8     4      str  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      recv     
      arg      

  private static org.jruby.runtime.JavaSites$WarningSites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$WarningSites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 234
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Warning:Lorg/jruby/runtime/JavaSites$WarningSites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public void warn(org.jruby.common.IRubyWarnings$ID, java.lang.String, java.lang.String);
    descriptor: (Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.common.RubyWarnings this
        start local 1 // org.jruby.common.IRubyWarnings$ID id
        start local 2 // java.lang.String fileName
        start local 3 // java.lang.String message
         0: .line 243
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.warningsEnabled:()Z
            ifne 1
            return
         1: .line 245
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuilder buffer
         2: .line 247
            aload 4 /* buffer */
            aload 2 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 248
            aload 4 /* buffer */
            ldc "warning: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 249
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$stderr"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* errorStream */
        start local 5 // org.jruby.runtime.builtin.IRubyObject errorStream
         5: .line 250
            aload 5 /* errorStream */
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "write"
            aload 0 /* this */
            getfield org.jruby.common.RubyWarnings.runtime:Lorg/jruby/Ruby;
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newString:(Ljava/lang/String;)Lorg/jruby/RubyString;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 251
            return
        end local 5 // org.jruby.runtime.builtin.IRubyObject errorStream
        end local 4 // java.lang.StringBuilder buffer
        end local 3 // java.lang.String message
        end local 2 // java.lang.String fileName
        end local 1 // org.jruby.common.IRubyWarnings$ID id
        end local 0 // org.jruby.common.RubyWarnings this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/common/RubyWarnings;
            0    7     1           id  Lorg/jruby/common/IRubyWarnings$ID;
            0    7     2     fileName  Ljava/lang/String;
            0    7     3      message  Ljava/lang/String;
            2    7     4       buffer  Ljava/lang/StringBuilder;
            5    7     5  errorStream  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      id        
      fileName  
      message   
}
SourceFile: "RubyWarnings.java"
InnerClasses:
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public WarningSites = org.jruby.runtime.JavaSites$WarningSites of org.jruby.runtime.JavaSites