public class jdk.javadoc.internal.tool.JavadocEnter extends com.sun.tools.javac.comp.Enter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.javadoc.internal.tool.JavadocEnter
  super_class: com.sun.tools.javac.comp.Enter
{
  final jdk.javadoc.internal.tool.Messager messager;
    descriptor: Ljdk/javadoc/internal/tool/Messager;
    flags: (0x0010) ACC_FINAL

  final jdk.javadoc.internal.tool.ToolEnvironment toolEnv;
    descriptor: Ljdk/javadoc/internal/tool/ToolEnvironment;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.main.JavaCompiler compiler;
    descriptor: Lcom/sun/tools/javac/main/JavaCompiler;
    flags: (0x0010) ACC_FINAL

  public static jdk.javadoc.internal.tool.JavadocEnter instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/JavadocEnter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 52
            aload 0 /* context */
            getstatic jdk.javadoc.internal.tool.JavadocEnter.enterKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.Enter
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.Enter instance
         1: .line 53
            aload 1 /* instance */
            ifnonnull 3
         2: .line 54
            new jdk.javadoc.internal.tool.JavadocEnter
            dup
            aload 0 /* context */
            invokespecial jdk.javadoc.internal.tool.JavadocEnter.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 55
      StackMap locals: com.sun.tools.javac.comp.Enter
      StackMap stack:
            aload 1 /* instance */
            checkcast jdk.javadoc.internal.tool.JavadocEnter
            areturn
        end local 1 // com.sun.tools.javac.comp.Enter instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/javac/comp/Enter;
    MethodParameters:
         Name  Flags
      context  

  public static void preRegister(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 59
            aload 0 /* context */
            getstatic jdk.javadoc.internal.tool.JavadocEnter.enterKey:Lcom/sun/tools/javac/util/Context$Key;
            invokedynamic make()Lcom/sun/tools/javac/util/Context$Factory;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/sun/tools/javac/util/Context;)Ljava/lang/Object;
                  jdk/javadoc/internal/tool/JavadocEnter.<init>(Lcom/sun/tools/javac/util/Context;)V (8)
                  (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Enter;
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Lcom/sun/tools/javac/util/Context$Factory;)V
         1: .line 60
            return
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.JavadocEnter this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 63
            aload 0 /* this */
            aload 1 /* context */
            invokespecial com.sun.tools.javac.comp.Enter.<init>:(Lcom/sun/tools/javac/util/Context;)V
         1: .line 64
            aload 0 /* this */
            aload 1 /* context */
            invokestatic jdk.javadoc.internal.tool.Messager.instance0:(Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/Messager;
            putfield jdk.javadoc.internal.tool.JavadocEnter.messager:Ljdk/javadoc/internal/tool/Messager;
         2: .line 65
            aload 0 /* this */
            aload 1 /* context */
            invokestatic jdk.javadoc.internal.tool.ToolEnvironment.instance:(Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/ToolEnvironment;
            putfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
         3: .line 66
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.main.JavaCompiler.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/JavaCompiler;
            putfield jdk.javadoc.internal.tool.JavadocEnter.compiler:Lcom/sun/tools/javac/main/JavaCompiler;
         4: .line 67
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // jdk.javadoc.internal.tool.JavadocEnter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljdk/javadoc/internal/tool/JavadocEnter;
            0    5     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public void main(com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCCompilationUnit>);
    descriptor: (Lcom/sun/tools/javac/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.tool.JavadocEnter this
        start local 1 // com.sun.tools.javac.util.List trees
         0: .line 76
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.messager:Ljdk/javadoc/internal/tool/Messager;
            getfield jdk.javadoc.internal.tool.Messager.nerrors:I
            istore 2 /* nerrors */
        start local 2 // int nerrors
         1: .line 77
            aload 0 /* this */
            aload 1 /* trees */
            invokespecial com.sun.tools.javac.comp.Enter.main:(Lcom/sun/tools/javac/util/List;)V
         2: .line 78
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.compiler:Lcom/sun/tools/javac/main/JavaCompiler;
            invokevirtual com.sun.tools.javac.main.JavaCompiler.enterDone:()V
         3: .line 79
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            getfield jdk.javadoc.internal.tool.ToolEnvironment.ignoreSourceErrors:Z
            ifeq 6
         4: .line 80
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.messager:Ljdk/javadoc/internal/tool/Messager;
            dup
            getfield jdk.javadoc.internal.tool.Messager.nwarnings:I
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.messager:Ljdk/javadoc/internal/tool/Messager;
            getfield jdk.javadoc.internal.tool.Messager.nerrors:I
            iload 2 /* nerrors */
            isub
            iadd
            putfield jdk.javadoc.internal.tool.Messager.nwarnings:I
         5: .line 81
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.messager:Ljdk/javadoc/internal/tool/Messager;
            iload 2 /* nerrors */
            putfield jdk.javadoc.internal.tool.Messager.nerrors:I
         6: .line 83
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int nerrors
        end local 1 // com.sun.tools.javac.util.List trees
        end local 0 // jdk.javadoc.internal.tool.JavadocEnter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/javadoc/internal/tool/JavadocEnter;
            0    7     1    trees  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;
            1    7     2  nerrors  I
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;>;)V
    MethodParameters:
       Name  Flags
      trees  

  public void visitTopLevel(com.sun.tools.javac.tree.JCTree$JCCompilationUnit);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.javadoc.internal.tool.JavadocEnter this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         0: .line 87
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.comp.Enter.visitTopLevel:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)V
         1: .line 88
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            ldc "package-info"
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            invokeinterface javax.tools.JavaFileObject.isNameCompatible:(Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Z
            ifeq 7
         2: .line 89
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCCompilationUnit.getPackage:()Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
            astore 2 /* pd */
        start local 2 // com.sun.tools.javac.tree.JCTree$JCPackageDecl pd
         3: .line 90
            aload 2 /* pd */
            ifnonnull 4
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            aload 1 /* tree */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.getTreePath:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/source/util/TreePath;
            goto 5
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCPackageDecl
      StackMap stack:
         4: aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            aload 1 /* tree */
            aload 2 /* pd */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.getTreePath:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;)Lcom/sun/source/util/TreePath;
      StackMap locals:
      StackMap stack: com.sun.source.util.TreePath
         5: astore 3 /* tp */
        start local 3 // com.sun.source.util.TreePath tp
         6: .line 91
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            aload 3 /* tp */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.setElementToTreePath:(Ljavax/lang/model/element/Element;Lcom/sun/source/util/TreePath;)V
        end local 3 // com.sun.source.util.TreePath tp
        end local 2 // com.sun.tools.javac.tree.JCTree$JCPackageDecl pd
         7: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        end local 0 // jdk.javadoc.internal.tool.JavadocEnter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/javadoc/internal/tool/JavadocEnter;
            0    8     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            3    7     2    pd  Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
            6    7     3    tp  Lcom/sun/source/util/TreePath;
    MethodParameters:
      Name  Flags
      tree  

  public void visitClassDef(com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.tool.JavadocEnter this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
         0: .line 97
            aload 0 /* this */
            aload 1 /* tree */
            invokespecial com.sun.tools.javac.comp.Enter.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
         1: .line 98
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            ifnonnull 2
            return
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpeq 3
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.ERR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 6
         3: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            astore 2 /* c */
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         4: .line 101
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            aload 2 /* c */
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.toolEnv:Ljdk/javadoc/internal/tool/ToolEnvironment;
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            aload 1 /* tree */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.getTreePath:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Lcom/sun/source/util/TreePath;
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.setElementToTreePath:(Ljavax/lang/model/element/Element;Lcom/sun/source/util/TreePath;)V
         5: .line 102
            aload 2 /* c */
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.JavadocEnter.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.toplevel:Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            getfield com.sun.tools.javac.tree.JCTree$JCCompilationUnit.sourcefile:Ljavax/tools/JavaFileObject;
            putfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         6: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
        end local 0 // jdk.javadoc.internal.tool.JavadocEnter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/javadoc/internal/tool/JavadocEnter;
            0    7     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            4    6     2     c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
      Name  Flags
      tree  

  protected void duplicateClass(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.tool.JavadocEnter this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         0: .line 108
            return
        end local 2 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // jdk.javadoc.internal.tool.JavadocEnter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/tool/JavadocEnter;
            0    1     1   pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    1     2     c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    MethodParameters:
      Name  Flags
      pos   
      c     
}
SourceFile: "JavadocEnter.java"
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public JCCompilationUnit = com.sun.tools.javac.tree.JCTree$JCCompilationUnit of com.sun.tools.javac.tree.JCTree
  public JCPackageDecl = com.sun.tools.javac.tree.JCTree$JCPackageDecl of com.sun.tools.javac.tree.JCTree
  public abstract Factory = com.sun.tools.javac.util.Context$Factory of com.sun.tools.javac.util.Context
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject