class com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper
  super_class: java.lang.Object
{
  static final com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template skip;
    descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template argMismatchTemplate;
    descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template inferArgMismatchTemplate;
    descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.util.Map<com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template, com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$DiagnosticRewriter> rewriters;
    descriptor: Ljava/util/Map;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$DiagnosticRewriter;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 4813
            new com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$1
            dup
            ldc ""
            iconst_0
            anewarray com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$1.<init>:(Ljava/lang/String;[Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;)V
            putstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.skip:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
         1: .line 4821
            new com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template
            dup
            getstatic com.sun.tools.javac.comp.Resolve$MethodCheckDiag.ARG_MISMATCH:Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodCheckDiag.regex:()Ljava/lang/String;
            iconst_1
            anewarray com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template
            dup
            iconst_0
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.skip:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
            aastore
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template.<init>:(Ljava/lang/String;[Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;)V
            putstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.argMismatchTemplate:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
         2: .line 4824
            new com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$2
            dup
            getstatic com.sun.tools.javac.comp.Resolve$MethodCheckDiag.ARG_MISMATCH:Lcom/sun/tools/javac/comp/Resolve$MethodCheckDiag;
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodCheckDiag.regex:()Ljava/lang/String;
            iconst_2
            anewarray com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template
            dup
            iconst_0
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.skip:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
            aastore
            dup
            iconst_1
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.skip:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
            aastore
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$2.<init>:(Ljava/lang/String;[Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;)V
            putstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.inferArgMismatchTemplate:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
         3: .line 4853
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.rewriters:Ljava/util/Map;
         4: .line 4856
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.rewriters:Ljava/util/Map;
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.argMismatchTemplate:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
            new com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$ArgMismatchRewriter
            dup
            iconst_0
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$ArgMismatchRewriter.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 4857
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.rewriters:Ljava/util/Map;
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.inferArgMismatchTemplate:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;
            new com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$ArgMismatchRewriter
            dup
            iconst_1
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$ArgMismatchRewriter.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 4858
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper this
         0: .line 4736
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper;

  static com.sun.tools.javac.util.JCDiagnostic rewrite(com.sun.tools.javac.util.JCDiagnostic$Factory, com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.util.DiagnosticSource, com.sun.tools.javac.util.JCDiagnostic$DiagnosticType, com.sun.tools.javac.util.JCDiagnostic);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$Factory;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/DiagnosticSource;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticType;Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/util/JCDiagnostic;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // com.sun.tools.javac.util.JCDiagnostic$Factory diags
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.util.DiagnosticSource source
        start local 3 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticType dkind
        start local 4 // com.sun.tools.javac.util.JCDiagnostic d
         0: .line 4866
            getstatic com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper.rewriters:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: com.sun.tools.javac.util.JCDiagnostic$Factory com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.util.DiagnosticSource com.sun.tools.javac.util.JCDiagnostic$DiagnosticType com.sun.tools.javac.util.JCDiagnostic top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* _entry */
        start local 5 // java.util.Map$Entry _entry
         2: .line 4867
            aload 5 /* _entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template
            aload 4 /* d */
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template.matches:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 4869
            aload 5 /* _entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$DiagnosticRewriter
            aload 0 /* diags */
            aload 1 /* pos */
            aload 2 /* source */
            aload 3 /* dkind */
            aload 4 /* d */
            invokeinterface com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$DiagnosticRewriter.rewriteDiagnostic:(Lcom/sun/tools/javac/util/JCDiagnostic$Factory;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/DiagnosticSource;Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticType;Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/util/JCDiagnostic;
         4: .line 4868
            astore 7 /* simpleDiag */
        start local 7 // com.sun.tools.javac.util.JCDiagnostic simpleDiag
         5: .line 4870
            aload 7 /* simpleDiag */
            getstatic com.sun.tools.javac.util.JCDiagnostic$DiagnosticFlag.COMPRESSED:Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticFlag;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic.setFlag:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticFlag;)V
         6: .line 4871
            aload 7 /* simpleDiag */
            areturn
        end local 7 // com.sun.tools.javac.util.JCDiagnostic simpleDiag
        end local 5 // java.util.Map$Entry _entry
         7: .line 4866
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 4874
            aconst_null
            areturn
        end local 4 // com.sun.tools.javac.util.JCDiagnostic d
        end local 3 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticType dkind
        end local 2 // com.sun.tools.javac.util.DiagnosticSource source
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.util.JCDiagnostic$Factory diags
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       diags  Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            0    9     1         pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    9     2      source  Lcom/sun/tools/javac/util/DiagnosticSource;
            0    9     3       dkind  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticType;
            0    9     4           d  Lcom/sun/tools/javac/util/JCDiagnostic;
            2    7     5      _entry  Ljava/util/Map$Entry<Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$Template;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionDiagHelper$DiagnosticRewriter;>;
            5    7     7  simpleDiag  Lcom/sun/tools/javac/util/JCDiagnostic;
    MethodParameters:
        Name  Flags
      diags   
      pos     
      source  
      dkind   
      d       
}
SourceFile: "Resolve.java"
NestHost: com.sun.tools.javac.comp.Resolve
InnerClasses:
  final MethodCheckDiag = com.sun.tools.javac.comp.Resolve$MethodCheckDiag of com.sun.tools.javac.comp.Resolve
  MethodResolutionDiagHelper = com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper of com.sun.tools.javac.comp.Resolve
  com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$1
  com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$2
  ArgMismatchRewriter = com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$ArgMismatchRewriter of com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper
  abstract DiagnosticRewriter = com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$DiagnosticRewriter of com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper
  Template = com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper$Template of com.sun.tools.javac.comp.Resolve$MethodResolutionDiagHelper
  public final DiagnosticFlag = com.sun.tools.javac.util.JCDiagnostic$DiagnosticFlag of com.sun.tools.javac.util.JCDiagnostic
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public final DiagnosticType = com.sun.tools.javac.util.JCDiagnostic$DiagnosticType of com.sun.tools.javac.util.JCDiagnostic
  public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
  public abstract Entry = java.util.Map$Entry of java.util.Map