public class jdk.javadoc.internal.tool.ToolEnvironment
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.javadoc.internal.tool.ToolEnvironment
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<jdk.javadoc.internal.tool.ToolEnvironment> ToolEnvKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Ljdk/javadoc/internal/tool/ToolEnvironment;>;

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

  public final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final com.sun.tools.javac.code.ClassFinder finder;
    descriptor: Lcom/sun/tools/javac/code/ClassFinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.sun.tools.javac.comp.Enter enter;
    descriptor: Lcom/sun/tools/javac/comp/Enter;
    flags: (0x0010) ACC_FINAL

  private com.sun.tools.javac.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    flags: (0x0002) ACC_PRIVATE

  final com.sun.tools.javac.code.Symbol externalizableSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0010) ACC_FINAL

  boolean quiet;
    descriptor: Z
    flags: (0x0000) 

  boolean ignoreSourceErrors;
    descriptor: Z
    flags: (0x0000) 

  com.sun.tools.javac.comp.Check chk;
    descriptor: Lcom/sun/tools/javac/comp/Check;
    flags: (0x0000) 

  com.sun.tools.javac.code.Types types;
    descriptor: Lcom/sun/tools/javac/code/Types;
    flags: (0x0000) 

  javax.tools.JavaFileManager fileManager;
    descriptor: Ljavax/tools/JavaFileManager;
    flags: (0x0000) 

  public final com.sun.tools.javac.util.Context context;
    descriptor: Lcom/sun/tools/javac/util/Context;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  java.util.WeakHashMap<com.sun.tools.javac.tree.JCTree, com.sun.source.util.TreePath> treePaths;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x0000) 
    Signature: Ljava/util/WeakHashMap<Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/source/util/TreePath;>;

  boolean docClasses;
    descriptor: Z
    flags: (0x0000) 

  public final com.sun.tools.javac.code.Source source;
    descriptor: Lcom/sun/tools/javac/code/Source;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final javax.lang.model.util.Elements elements;
    descriptor: Ljavax/lang/model/util/Elements;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.javac.model.JavacTypes typeutils;
    descriptor: Lcom/sun/tools/javac/model/JavacTypes;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  protected jdk.javadoc.internal.tool.DocEnvImpl docEnv;
    descriptor: Ljdk/javadoc/internal/tool/DocEnvImpl;
    flags: (0x0004) ACC_PROTECTED

  public final com.sun.source.util.DocTrees docTrees;
    descriptor: Lcom/sun/source/util/DocTrees;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.util.Map<javax.lang.model.element.Element, com.sun.source.util.TreePath> elementToTreePath;
    descriptor: Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljavax/lang/model/element/Element;Lcom/sun/source/util/TreePath;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 77
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic jdk.javadoc.internal.tool.ToolEnvironment.ToolEnvKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.javadoc.internal.tool.ToolEnvironment instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/ToolEnvironment;
    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 80
            aload 0 /* context */
            getstatic jdk.javadoc.internal.tool.ToolEnvironment.ToolEnvKey: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 jdk.javadoc.internal.tool.ToolEnvironment
            astore 1 /* instance */
        start local 1 // jdk.javadoc.internal.tool.ToolEnvironment instance
         1: .line 81
            aload 1 /* instance */
            ifnonnull 3
         2: .line 82
            new jdk.javadoc.internal.tool.ToolEnvironment
            dup
            aload 0 /* context */
            invokespecial jdk.javadoc.internal.tool.ToolEnvironment.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 83
      StackMap locals: jdk.javadoc.internal.tool.ToolEnvironment
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // jdk.javadoc.internal.tool.ToolEnvironment 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  Ljdk/javadoc/internal/tool/ToolEnvironment;
    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=5, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            iconst_0
            putfield jdk.javadoc.internal.tool.ToolEnvironment.quiet:Z
         2: .line 106
            aload 0 /* this */
            iconst_0
            putfield jdk.javadoc.internal.tool.ToolEnvironment.ignoreSourceErrors:Z
         3: .line 113
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
         4: .line 116
            aload 0 /* this */
            iconst_0
            putfield jdk.javadoc.internal.tool.ToolEnvironment.docClasses:Z
         5: .line 139
            aload 1 /* context */
            getstatic jdk.javadoc.internal.tool.ToolEnvironment.ToolEnvKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         6: .line 140
            aload 0 /* this */
            aload 1 /* context */
            putfield jdk.javadoc.internal.tool.ToolEnvironment.context:Lcom/sun/tools/javac/util/Context;
         7: .line 142
            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.ToolEnvironment.messager:Ljdk/javadoc/internal/tool/Messager;
         8: .line 143
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.syms:Lcom/sun/tools/javac/code/Symtab;
         9: .line 144
            aload 0 /* this */
            aload 1 /* context */
            invokestatic jdk.javadoc.internal.tool.JavadocClassFinder.instance:(Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/JavadocClassFinder;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.finder:Lcom/sun/tools/javac/code/ClassFinder;
        10: .line 145
            aload 0 /* this */
            aload 1 /* context */
            invokestatic jdk.javadoc.internal.tool.JavadocEnter.instance:(Lcom/sun/tools/javac/util/Context;)Ljdk/javadoc/internal/tool/JavadocEnter;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.enter:Lcom/sun/tools/javac/comp/Enter;
        11: .line 146
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.names:Lcom/sun/tools/javac/util/Names;
        12: .line 147
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.java_base:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.names:Lcom/sun/tools/javac/util/Names;
            ldc "java.io.Externalizable"
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.externalizableSym:Lcom/sun/tools/javac/code/Symbol;
        13: .line 148
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Check.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Check;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.chk:Lcom/sun/tools/javac/comp/Check;
        14: .line 149
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.types:Lcom/sun/tools/javac/code/Types;
        15: .line 150
            aload 0 /* this */
            aload 1 /* context */
            ldc Ljavax/tools/JavaFileManager;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.tools.JavaFileManager
            putfield jdk.javadoc.internal.tool.ToolEnvironment.fileManager:Ljavax/tools/JavaFileManager;
        16: .line 151
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.fileManager:Ljavax/tools/JavaFileManager;
            instanceof com.sun.tools.javac.file.JavacFileManager
            ifeq 18
        17: .line 152
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.fileManager:Ljavax/tools/JavaFileManager;
            checkcast com.sun.tools.javac.file.JavacFileManager
            iconst_0
            invokevirtual com.sun.tools.javac.file.JavacFileManager.setSymbolFileEnabled:(Z)V
        18: .line 154
      StackMap locals: jdk.javadoc.internal.tool.ToolEnvironment com.sun.tools.javac.util.Context
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.api.JavacTrees.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/api/JavacTrees;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.docTrees:Lcom/sun/source/util/DocTrees;
        19: .line 155
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Source.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Source;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.source:Lcom/sun/tools/javac/code/Source;
        20: .line 156
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.model.JavacElements.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/model/JavacElements;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.elements:Ljavax/lang/model/util/Elements;
        21: .line 157
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.model.JavacTypes.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/model/JavacTypes;
            putfield jdk.javadoc.internal.tool.ToolEnvironment.typeutils:Lcom/sun/tools/javac/model/JavacTypes;
        22: .line 158
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.javadoc.internal.tool.ToolEnvironment.elementToTreePath:Ljava/util/Map;
        23: .line 159
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0   24     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public void initialize(java.util.Map<jdk.javadoc.internal.tool.ToolOption, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // java.util.Map toolOpts
         0: .line 162
            aload 0 /* this */
            aload 1 /* toolOpts */
            getstatic jdk.javadoc.internal.tool.ToolOption.QUIET:Ljdk/javadoc/internal/tool/ToolOption;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield jdk.javadoc.internal.tool.ToolEnvironment.quiet:Z
         1: .line 163
            aload 0 /* this */
            aload 1 /* toolOpts */
            getstatic jdk.javadoc.internal.tool.ToolOption.IGNORE_SOURCE_ERRORS:Ljdk/javadoc/internal/tool/ToolOption;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield jdk.javadoc.internal.tool.ToolEnvironment.ignoreSourceErrors:Z
         2: .line 164
            return
        end local 1 // java.util.Map toolOpts
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    3     1  toolOpts  Ljava/util/Map<Ljdk/javadoc/internal/tool/ToolOption;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljdk/javadoc/internal/tool/ToolOption;Ljava/lang/Object;>;)V
    MethodParameters:
          Name  Flags
      toolOpts  

  public javax.lang.model.element.TypeElement loadClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // java.lang.String name
         0: .line 171
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.names:Lcom/sun/tools/javac/util/Names;
            aload 1 /* name */
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
            astore 2 /* nameImpl */
        start local 2 // com.sun.tools.javac.util.Name nameImpl
         1: .line 172
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.syms:Lcom/sun/tools/javac/code/Symtab;
            aload 2 /* nameImpl */
            invokestatic com.sun.tools.javac.util.Convert.packagePart:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.code.Symtab.inferModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            astore 3 /* mod */
        start local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
         2: .line 173
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.finder:Lcom/sun/tools/javac/code/ClassFinder;
            aload 3 /* mod */
            ifnull 3
            aload 3 /* mod */
            goto 4
      StackMap locals: jdk.javadoc.internal.tool.ToolEnvironment java.lang.String com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: com.sun.tools.javac.code.ClassFinder
         3: aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
      StackMap locals: jdk.javadoc.internal.tool.ToolEnvironment java.lang.String com.sun.tools.javac.util.Name com.sun.tools.javac.code.Symbol$ModuleSymbol
      StackMap stack: com.sun.tools.javac.code.ClassFinder com.sun.tools.javac.code.Symbol$ModuleSymbol
         4: aload 2 /* nameImpl */
            invokevirtual com.sun.tools.javac.code.ClassFinder.loadClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            astore 4 /* c */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol c
         5: .line 174
            aload 4 /* c */
         6: areturn
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol c
        end local 3 // com.sun.tools.javac.code.Symbol$ModuleSymbol mod
        end local 2 // com.sun.tools.javac.util.Name nameImpl
         7: .line 175
      StackMap locals: jdk.javadoc.internal.tool.ToolEnvironment java.lang.String
      StackMap stack: com.sun.tools.javac.code.Symbol$CompletionFailure
            astore 2 /* ex */
        start local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
         8: .line 176
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.chk:Lcom/sun/tools/javac/comp/Check;
            aconst_null
            aload 2 /* ex */
            invokevirtual com.sun.tools.javac.comp.Check.completionError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$CompletionFailure;)Lcom/sun/tools/javac/code/Type;
            pop
         9: .line 177
            aconst_null
            areturn
        end local 2 // com.sun.tools.javac.code.Symbol$CompletionFailure ex
        end local 1 // java.lang.String name
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0   10     1      name  Ljava/lang/String;
            1    7     2  nameImpl  Lcom/sun/tools/javac/util/Name;
            2    7     3       mod  Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
            5    7     4         c  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            8   10     2        ex  Lcom/sun/tools/javac/code/Symbol$CompletionFailure;
      Exception table:
        from    to  target  type
           0     6       7  Class com.sun.tools.javac.code.Symbol$CompletionFailure
    MethodParameters:
      Name  Flags
      name  

  boolean isSynthetic(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.code.Symbol sym
         0: .line 182
            aload 1 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 4096
            land
            lconst_0
            lcmp
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    2     1   sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      sym   

  void setElementToTreePath(javax.lang.model.element.Element, com.sun.source.util.TreePath);
    descriptor: (Ljavax/lang/model/element/Element;Lcom/sun/source/util/TreePath;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // javax.lang.model.element.Element e
        start local 2 // com.sun.source.util.TreePath tree
         0: .line 186
            aload 1 /* e */
            ifnull 1
            aload 2 /* tree */
            ifnonnull 2
         1: .line 187
      StackMap locals:
      StackMap stack:
            return
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.elementToTreePath:Ljava/util/Map;
            aload 1 /* e */
            aload 2 /* tree */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 189
            return
        end local 2 // com.sun.source.util.TreePath tree
        end local 1 // javax.lang.model.element.Element e
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1     e  Ljavax/lang/model/element/Element;
            0    4     2  tree  Lcom/sun/source/util/TreePath;
    MethodParameters:
      Name  Flags
      e     
      tree  

  public javax.tools.JavaFileObject$Kind getFileKind(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljavax/tools/JavaFileObject$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // javax.lang.model.element.TypeElement te
         0: .line 192
            aload 1 /* te */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
            astore 2 /* jfo */
        start local 2 // javax.tools.JavaFileObject jfo
         1: .line 193
            aload 2 /* jfo */
            ifnonnull 2
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            goto 3
      StackMap locals: javax.tools.JavaFileObject
      StackMap stack:
         2: aload 2 /* jfo */
            invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
      StackMap locals:
      StackMap stack: javax.tools.JavaFileObject$Kind
         3: areturn
        end local 2 // javax.tools.JavaFileObject jfo
        end local 1 // javax.lang.model.element.TypeElement te
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1    te  Ljavax/lang/model/element/TypeElement;
            1    4     2   jfo  Ljavax/tools/JavaFileObject;
    MethodParameters:
      Name  Flags
      te    

  public void notice(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // java.lang.String key
         0: .line 202
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.quiet:Z
            ifeq 2
         1: .line 203
            return
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.messager:Ljdk/javadoc/internal/tool/Messager;
            aload 1 /* key */
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.javadoc.internal.tool.Messager.notice:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 206
            return
        end local 1 // java.lang.String key
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public void notice(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String a1
         0: .line 215
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.quiet:Z
            ifeq 2
         1: .line 216
            return
         2: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.messager:Ljdk/javadoc/internal/tool/Messager;
            aload 1 /* key */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a1 */
            aastore
            invokevirtual jdk.javadoc.internal.tool.Messager.notice:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 219
            return
        end local 2 // java.lang.String a1
        end local 1 // java.lang.String key
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1   key  Ljava/lang/String;
            0    4     2    a1  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   
      a1    

  com.sun.source.util.TreePath getTreePath(com.sun.tools.javac.tree.JCTree$JCCompilationUnit);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/source/util/TreePath;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
         0: .line 222
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 1 /* tree */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.source.util.TreePath
            astore 2 /* p */
        start local 2 // com.sun.source.util.TreePath p
         1: .line 223
            aload 2 /* p */
            ifnonnull 3
         2: .line 224
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 1 /* tree */
            new com.sun.source.util.TreePath
            dup
            aload 1 /* tree */
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/tree/CompilationUnitTree;)V
            dup
            astore 2 /* p */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 225
      StackMap locals: com.sun.source.util.TreePath
      StackMap stack:
            aload 2 /* p */
            areturn
        end local 2 // com.sun.source.util.TreePath p
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit tree
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            1    4     2     p  Lcom/sun/source/util/TreePath;
    MethodParameters:
      Name  Flags
      tree  

  com.sun.source.util.TreePath getTreePath(com.sun.tools.javac.tree.JCTree$JCCompilationUnit, com.sun.tools.javac.tree.JCTree$JCPackageDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;)Lcom/sun/source/util/TreePath;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        start local 2 // com.sun.tools.javac.tree.JCTree$JCPackageDecl tree
         0: .line 229
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 2 /* tree */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.source.util.TreePath
            astore 3 /* p */
        start local 3 // com.sun.source.util.TreePath p
         1: .line 230
            aload 3 /* p */
            ifnonnull 3
         2: .line 231
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 2 /* tree */
            new com.sun.source.util.TreePath
            dup
            aload 0 /* this */
            aload 1 /* toplevel */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.getTreePath:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/source/util/TreePath;
            aload 2 /* tree */
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            dup
            astore 3 /* p */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 232
      StackMap locals: com.sun.source.util.TreePath
      StackMap stack:
            aload 3 /* p */
            areturn
        end local 3 // com.sun.source.util.TreePath p
        end local 2 // com.sun.tools.javac.tree.JCTree$JCPackageDecl tree
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1  toplevel  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            0    4     2      tree  Lcom/sun/tools/javac/tree/JCTree$JCPackageDecl;
            1    4     3         p  Lcom/sun/source/util/TreePath;
    MethodParameters:
          Name  Flags
      toplevel  
      tree      

  com.sun.source.util.TreePath getTreePath(com.sun.tools.javac.tree.JCTree$JCCompilationUnit, com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Lcom/sun/source/util/TreePath;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        start local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
         0: .line 236
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 2 /* tree */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.source.util.TreePath
            astore 3 /* p */
        start local 3 // com.sun.source.util.TreePath p
         1: .line 237
            aload 3 /* p */
            ifnonnull 3
         2: .line 238
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.treePaths:Ljava/util/WeakHashMap;
            aload 2 /* tree */
            new com.sun.source.util.TreePath
            dup
            aload 0 /* this */
            aload 1 /* toplevel */
            invokevirtual jdk.javadoc.internal.tool.ToolEnvironment.getTreePath:(Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;)Lcom/sun/source/util/TreePath;
            aload 2 /* tree */
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            dup
            astore 3 /* p */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 239
      StackMap locals: com.sun.source.util.TreePath
      StackMap stack:
            aload 3 /* p */
            areturn
        end local 3 // com.sun.source.util.TreePath p
        end local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    4     1  toplevel  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            0    4     2      tree  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            1    4     3         p  Lcom/sun/source/util/TreePath;
    MethodParameters:
          Name  Flags
      toplevel  
      tree      

  com.sun.source.util.TreePath getTreePath(com.sun.tools.javac.tree.JCTree$JCCompilationUnit, com.sun.tools.javac.tree.JCTree$JCClassDecl, com.sun.tools.javac.tree.JCTree);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/source/util/TreePath;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        start local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl cdecl
        start local 3 // com.sun.tools.javac.tree.JCTree tree
         0: .line 243
            new com.sun.source.util.TreePath
            dup
            aload 0 /* this */
            aload 1 /* toplevel */
            aload 2 /* cdecl */
            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;
            aload 3 /* tree */
            invokespecial com.sun.source.util.TreePath.<init>:(Lcom/sun/source/util/TreePath;Lcom/sun/source/tree/Tree;)V
            areturn
        end local 3 // com.sun.tools.javac.tree.JCTree tree
        end local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl cdecl
        end local 1 // com.sun.tools.javac.tree.JCTree$JCCompilationUnit toplevel
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    1     1  toplevel  Lcom/sun/tools/javac/tree/JCTree$JCCompilationUnit;
            0    1     2     cdecl  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            0    1     3      tree  Lcom/sun/tools/javac/tree/JCTree;
    MethodParameters:
          Name  Flags
      toplevel  
      cdecl     
      tree      

  public com.sun.tools.javac.code.Types getTypes();
    descriptor: ()Lcom/sun/tools/javac/code/Types;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
         0: .line 247
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.types:Lcom/sun/tools/javac/code/Types;
            areturn
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;

  public com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> getEnv(com.sun.tools.javac.code.Symbol$ClassSymbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/comp/Env;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
        start local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol tsym
         0: .line 251
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.enter:Lcom/sun/tools/javac/comp/Enter;
            aload 1 /* tsym */
            invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
            areturn
        end local 1 // com.sun.tools.javac.code.Symbol$ClassSymbol tsym
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
            0    1     1  tsym  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
    Signature: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
    MethodParameters:
      Name  Flags
      tsym  

  public boolean isQuiet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
         0: .line 255
            aload 0 /* this */
            getfield jdk.javadoc.internal.tool.ToolEnvironment.quiet:Z
            ireturn
        end local 0 // jdk.javadoc.internal.tool.ToolEnvironment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/tool/ToolEnvironment;
}
SourceFile: "ToolEnvironment.java"
InnerClasses:
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
  public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol 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 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 Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject