final class jdk.nashorn.api.tree.ModuleTreeImpl extends jdk.nashorn.api.tree.TreeImpl implements jdk.nashorn.api.tree.ModuleTree
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.api.tree.ModuleTreeImpl
  super_class: jdk.nashorn.api.tree.TreeImpl
{
  private final jdk.nashorn.internal.ir.Module mod;
    descriptor: Ljdk/nashorn/internal/ir/Module;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<? extends jdk.nashorn.api.tree.ImportEntryTree> imports;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Ljdk/nashorn/api/tree/ImportEntryTree;>;

  private final java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> localExports;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  private final java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> indirectExports;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  private final java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> starExports;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            ldc Ljdk/nashorn/api/tree/ModuleTreeImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.api.tree.ModuleTreeImpl.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(jdk.nashorn.internal.ir.FunctionNode, java.util.List<? extends jdk.nashorn.api.tree.ImportEntryTree>, java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree>, java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree>, java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree>);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode func
        start local 2 // java.util.List imports
        start local 3 // java.util.List localExports
        start local 4 // java.util.List indirectExports
        start local 5 // java.util.List starExports
         0: .line 48
            aload 0 /* this */
            aload 1 /* func */
            invokespecial jdk.nashorn.api.tree.TreeImpl.<init>:(Ljdk/nashorn/internal/ir/Node;)V
         1: .line 49
            getstatic jdk.nashorn.api.tree.ModuleTreeImpl.$assertionsDisabled:Z
            ifne 2
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.MODULE:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            ldc "module function node expected"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 50
      StackMap locals: jdk.nashorn.api.tree.ModuleTreeImpl jdk.nashorn.internal.ir.FunctionNode java.util.List java.util.List java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getModule:()Ljdk/nashorn/internal/ir/Module;
            putfield jdk.nashorn.api.tree.ModuleTreeImpl.mod:Ljdk/nashorn/internal/ir/Module;
         3: .line 51
            aload 0 /* this */
            aload 2 /* imports */
            putfield jdk.nashorn.api.tree.ModuleTreeImpl.imports:Ljava/util/List;
         4: .line 52
            aload 0 /* this */
            aload 3 /* localExports */
            putfield jdk.nashorn.api.tree.ModuleTreeImpl.localExports:Ljava/util/List;
         5: .line 53
            aload 0 /* this */
            aload 4 /* indirectExports */
            putfield jdk.nashorn.api.tree.ModuleTreeImpl.indirectExports:Ljava/util/List;
         6: .line 54
            aload 0 /* this */
            aload 5 /* starExports */
            putfield jdk.nashorn.api.tree.ModuleTreeImpl.starExports:Ljava/util/List;
         7: .line 55
            return
        end local 5 // java.util.List starExports
        end local 4 // java.util.List indirectExports
        end local 3 // java.util.List localExports
        end local 2 // java.util.List imports
        end local 1 // jdk.nashorn.internal.ir.FunctionNode func
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
            0    8     1             func  Ljdk/nashorn/internal/ir/FunctionNode;
            0    8     2          imports  Ljava/util/List<+Ljdk/nashorn/api/tree/ImportEntryTree;>;
            0    8     3     localExports  Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;
            0    8     4  indirectExports  Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;
            0    8     5      starExports  Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;
    Signature: (Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List<+Ljdk/nashorn/api/tree/ImportEntryTree;>;Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;)V
    MethodParameters:
                 Name  Flags
      func             final
      imports          final
      localExports     final
      indirectExports  final
      starExports      final

  static jdk.nashorn.api.tree.ModuleTreeImpl create(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/api/tree/ModuleTreeImpl;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode func
         0: .line 58
            aload 0 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getModule:()Ljdk/nashorn/internal/ir/Module;
            astore 1 /* mod */
        start local 1 // jdk.nashorn.internal.ir.Module mod
         1: .line 59
            new jdk.nashorn.api.tree.ModuleTreeImpl
            dup
            aload 0 /* func */
         2: .line 60
            aload 1 /* mod */
            invokevirtual jdk.nashorn.internal.ir.Module.getImportEntries:()Ljava/util/List;
            invokestatic jdk.nashorn.api.tree.ImportEntryTreeImpl.createImportList:(Ljava/util/List;)Ljava/util/List;
         3: .line 61
            aload 1 /* mod */
            invokevirtual jdk.nashorn.internal.ir.Module.getLocalExportEntries:()Ljava/util/List;
            invokestatic jdk.nashorn.api.tree.ExportEntryTreeImpl.createExportList:(Ljava/util/List;)Ljava/util/List;
         4: .line 62
            aload 1 /* mod */
            invokevirtual jdk.nashorn.internal.ir.Module.getIndirectExportEntries:()Ljava/util/List;
            invokestatic jdk.nashorn.api.tree.ExportEntryTreeImpl.createExportList:(Ljava/util/List;)Ljava/util/List;
         5: .line 63
            aload 1 /* mod */
            invokevirtual jdk.nashorn.internal.ir.Module.getStarExportEntries:()Ljava/util/List;
            invokestatic jdk.nashorn.api.tree.ExportEntryTreeImpl.createExportList:(Ljava/util/List;)Ljava/util/List;
         6: .line 59
            invokespecial jdk.nashorn.api.tree.ModuleTreeImpl.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.Module mod
        end local 0 // jdk.nashorn.internal.ir.FunctionNode func
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  func  Ljdk/nashorn/internal/ir/FunctionNode;
            1    7     1   mod  Ljdk/nashorn/internal/ir/Module;
    MethodParameters:
      Name  Flags
      func  final

  public jdk.nashorn.api.tree.Tree$Kind getKind();
    descriptor: ()Ljdk/nashorn/api/tree/Tree$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
         0: .line 68
            getstatic jdk.nashorn.api.tree.Tree$Kind.MODULE:Ljdk/nashorn/api/tree/Tree$Kind;
            areturn
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/tree/ModuleTreeImpl;

  public java.util.List<? extends jdk.nashorn.api.tree.ImportEntryTree> getImportEntries();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
         0: .line 73
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.ModuleTreeImpl.imports:Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
    Signature: ()Ljava/util/List<+Ljdk/nashorn/api/tree/ImportEntryTree;>;

  public java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> getLocalExportEntries();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
         0: .line 78
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.ModuleTreeImpl.localExports:Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
    Signature: ()Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  public java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> getIndirectExportEntries();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
         0: .line 83
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.ModuleTreeImpl.indirectExports:Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
    Signature: ()Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  public java.util.List<? extends jdk.nashorn.api.tree.ExportEntryTree> getStarExportEntries();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
         0: .line 88
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.ModuleTreeImpl.starExports:Ljava/util/List;
            areturn
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
    Signature: ()Ljava/util/List<+Ljdk/nashorn/api/tree/ExportEntryTree;>;

  public <R, D> R accept(jdk.nashorn.api.tree.TreeVisitor<R, D>, );
    descriptor: (Ljdk/nashorn/api/tree/TreeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
        start local 1 // jdk.nashorn.api.tree.TreeVisitor visitor
        start local 2 // java.lang.Object data
         0: .line 93
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* data */
            invokeinterface jdk.nashorn.api.tree.TreeVisitor.visitModule:(Ljdk/nashorn/api/tree/ModuleTree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // jdk.nashorn.api.tree.TreeVisitor visitor
        end local 0 // jdk.nashorn.api.tree.ModuleTreeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/api/tree/ModuleTreeImpl;
            0    1     1  visitor  Ljdk/nashorn/api/tree/TreeVisitor<TR;TD;>;
            0    1     2     data  TD;
    Signature: <R:Ljava/lang/Object;D:Ljava/lang/Object;>(Ljdk/nashorn/api/tree/TreeVisitor<TR;TD;>;TD;)TR;
    MethodParameters:
         Name  Flags
      visitor  final
      data     final

  static jdk.nashorn.api.tree.IdentifierTree identOrNull(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/api/tree/IdentifierTree;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.IdentNode node
         0: .line 97
            aload 0 /* node */
            ifnull 1
            new jdk.nashorn.api.tree.IdentifierTreeImpl
            dup
            aload 0 /* node */
            invokespecial jdk.nashorn.api.tree.IdentifierTreeImpl.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.api.tree.IdentifierTreeImpl
         2: areturn
        end local 0 // jdk.nashorn.internal.ir.IdentNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  node  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
      Name  Flags
      node  final
}
SourceFile: "ModuleTreeImpl.java"
InnerClasses:
  public final Kind = jdk.nashorn.api.tree.Tree$Kind of jdk.nashorn.api.tree.Tree
  public final Kind = jdk.nashorn.internal.ir.FunctionNode$Kind of jdk.nashorn.internal.ir.FunctionNode
  public final ExportEntry = jdk.nashorn.internal.ir.Module$ExportEntry of jdk.nashorn.internal.ir.Module
  public final ImportEntry = jdk.nashorn.internal.ir.Module$ImportEntry of jdk.nashorn.internal.ir.Module