final class jdk.jshell.Unit
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jshell.Unit
  super_class: java.lang.Object
{
  private final jdk.jshell.JShell state;
    descriptor: Ljdk/jshell/JShell;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jshell.Snippet si;
    descriptor: Ljdk/jshell/Snippet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jshell.Snippet siOld;
    descriptor: Ljdk/jshell/Snippet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isDependency;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isNew;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jshell.Snippet causalSnippet;
    descriptor: Ljdk/jshell/Snippet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jshell.DiagList generatedDiagnostics;
    descriptor: Ljdk/jshell/DiagList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int seq;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String classNameInitial;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jshell.Wrap activeGuts;
    descriptor: Ljdk/jshell/Wrap;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jshell.Snippet$Status status;
    descriptor: Ljdk/jshell/Snippet$Status;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jshell.Snippet$Status prevStatus;
    descriptor: Ljdk/jshell/Snippet$Status;
    flags: (0x0002) ACC_PRIVATE

  private boolean signatureChanged;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private jdk.jshell.DiagList compilationDiagnostics;
    descriptor: Ljdk/jshell/DiagList;
    flags: (0x0002) ACC_PRIVATE

  private jdk.jshell.DiagList recompilationDiagnostics;
    descriptor: Ljdk/jshell/DiagList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.lang.String> unresolved;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private jdk.jshell.SnippetEvent replaceOldEvent;
    descriptor: Ljdk/jshell/SnippetEvent;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<jdk.jshell.SnippetEvent> secondaryEvents;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/jshell/SnippetEvent;>;

  private boolean isAttemptingCorral;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<jdk.jshell.ClassTracker$ClassInfo> toRedefine;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljdk/jshell/ClassTracker$ClassInfo;>;

  private boolean dependenciesNeeded;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(jdk.jshell.JShell, jdk.jshell.Snippet, jdk.jshell.Snippet, jdk.jshell.DiagList);
    descriptor: (Ljdk/jshell/JShell;Ljdk/jshell/Snippet;Ljdk/jshell/Snippet;Ljdk/jshell/DiagList;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.JShell state
        start local 2 // jdk.jshell.Snippet si
        start local 3 // jdk.jshell.Snippet causalSnippet
        start local 4 // jdk.jshell.DiagList generatedDiagnostics
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.Unit.recompilationDiagnostics:Ljdk/jshell/DiagList;
         2: .line 89
            aload 0 /* this */
            aload 1 /* state */
            putfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
         3: .line 90
            aload 0 /* this */
            aload 2 /* si */
            putfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
         4: .line 91
            aload 0 /* this */
            aload 3 /* causalSnippet */
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit
         5: iconst_0
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit int
         6: putfield jdk.jshell.Unit.isDependency:Z
         7: .line 92
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.isDependency:Z
            ifeq 9
         8: .line 93
            aload 2 /* si */
            goto 10
         9: .line 94
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
            aload 1 /* state */
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            aload 2 /* si */
            invokevirtual jdk.jshell.Snippet.key:()Ljdk/jshell/Key;
            invokevirtual jdk.jshell.SnippetMaps.getSnippet:(Ljdk/jshell/Key;)Ljdk/jshell/Snippet;
        10: .line 92
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit jdk.jshell.Snippet
            putfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
        11: .line 95
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            ifnonnull 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
        12: iconst_0
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit int
        13: putfield jdk.jshell.Unit.isNew:Z
        14: .line 96
            aload 0 /* this */
            aload 3 /* causalSnippet */
            putfield jdk.jshell.Unit.causalSnippet:Ljdk/jshell/Snippet;
        15: .line 97
            aload 0 /* this */
            aload 4 /* generatedDiagnostics */
            putfield jdk.jshell.Unit.generatedDiagnostics:Ljdk/jshell/DiagList;
        16: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.isNew:Z
            ifeq 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
        17: aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.sequenceNumber:()I
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit int
        18: putfield jdk.jshell.Unit.seq:I
        19: .line 100
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.isNew:Z
            ifeq 20
            ldc "<none>"
            goto 21
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
        20: aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.className:()Ljava/lang/String;
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit java.lang.String
        21: putfield jdk.jshell.Unit.classNameInitial:Ljava/lang/String;
        22: .line 101
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.isNew:Z
            ifne 23
            aload 0 /* this */
            getfield jdk.jshell.Unit.isDependency:Z
            ifeq 24
        23: .line 102
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
            aload 2 /* si */
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            goto 25
        24: .line 103
      StackMap locals:
      StackMap stack: jdk.jshell.Unit
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
        25: .line 101
      StackMap locals: jdk.jshell.Unit jdk.jshell.JShell jdk.jshell.Snippet jdk.jshell.Snippet jdk.jshell.DiagList
      StackMap stack: jdk.jshell.Unit jdk.jshell.Snippet$Status
            putfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
        26: .line 104
            aload 2 /* si */
            aload 0 /* this */
            getfield jdk.jshell.Unit.seq:I
            invokevirtual jdk.jshell.Snippet.setSequenceNumber:(I)V
        27: .line 105
            return
        end local 4 // jdk.jshell.DiagList generatedDiagnostics
        end local 3 // jdk.jshell.Snippet causalSnippet
        end local 2 // jdk.jshell.Snippet si
        end local 1 // jdk.jshell.JShell state
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Ljdk/jshell/Unit;
            0   28     1                 state  Ljdk/jshell/JShell;
            0   28     2                    si  Ljdk/jshell/Snippet;
            0   28     3         causalSnippet  Ljdk/jshell/Snippet;
            0   28     4  generatedDiagnostics  Ljdk/jshell/DiagList;
    MethodParameters:
                      Name  Flags
      state                 
      si                    
      causalSnippet         
      generatedDiagnostics  

  void <init>(jdk.jshell.JShell, jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/JShell;Ljdk/jshell/Snippet;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.JShell state
        start local 2 // jdk.jshell.Snippet si
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.Unit.recompilationDiagnostics:Ljdk/jshell/DiagList;
         2: .line 109
            aload 0 /* this */
            aload 1 /* state */
            putfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
         3: .line 110
            aload 0 /* this */
            aload 2 /* si */
            putfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
         4: .line 111
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
         5: .line 112
            aload 0 /* this */
            iconst_0
            putfield jdk.jshell.Unit.isDependency:Z
         6: .line 113
            aload 0 /* this */
            iconst_0
            putfield jdk.jshell.Unit.isNew:Z
         7: .line 114
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.Unit.causalSnippet:Ljdk/jshell/Snippet;
         8: .line 115
            aload 0 /* this */
            new jdk.jshell.DiagList
            dup
            invokespecial jdk.jshell.DiagList.<init>:()V
            putfield jdk.jshell.Unit.generatedDiagnostics:Ljdk/jshell/DiagList;
         9: .line 116
            aload 0 /* this */
            aload 2 /* si */
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
        10: .line 117
            aload 2 /* si */
            invokevirtual jdk.jshell.Snippet.setDropped:()V
        11: .line 118
            aload 0 /* this */
            aload 2 /* si */
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
        12: .line 119
            return
        end local 2 // jdk.jshell.Snippet si
        end local 1 // jdk.jshell.JShell state
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljdk/jshell/Unit;
            0   13     1  state  Ljdk/jshell/JShell;
            0   13     2     si  Ljdk/jshell/Snippet;
    MethodParameters:
       Name  Flags
      state  
      si     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 123
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // java.lang.Object o
         0: .line 128
            aload 1 /* o */
            instanceof jdk.jshell.Unit
            ifeq 2
         1: .line 129
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 1 /* o */
            checkcast jdk.jshell.Unit
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            goto 3
         2: .line 130
      StackMap locals:
      StackMap stack:
            iconst_0
         3: .line 128
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/Unit;
            0    4     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  jdk.jshell.Snippet snippet();
    descriptor: ()Ljdk/jshell/Snippet;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 134
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            areturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;

  boolean isDependency();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 138
            aload 0 /* this */
            getfield jdk.jshell.Unit.isDependency:Z
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;

  void initialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 142
            aload 0 /* this */
            iconst_0
            putfield jdk.jshell.Unit.isAttemptingCorral:Z
         1: .line 143
            aload 0 /* this */
            iconst_0
            putfield jdk.jshell.Unit.dependenciesNeeded:Z
         2: .line 144
            aload 0 /* this */
            aconst_null
            putfield jdk.jshell.Unit.toRedefine:Ljava/util/List;
         3: .line 145
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.guts:()Ljdk/jshell/Wrap;
            putfield jdk.jshell.Unit.activeGuts:Ljdk/jshell/Wrap;
         4: .line 146
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.markOldDeclarationOverwritten:()V
         5: .line 147
            return
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/jshell/Unit;

  void setWrap(java.util.Collection<jdk.jshell.Unit>, java.util.Collection<jdk.jshell.Unit>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // jdk.jshell.Unit this
        start local 1 // java.util.Collection exceptUnit
        start local 2 // java.util.Collection plusUnfiltered
         0: .line 151
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isImport:()Z
            ifeq 3
         1: .line 152
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
            aload 0 /* this */
            getfield jdk.jshell.Unit.activeGuts:Ljdk/jshell/Wrap;
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.OuterWrapMap.wrapImport:(Ljdk/jshell/Wrap;Ljdk/jshell/Snippet;)Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.Snippet.setOuterWrap:(Ljdk/jshell/OuterWrap;)V
         2: .line 153
            goto 32
         3: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.snippet:()Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.METHOD:Ljdk/jshell/Snippet$Kind;
            if_acmpne 10
         4: .line 157
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.snippet:()Ljdk/jshell/Snippet;
            checkcast jdk.jshell.MethodSnippet
            invokevirtual jdk.jshell.MethodSnippet.name:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 158
            aload 2 /* plusUnfiltered */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         6: .line 159
            aload 4 /* name */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              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:
                  (Ljava/lang/Object;)Z
                  jdk/jshell/Unit.lambda$0(Ljava/lang/String;Ljdk/jshell/Unit;)Z (6)
                  (Ljdk/jshell/Unit;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         7: .line 161
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         8: .line 158
            astore 3 /* units */
        end local 4 // java.lang.String name
        start local 3 // java.util.List units
         9: .line 162
            goto 11
        end local 3 // java.util.List units
        10: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* units */
        start local 3 // java.util.List units
        11: .line 166
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* exceptUnit */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
        12: .line 167
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Unit.lambda$1(Ljdk/jshell/Unit;)Ljdk/jshell/Key; (6)
                  (Ljdk/jshell/Unit;)Ljdk/jshell/Key;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        13: .line 168
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        14: .line 166
            astore 4 /* except */
        start local 4 // java.util.Set except
        15: .line 170
            aload 2 /* plusUnfiltered */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
        16: .line 171
            aload 3 /* units */
            invokedynamic test(Ljava/util/List;)Ljava/util/function/Predicate;
              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:
                  (Ljava/lang/Object;)Z
                  jdk/jshell/Unit.lambda$2(Ljava/util/List;Ljdk/jshell/Unit;)Z (6)
                  (Ljdk/jshell/Unit;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        17: .line 172
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Unit.snippet()Ljdk/jshell/Snippet; (5)
                  (Ljdk/jshell/Unit;)Ljdk/jshell/Snippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        18: .line 173
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
        19: .line 170
            astore 5 /* plus */
        start local 5 // java.util.Collection plus
        20: .line 175
            aload 3 /* units */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        21: .line 176
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Unit.snippet()Ljdk/jshell/Snippet; (5)
                  (Ljdk/jshell/Unit;)Ljdk/jshell/Snippet;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        22: .line 177
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        23: .line 175
            astore 6 /* snippets */
        start local 6 // java.util.List snippets
        24: .line 179
            aload 3 /* units */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        25: .line 180
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Unit.lambda$5(Ljdk/jshell/Unit;)Ljdk/jshell/Wrap; (6)
                  (Ljdk/jshell/Unit;)Ljdk/jshell/Wrap;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        26: .line 181
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
        27: .line 179
            astore 7 /* wraps */
        start local 7 // java.util.List wraps
        28: .line 183
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.outerMap:Ljdk/jshell/OuterWrapMap;
            aload 4 /* except */
            aload 5 /* plus */
            aload 6 /* snippets */
            aload 7 /* wraps */
            invokevirtual jdk.jshell.OuterWrapMap.wrapInClass:(Ljava/util/Set;Ljava/util/Collection;Ljava/util/List;Ljava/util/List;)Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.Snippet.setOuterWrap:(Ljdk/jshell/OuterWrap;)V
        29: .line 184
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            bipush 32
            ldc "++setWrap() %s\n%s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        30: .line 185
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.outerWrap:()Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.OuterWrap.wrapped:()Ljava/lang/String;
            aastore
        31: .line 184
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 7 // java.util.List wraps
        end local 6 // java.util.List snippets
        end local 5 // java.util.Collection plus
        end local 4 // java.util.Set except
        end local 3 // java.util.List units
        32: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection plusUnfiltered
        end local 1 // java.util.Collection exceptUnit
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   33     0            this  Ljdk/jshell/Unit;
            0   33     1      exceptUnit  Ljava/util/Collection<Ljdk/jshell/Unit;>;
            0   33     2  plusUnfiltered  Ljava/util/Collection<Ljdk/jshell/Unit;>;
            9   10     3           units  Ljava/util/List<Ljdk/jshell/Unit;>;
           11   32     3           units  Ljava/util/List<Ljdk/jshell/Unit;>;
            5    9     4            name  Ljava/lang/String;
           15   32     4          except  Ljava/util/Set<Ljdk/jshell/Key;>;
           20   32     5            plus  Ljava/util/Collection<Ljdk/jshell/Snippet;>;
           24   32     6        snippets  Ljava/util/List<Ljdk/jshell/Snippet;>;
           28   32     7           wraps  Ljava/util/List<Ljdk/jshell/Wrap;>;
    Signature: (Ljava/util/Collection<Ljdk/jshell/Unit;>;Ljava/util/Collection<Ljdk/jshell/Unit;>;)V
    MethodParameters:
                Name  Flags
      exceptUnit      
      plusUnfiltered  

  void setDiagnostics(jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask ct
         0: .line 190
            aload 0 /* this */
            aload 1 /* ct */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.getDiagnostics:()Ljdk/jshell/DiagList;
            aload 0 /* this */
            invokevirtual jdk.jshell.DiagList.ofUnit:(Ljdk/jshell/Unit;)Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.Unit.setDiagnostics:(Ljdk/jshell/DiagList;)V
         1: .line 191
            return
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask ct
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/Unit;
            0    2     1    ct  Ljdk/jshell/TaskFactory$AnalyzeTask;
    MethodParameters:
      Name  Flags
      ct    

  void setDiagnostics(jdk.jshell.DiagList);
    descriptor: (Ljdk/jshell/DiagList;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.DiagList diags
         0: .line 194
            aload 0 /* this */
            aload 1 /* diags */
            putfield jdk.jshell.Unit.compilationDiagnostics:Ljdk/jshell/DiagList;
         1: .line 195
            new jdk.jshell.Unit$UnresolvedExtractor
            dup
            aload 1 /* diags */
            invokespecial jdk.jshell.Unit$UnresolvedExtractor.<init>:(Ljdk/jshell/DiagList;)V
            astore 2 /* ue */
        start local 2 // jdk.jshell.Unit$UnresolvedExtractor ue
         2: .line 196
            aload 0 /* this */
            aload 2 /* ue */
            invokevirtual jdk.jshell.Unit$UnresolvedExtractor.unresolved:()Ljava/util/List;
            putfield jdk.jshell.Unit.unresolved:Ljava/util/List;
         3: .line 197
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "++setCompilationInfo() %s\n%s\n-- diags: %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 198
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.outerWrap:()Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.OuterWrap.wrapped:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* diags */
            aastore
         5: .line 197
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         6: .line 199
            return
        end local 2 // jdk.jshell.Unit$UnresolvedExtractor ue
        end local 1 // jdk.jshell.DiagList diags
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/jshell/Unit;
            0    7     1  diags  Ljdk/jshell/DiagList;
            2    7     2     ue  Ljdk/jshell/Unit$UnresolvedExtractor;
    MethodParameters:
       Name  Flags
      diags  

  private boolean isRecoverable();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 205
            aload 0 /* this */
            getfield jdk.jshell.Unit.compilationDiagnostics:Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.hasErrors:()Z
            ifeq 6
         1: .line 206
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            instanceof jdk.jshell.DeclarationSnippet
            ifeq 6
         2: .line 207
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isDependency:()Z
            ifne 5
         3: .line 208
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.subKind:()Ljdk/jshell/Snippet$SubKind;
            getstatic jdk.jshell.Snippet$SubKind.VAR_DECLARATION_WITH_INITIALIZER_SUBKIND:Ljdk/jshell/Snippet$SubKind;
            if_acmpeq 6
         4: .line 209
            aload 0 /* this */
            getfield jdk.jshell.Unit.compilationDiagnostics:Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.hasResolutionErrorsAndNoOthers:()Z
            ifeq 6
         5: .line 205
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jshell/Unit;

  boolean corralIfNeeded(java.util.Collection<jdk.jshell.Unit>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // java.util.Collection working
         0: .line 217
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isRecoverable:()Z
            ifeq 5
         1: .line 218
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.corralled:()Ljdk/jshell/Wrap;
            ifnull 5
         2: .line 219
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.corralled:()Ljdk/jshell/Wrap;
            putfield jdk.jshell.Unit.activeGuts:Ljdk/jshell/Wrap;
         3: .line 220
            aload 0 /* this */
            aload 1 /* working */
            aload 1 /* working */
            invokevirtual jdk.jshell.Unit.setWrap:(Ljava/util/Collection;Ljava/util/Collection;)V
         4: .line 221
            aload 0 /* this */
            iconst_1
            dup_x1
            putfield jdk.jshell.Unit.isAttemptingCorral:Z
            ireturn
         5: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield jdk.jshell.Unit.isAttemptingCorral:Z
            ireturn
        end local 1 // java.util.Collection working
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljdk/jshell/Unit;
            0    6     1  working  Ljava/util/Collection<Ljdk/jshell/Unit;>;
    Signature: (Ljava/util/Collection<Ljdk/jshell/Unit;>;)Z
    MethodParameters:
         Name  Flags
      working  

  void setCorralledDiagnostics(jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask cct
         0: .line 228
            aload 0 /* this */
            aload 1 /* cct */
            invokevirtual jdk.jshell.TaskFactory$AnalyzeTask.getDiagnostics:()Ljdk/jshell/DiagList;
            aload 0 /* this */
            invokevirtual jdk.jshell.DiagList.ofUnit:(Ljdk/jshell/Unit;)Ljdk/jshell/DiagList;
            putfield jdk.jshell.Unit.recompilationDiagnostics:Ljdk/jshell/DiagList;
         1: .line 229
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "++recomp %s\n%s\n-- diags: %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 230
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.outerWrap:()Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.OuterWrap.wrapped:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield jdk.jshell.Unit.recompilationDiagnostics:Ljdk/jshell/DiagList;
            aastore
         3: .line 229
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         4: .line 231
            return
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask cct
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/Unit;
            0    5     1   cct  Ljdk/jshell/TaskFactory$AnalyzeTask;
    MethodParameters:
      Name  Flags
      cct   

  boolean smashingErrorDiagnostics(jdk.jshell.TaskFactory$CompileTask);
    descriptor: (Ljdk/jshell/TaskFactory$CompileTask;)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$CompileTask ct
         0: .line 234
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isDefined:()Z
            ifeq 9
         1: .line 236
            aload 1 /* ct */
            invokevirtual jdk.jshell.TaskFactory$CompileTask.getDiagnostics:()Ljdk/jshell/DiagList;
            aload 0 /* this */
            invokevirtual jdk.jshell.DiagList.ofUnit:(Ljdk/jshell/Unit;)Ljdk/jshell/DiagList;
            astore 2 /* dl */
        start local 2 // jdk.jshell.DiagList dl
         2: .line 237
            aload 2 /* dl */
            invokevirtual jdk.jshell.DiagList.hasErrors:()Z
            ifeq 9
         3: .line 238
            aload 0 /* this */
            aload 2 /* dl */
            invokevirtual jdk.jshell.Unit.setDiagnostics:(Ljdk/jshell/DiagList;)V
         4: .line 239
            aload 0 /* this */
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_NOT_DEFINED:Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
         5: .line 240
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "++smashingErrorDiagnostics %s\n%s\n-- diags: %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 241
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.outerWrap:()Ljdk/jshell/OuterWrap;
            invokevirtual jdk.jshell.OuterWrap.wrapped:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* dl */
            aastore
         7: .line 240
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         8: .line 242
            iconst_1
            ireturn
        end local 2 // jdk.jshell.DiagList dl
         9: .line 245
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.jshell.TaskFactory$CompileTask ct
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/jshell/Unit;
            0   10     1    ct  Ljdk/jshell/TaskFactory$CompileTask;
            2    9     2    dl  Ljdk/jshell/DiagList;
    MethodParameters:
      Name  Flags
      ct    

  void setStatus(jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
         0: .line 249
            aload 0 /* this */
            getfield jdk.jshell.Unit.compilationDiagnostics:Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.hasErrors:()Z
            ifne 3
         1: .line 250
            aload 0 /* this */
            getstatic jdk.jshell.Snippet$Status.VALID:Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
         2: .line 251
            goto 10
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isRecoverable:()Z
            ifeq 9
         4: .line 252
            aload 0 /* this */
            getfield jdk.jshell.Unit.isAttemptingCorral:Z
            ifeq 7
            aload 0 /* this */
            getfield jdk.jshell.Unit.recompilationDiagnostics:Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.hasErrors:()Z
            ifne 7
         5: .line 253
            aload 0 /* this */
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_DEFINED:Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
         6: .line 254
            goto 10
         7: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_NOT_DEFINED:Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
         8: .line 257
            goto 10
         9: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.jshell.Snippet$Status.REJECTED:Ljdk/jshell/Snippet$Status;
            putfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
        10: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* at */
            invokevirtual jdk.jshell.Unit.checkForOverwrite:(Ljdk/jshell/TaskFactory$AnalyzeTask;)V
        11: .line 262
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "setStatus() %s - status: %s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 263
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            aastore
        13: .line 262
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        14: .line 264
            return
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljdk/jshell/Unit;
            0   15     1    at  Ljdk/jshell/TaskFactory$AnalyzeTask;
    MethodParameters:
      Name  Flags
      at    

  boolean isDefined();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 267
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;

  java.util.stream.Stream<jdk.jshell.spi.ExecutionControl$ClassBytecodes> classesToLoad(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/util/stream/Stream;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // java.util.List classnames
         0: .line 277
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jshell.Unit.toRedefine:Ljava/util/List;
         1: .line 278
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* toLoad */
        start local 2 // java.util.List toLoad
         2: .line 279
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            ifeq 13
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.isImport:()Z
            ifne 13
         3: .line 282
            aload 1 /* classnames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: jdk.jshell.Unit java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* cn */
        start local 3 // java.lang.String cn
         5: .line 283
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.classTracker:Ljdk/jshell/ClassTracker;
            aload 3 /* cn */
            invokevirtual jdk.jshell.ClassTracker.get:(Ljava/lang/String;)Ljdk/jshell/ClassTracker$ClassInfo;
            astore 5 /* ci */
        start local 5 // jdk.jshell.ClassTracker$ClassInfo ci
         6: .line 284
            aload 5 /* ci */
            invokevirtual jdk.jshell.ClassTracker$ClassInfo.isLoaded:()Z
            ifeq 10
         7: .line 285
            aload 5 /* ci */
            invokevirtual jdk.jshell.ClassTracker$ClassInfo.isCurrent:()Z
            ifne 12
         8: .line 288
            aload 0 /* this */
            getfield jdk.jshell.Unit.toRedefine:Ljava/util/List;
            aload 5 /* ci */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 290
            goto 12
        10: .line 292
      StackMap locals: jdk.jshell.Unit java.util.List java.util.List java.lang.String java.util.Iterator jdk.jshell.ClassTracker$ClassInfo
      StackMap stack:
            aload 2 /* toLoad */
            aload 5 /* ci */
            invokevirtual jdk.jshell.ClassTracker$ClassInfo.toClassBytecodes:()Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 293
            aload 0 /* this */
            iconst_1
            putfield jdk.jshell.Unit.dependenciesNeeded:Z
        end local 5 // jdk.jshell.ClassTracker$ClassInfo ci
        end local 3 // java.lang.String cn
        12: .line 282
      StackMap locals: jdk.jshell.Unit java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 297
      StackMap locals: jdk.jshell.Unit java.util.List java.util.List
      StackMap stack:
            aload 2 /* toLoad */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 2 // java.util.List toLoad
        end local 1 // java.util.List classnames
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Ljdk/jshell/Unit;
            0   14     1  classnames  Ljava/util/List<Ljava/lang/String;>;
            2   14     2      toLoad  Ljava/util/List<Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;>;
            5   12     3          cn  Ljava/lang/String;
            6   12     5          ci  Ljdk/jshell/ClassTracker$ClassInfo;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/stream/Stream<Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;>;
    MethodParameters:
            Name  Flags
      classnames  

  boolean doRedefines();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 306
            aload 0 /* this */
            getfield jdk.jshell.Unit.toRedefine:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 307
            iconst_1
            ireturn
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.Unit.toRedefine:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         3: .line 310
            invokedynamic apply()Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/ClassTracker$ClassInfo.toClassBytecodes()Ljdk/jshell/spi/ExecutionControl$ClassBytecodes; (5)
                  (Ljdk/jshell/ClassTracker$ClassInfo;)Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 311
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  jdk/jshell/Unit.lambda$7(I)[Ljdk/jshell/spi/ExecutionControl$ClassBytecodes; (6)
                  (I)[Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast jdk.jshell.spi.ExecutionControl$ClassBytecodes[]
         5: .line 309
            astore 1 /* cbcs */
        start local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
         6: .line 313
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            invokevirtual jdk.jshell.JShell.executionControl:()Ljdk/jshell/spi/ExecutionControl;
            aload 1 /* cbcs */
            invokeinterface jdk.jshell.spi.ExecutionControl.redefine:([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
         7: .line 314
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.classTracker:Ljdk/jshell/ClassTracker;
            aload 1 /* cbcs */
            invokevirtual jdk.jshell.ClassTracker.markLoaded:([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V
         8: .line 315
            iconst_1
            ireturn
         9: .line 316
      StackMap locals: jdk.jshell.Unit jdk.jshell.spi.ExecutionControl$ClassBytecodes[]
      StackMap stack: jdk.jshell.spi.ExecutionControl$ClassInstallException
            astore 2 /* ex */
        start local 2 // jdk.jshell.spi.ExecutionControl$ClassInstallException ex
        10: .line 317
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.classTracker:Ljdk/jshell/ClassTracker;
            aload 1 /* cbcs */
            aload 2 /* ex */
            invokevirtual jdk.jshell.spi.ExecutionControl$ClassInstallException.installed:()[Z
            invokevirtual jdk.jshell.ClassTracker.markLoaded:([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;[Z)V
        11: .line 318
            iconst_0
            ireturn
        end local 2 // jdk.jshell.spi.ExecutionControl$ClassInstallException ex
        12: .line 319
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$EngineTerminationException
            pop
        13: .line 320
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            invokevirtual jdk.jshell.JShell.closeDown:()V
        14: .line 321
            iconst_0
            ireturn
        15: .line 322
      StackMap locals:
      StackMap stack: jdk.jshell.spi.ExecutionControl$NotImplementedException
            pop
        16: .line 323
            iconst_0
            ireturn
        end local 1 // jdk.jshell.spi.ExecutionControl$ClassBytecodes[] cbcs
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljdk/jshell/Unit;
            6   17     1  cbcs  [Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
           10   12     2    ex  Ljdk/jshell/spi/ExecutionControl$ClassInstallException;
      Exception table:
        from    to  target  type
           6     8       9  Class jdk.jshell.spi.ExecutionControl$ClassInstallException
           6     8      12  Class jdk.jshell.spi.ExecutionControl$EngineTerminationException
           6     8      15  Class jdk.jshell.spi.ExecutionControl$NotImplementedException

  void markForReplacement();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 329
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            dup
            getfield jdk.jshell.Unit.seq:I
            iconst_1
            iadd
            dup_x1
            putfield jdk.jshell.Unit.seq:I
            invokevirtual jdk.jshell.Snippet.setSequenceNumber:(I)V
         1: .line 330
            return
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/Unit;

  private boolean isImport();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 333
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.IMPORT:Ljdk/jshell/Snippet$Kind;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jshell/Unit;

  private boolean sigChanged();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 337
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            aload 0 /* this */
            getfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            if_icmpne 4
         1: .line 338
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            ifeq 2
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.className:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.jshell.Unit.classNameInitial:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.Unit.signatureChanged:Z
            ifne 4
         3: .line 337
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/Unit;

  java.util.stream.Stream<jdk.jshell.Unit> effectedDependents();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 345
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.sigChanged:()Z
            ifne 1
            aload 0 /* this */
            getfield jdk.jshell.Unit.dependenciesNeeded:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_NOT_DEFINED:Ljdk/jshell/Snippet$Status;
            if_acmpne 2
         1: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.dependents:()Ljava/util/stream/Stream;
            goto 3
         2: .line 347
      StackMap locals:
      StackMap stack:
            invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
         3: .line 345
      StackMap locals:
      StackMap stack: java.util.stream.Stream
            areturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/Unit;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/Unit;>;

  java.util.stream.Stream<jdk.jshell.Unit> dependents();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 351
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.SnippetMaps.getDependents:(Ljdk/jshell/Snippet;)Ljava/util/List;
         1: .line 352
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         2: .line 353
            aload 0 /* this */
            invokedynamic test(Ljdk/jshell/Unit;)Ljava/util/function/Predicate;
              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:
                  (Ljava/lang/Object;)Z
                  jdk/jshell/Unit.lambda$8(Ljdk/jshell/Snippet;)Z (7)
                  (Ljdk/jshell/Snippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 354
            aload 0 /* this */
            invokedynamic apply(Ljdk/jshell/Unit;)Ljava/util/function/Function;
              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:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jshell/Unit.lambda$9(Ljdk/jshell/Snippet;)Ljdk/jshell/Unit; (7)
                  (Ljdk/jshell/Snippet;)Ljdk/jshell/Unit;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 351
            areturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/jshell/Unit;
    Signature: ()Ljava/util/stream/Stream<Ljdk/jshell/Unit;>;

  void finish();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 358
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.recordCompilation:()V
         1: .line 359
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.SnippetMaps.installSnippet:(Ljdk/jshell/Snippet;)V
         2: .line 360
            return
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/Unit;

  private void markOldDeclarationOverwritten();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 363
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            if_acmpeq 6
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            ifnull 6
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 6
         1: .line 365
            aload 0 /* this */
            new jdk.jshell.SnippetEvent
            dup
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
         2: .line 366
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            getstatic jdk.jshell.Snippet$Status.OVERWRITTEN:Ljdk/jshell/Snippet$Status;
         3: .line 367
            iconst_0
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aconst_null
            aconst_null
            invokespecial jdk.jshell.SnippetEvent.<init>:(Ljdk/jshell/Snippet;Ljdk/jshell/Snippet$Status;Ljdk/jshell/Snippet$Status;ZLjdk/jshell/Snippet;Ljava/lang/String;Ljdk/jshell/JShellException;)V
         4: .line 365
            putfield jdk.jshell.Unit.replaceOldEvent:Ljdk/jshell/SnippetEvent;
         5: .line 368
            aload 0 /* this */
            getfield jdk.jshell.Unit.siOld:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.setOverwritten:()V
         6: .line 370
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jshell/Unit;

  private jdk.jshell.DiagList computeDiagnostics();
    descriptor: ()Ljdk/jshell/DiagList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 373
            new jdk.jshell.DiagList
            dup
            invokespecial jdk.jshell.DiagList.<init>:()V
            astore 1 /* diagnostics */
        start local 1 // jdk.jshell.DiagList diagnostics
         1: .line 374
            aload 0 /* this */
            getfield jdk.jshell.Unit.compilationDiagnostics:Ljdk/jshell/DiagList;
            astore 2 /* diags */
        start local 2 // jdk.jshell.DiagList diags
         2: .line 375
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_DEFINED:Ljdk/jshell/Snippet$Status;
            if_acmpeq 3
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            getstatic jdk.jshell.Snippet$Status.RECOVERABLE_NOT_DEFINED:Ljdk/jshell/Snippet$Status;
            if_acmpne 6
         3: .line 376
      StackMap locals: jdk.jshell.DiagList jdk.jshell.DiagList
      StackMap stack:
            new jdk.jshell.Unit$UnresolvedExtractor
            dup
            aload 2 /* diags */
            invokespecial jdk.jshell.Unit$UnresolvedExtractor.<init>:(Ljdk/jshell/DiagList;)V
            astore 3 /* ue */
        start local 3 // jdk.jshell.Unit$UnresolvedExtractor ue
         4: .line 377
            aload 1 /* diagnostics */
            aload 3 /* ue */
            invokevirtual jdk.jshell.Unit$UnresolvedExtractor.otherAll:()Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // jdk.jshell.Unit$UnresolvedExtractor ue
         5: .line 378
            goto 8
         6: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield jdk.jshell.Unit.unresolved:Ljava/util/List;
         7: .line 380
            aload 1 /* diagnostics */
            aload 2 /* diags */
            invokevirtual jdk.jshell.DiagList.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 382
      StackMap locals:
      StackMap stack:
            aload 1 /* diagnostics */
            aload 0 /* this */
            getfield jdk.jshell.Unit.generatedDiagnostics:Ljdk/jshell/DiagList;
            invokevirtual jdk.jshell.DiagList.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 383
            aload 1 /* diagnostics */
            areturn
        end local 2 // jdk.jshell.DiagList diags
        end local 1 // jdk.jshell.DiagList diagnostics
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljdk/jshell/Unit;
            1   10     1  diagnostics  Ljdk/jshell/DiagList;
            2   10     2        diags  Ljdk/jshell/DiagList;
            4    5     3           ue  Ljdk/jshell/Unit$UnresolvedExtractor;

  private void recordCompilation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 387
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.maps:Ljdk/jshell/SnippetMaps;
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.SnippetMaps.mapDependencies:(Ljdk/jshell/Snippet;)V
         1: .line 388
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.computeDiagnostics:()Ljdk/jshell/DiagList;
            astore 1 /* diags */
        start local 1 // jdk.jshell.DiagList diags
         2: .line 389
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            aload 0 /* this */
            getfield jdk.jshell.Unit.unresolved:Ljava/util/List;
            aload 1 /* diags */
            invokevirtual jdk.jshell.Snippet.setCompilationStatus:(Ljdk/jshell/Snippet$Status;Ljava/util/List;Ljdk/jshell/DiagList;)V
         3: .line 390
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            iconst_1
            ldc "recordCompilation: %s -- status %s, unresolved %s\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 391
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield jdk.jshell.Unit.unresolved:Ljava/util/List;
            aastore
         5: .line 390
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         6: .line 392
            return
        end local 1 // jdk.jshell.DiagList diags
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/jshell/Unit;
            2    7     1  diags  Ljdk/jshell/DiagList;

  private void checkForOverwrite(jdk.jshell.TaskFactory$AnalyzeTask);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
         0: .line 395
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
         1: .line 396
            aload 0 /* this */
            getfield jdk.jshell.Unit.replaceOldEvent:Ljdk/jshell/SnippetEvent;
            ifnull 2
            aload 0 /* this */
            getfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.jshell.Unit.replaceOldEvent:Ljdk/jshell/SnippetEvent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.METHOD:Ljdk/jshell/Snippet$Kind;
            if_acmpne 11
            aload 0 /* this */
            getfield jdk.jshell.Unit.status:Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isDefined:()Z
            ifeq 11
         3: .line 400
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            checkcast jdk.jshell.MethodSnippet
            astore 2 /* msi */
        start local 2 // jdk.jshell.MethodSnippet msi
         4: .line 401
            aload 2 /* msi */
         5: .line 402
            aload 0 /* this */
            aload 1 /* at */
            aload 2 /* msi */
            invokevirtual jdk.jshell.Unit.computeQualifiedParameterTypes:(Ljdk/jshell/TaskFactory$AnalyzeTask;Ljdk/jshell/MethodSnippet;)Ljava/lang/String;
         6: .line 401
            invokevirtual jdk.jshell.MethodSnippet.setQualifiedParameterTypes:(Ljava/lang/String;)V
         7: .line 403
            aload 0 /* this */
            aload 2 /* msi */
            invokevirtual jdk.jshell.Unit.overwriteMatchingMethod:(Ljdk/jshell/MethodSnippet;)Ljdk/jshell/Snippet$Status;
            astore 3 /* overwrittenStatus */
        start local 3 // jdk.jshell.Snippet$Status overwrittenStatus
         8: .line 404
            aload 3 /* overwrittenStatus */
            ifnull 11
         9: .line 405
            aload 0 /* this */
            aload 3 /* overwrittenStatus */
            putfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
        10: .line 406
            aload 0 /* this */
            iconst_1
            putfield jdk.jshell.Unit.signatureChanged:Z
        end local 3 // jdk.jshell.Snippet$Status overwrittenStatus
        end local 2 // jdk.jshell.MethodSnippet msi
        11: .line 409
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Ljdk/jshell/Unit;
            0   12     1                 at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            4   11     2                msi  Ljdk/jshell/MethodSnippet;
            8   11     3  overwrittenStatus  Ljdk/jshell/Snippet$Status;
    MethodParameters:
      Name  Flags
      at    

  private jdk.jshell.Snippet$Status overwriteMatchingMethod(jdk.jshell.MethodSnippet);
    descriptor: (Ljdk/jshell/MethodSnippet;)Ljdk/jshell/Snippet$Status;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.MethodSnippet msi
         0: .line 415
            aload 1 /* msi */
            invokevirtual jdk.jshell.MethodSnippet.qualifiedParameterTypes:()Ljava/lang/String;
            astore 2 /* qpt */
        start local 2 // java.lang.String qpt
         1: .line 416
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            invokevirtual jdk.jshell.JShell.methods:()Ljava/util/stream/Stream;
         2: .line 417
            aload 1 /* msi */
            aload 2 /* qpt */
            invokedynamic test(Ljdk/jshell/MethodSnippet;Ljava/lang/String;)Ljava/util/function/Predicate;
              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:
                  (Ljava/lang/Object;)Z
                  jdk/jshell/Unit.lambda$10(Ljdk/jshell/MethodSnippet;Ljava/lang/String;Ljdk/jshell/MethodSnippet;)Z (6)
                  (Ljdk/jshell/MethodSnippet;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 423
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 416
            astore 3 /* matching */
        start local 3 // java.util.List matching
         5: .line 427
            aconst_null
            astore 4 /* overwrittenStatus */
        start local 4 // jdk.jshell.Snippet$Status overwrittenStatus
         6: .line 428
            aload 3 /* matching */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 20
      StackMap locals: jdk.jshell.Unit jdk.jshell.MethodSnippet java.lang.String java.util.List jdk.jshell.Snippet$Status top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jshell.MethodSnippet
            astore 5 /* sn */
        start local 5 // jdk.jshell.MethodSnippet sn
         8: .line 429
            aload 5 /* sn */
            invokevirtual jdk.jshell.MethodSnippet.status:()Ljdk/jshell/Snippet$Status;
            astore 4 /* overwrittenStatus */
         9: .line 430
            new jdk.jshell.SnippetEvent
            dup
        10: .line 431
            aload 5 /* sn */
            aload 4 /* overwrittenStatus */
            getstatic jdk.jshell.Snippet$Status.OVERWRITTEN:Ljdk/jshell/Snippet$Status;
        11: .line 432
            iconst_0
            aload 1 /* msi */
            aconst_null
            aconst_null
        12: .line 430
            invokespecial jdk.jshell.SnippetEvent.<init>:(Ljdk/jshell/Snippet;Ljdk/jshell/Snippet$Status;Ljdk/jshell/Snippet$Status;ZLjdk/jshell/Snippet;Ljava/lang/String;Ljdk/jshell/JShellException;)V
            astore 7 /* se */
        start local 7 // jdk.jshell.SnippetEvent se
        13: .line 433
            aload 5 /* sn */
            invokevirtual jdk.jshell.MethodSnippet.setOverwritten:()V
        14: .line 434
            aload 0 /* this */
            getfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
            aload 7 /* se */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 435
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            bipush 16
        16: .line 436
            ldc "Overwrite event #%d -- key: %s before: %s status: %s sig: %b cause: %s\n"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 437
            aload 0 /* this */
            getfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 7 /* se */
            invokevirtual jdk.jshell.SnippetEvent.snippet:()Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_2
            aload 7 /* se */
            invokevirtual jdk.jshell.SnippetEvent.previousStatus:()Ljdk/jshell/Snippet$Status;
            aastore
            dup
            iconst_3
        18: .line 438
            aload 7 /* se */
            invokevirtual jdk.jshell.SnippetEvent.status:()Ljdk/jshell/Snippet$Status;
            aastore
            dup
            iconst_4
            aload 7 /* se */
            invokevirtual jdk.jshell.SnippetEvent.isSignatureChange:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            aload 7 /* se */
            invokevirtual jdk.jshell.SnippetEvent.causeSnippet:()Ljdk/jshell/Snippet;
            aastore
        19: .line 435
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
        end local 7 // jdk.jshell.SnippetEvent se
        end local 5 // jdk.jshell.MethodSnippet sn
        20: .line 428
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        21: .line 440
            aload 4 /* overwrittenStatus */
            areturn
        end local 4 // jdk.jshell.Snippet$Status overwrittenStatus
        end local 3 // java.util.List matching
        end local 2 // java.lang.String qpt
        end local 1 // jdk.jshell.MethodSnippet msi
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Ljdk/jshell/Unit;
            0   22     1                msi  Ljdk/jshell/MethodSnippet;
            1   22     2                qpt  Ljava/lang/String;
            5   22     3           matching  Ljava/util/List<Ljdk/jshell/MethodSnippet;>;
            6   22     4  overwrittenStatus  Ljdk/jshell/Snippet$Status;
            8   20     5                 sn  Ljdk/jshell/MethodSnippet;
           13   20     7                 se  Ljdk/jshell/SnippetEvent;
    MethodParameters:
      Name  Flags
      msi   

  private java.lang.String computeQualifiedParameterTypes(jdk.jshell.TaskFactory$AnalyzeTask, jdk.jshell.MethodSnippet);
    descriptor: (Ljdk/jshell/TaskFactory$AnalyzeTask;Ljdk/jshell/MethodSnippet;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        start local 2 // jdk.jshell.MethodSnippet msi
         0: .line 444
            aload 1 /* at */
            aload 2 /* msi */
            invokestatic jdk.jshell.TreeDissector.createBySnippet:(Ljdk/jshell/TaskFactory$BaseTask;Ljdk/jshell/Snippet;)Ljdk/jshell/TreeDissector;
            aload 2 /* msi */
            invokevirtual jdk.jshell.TreeDissector.typeOfMethod:(Ljdk/jshell/MethodSnippet;)Ljava/lang/String;
            astore 3 /* rawSig */
        start local 3 // java.lang.String rawSig
         1: .line 445
            aload 3 /* rawSig */
            invokestatic jdk.jshell.Util.expunge:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* signature */
        start local 4 // java.lang.String signature
         2: .line 446
            aload 4 /* signature */
            bipush 41
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* paren */
        start local 5 // int paren
         3: .line 450
            iload 5 /* paren */
            iflt 5
         4: .line 451
            aload 4 /* signature */
            iconst_0
            iload 5 /* paren */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 6
         5: .line 452
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* msi */
            invokevirtual jdk.jshell.MethodSnippet.parameterTypes:()Ljava/lang/String;
         6: .line 450
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 5 // int paren
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String rawSig
        end local 2 // jdk.jshell.MethodSnippet msi
        end local 1 // jdk.jshell.TaskFactory$AnalyzeTask at
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/jshell/Unit;
            0    7     1         at  Ljdk/jshell/TaskFactory$AnalyzeTask;
            0    7     2        msi  Ljdk/jshell/MethodSnippet;
            1    7     3     rawSig  Ljava/lang/String;
            2    7     4  signature  Ljava/lang/String;
            3    7     5      paren  I
    MethodParameters:
      Name  Flags
      at    
      msi   

  jdk.jshell.SnippetEvent event(java.lang.String, jdk.jshell.JShellException);
    descriptor: (Ljava/lang/String;Ljdk/jshell/JShellException;)Ljdk/jshell/SnippetEvent;
    flags: (0x0000) 
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // jdk.jshell.Unit this
        start local 1 // java.lang.String value
        start local 2 // jdk.jshell.JShellException exception
         0: .line 456
            aload 0 /* this */
            invokevirtual jdk.jshell.Unit.sigChanged:()Z
            istore 3 /* wasSignatureChanged */
        start local 3 // boolean wasSignatureChanged
         1: .line 457
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            bipush 16
            ldc "Snippet: %s id: %s before: %s status: %s sig: %b cause: %s\n"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 458
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.id:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            aastore
            dup
            iconst_4
            iload 3 /* wasSignatureChanged */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield jdk.jshell.Unit.causalSnippet:Ljdk/jshell/Snippet;
            aastore
         3: .line 457
            invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
         4: .line 459
            new jdk.jshell.SnippetEvent
            dup
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            aload 0 /* this */
            getfield jdk.jshell.Unit.prevStatus:Ljdk/jshell/Snippet$Status;
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
         5: .line 460
            iload 3 /* wasSignatureChanged */
            aload 0 /* this */
            getfield jdk.jshell.Unit.causalSnippet:Ljdk/jshell/Snippet;
            aload 1 /* value */
            aload 2 /* exception */
         6: .line 459
            invokespecial jdk.jshell.SnippetEvent.<init>:(Ljdk/jshell/Snippet;Ljdk/jshell/Snippet$Status;Ljdk/jshell/Snippet$Status;ZLjdk/jshell/Snippet;Ljava/lang/String;Ljdk/jshell/JShellException;)V
            areturn
        end local 3 // boolean wasSignatureChanged
        end local 2 // jdk.jshell.JShellException exception
        end local 1 // java.lang.String value
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Ljdk/jshell/Unit;
            0    7     1                value  Ljava/lang/String;
            0    7     2            exception  Ljdk/jshell/JShellException;
            1    7     3  wasSignatureChanged  Z
    MethodParameters:
           Name  Flags
      value      
      exception  

  java.util.List<jdk.jshell.SnippetEvent> secondaryEvents();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 464
            aload 0 /* this */
            getfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
            ifnonnull 2
         1: .line 465
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 3
         2: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jshell.Unit.secondaryEvents:Ljava/util/List;
         3: .line 464
      StackMap locals:
      StackMap stack: java.util.List
            areturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jshell/Unit;
    Signature: ()Ljava/util/List<Ljdk/jshell/SnippetEvent;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit this
         0: .line 471
            new java.lang.StringBuilder
            dup
            ldc "Unit("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;

  private static boolean lambda$0(java.lang.String, jdk.jshell.Unit);
    descriptor: (Ljava/lang/String;Ljdk/jshell/Unit;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // jdk.jshell.Unit u
         0: .line 159
            aload 1 /* u */
            invokevirtual jdk.jshell.Unit.snippet:()Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.kind:()Ljdk/jshell/Snippet$Kind;
            getstatic jdk.jshell.Snippet$Kind.METHOD:Ljdk/jshell/Snippet$Kind;
            if_acmpne 2
         1: .line 160
            aload 1 /* u */
            invokevirtual jdk.jshell.Unit.snippet:()Ljdk/jshell/Snippet;
            checkcast jdk.jshell.MethodSnippet
            invokevirtual jdk.jshell.MethodSnippet.name:()Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // jdk.jshell.Unit u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     u  Ljdk/jshell/Unit;

  private static jdk.jshell.Key lambda$1(jdk.jshell.Unit);
    descriptor: (Ljdk/jshell/Unit;)Ljdk/jshell/Key;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit u
         0: .line 167
            aload 0 /* u */
            invokevirtual jdk.jshell.Unit.snippet:()Ljdk/jshell/Snippet;
            invokevirtual jdk.jshell.Snippet.key:()Ljdk/jshell/Key;
            areturn
        end local 0 // jdk.jshell.Unit u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     u  Ljdk/jshell/Unit;

  private static boolean lambda$2(java.util.List, jdk.jshell.Unit);
    descriptor: (Ljava/util/List;Ljdk/jshell/Unit;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // jdk.jshell.Unit u
         0: .line 171
            aload 0
            aload 1 /* u */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Unit u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     u  Ljdk/jshell/Unit;

  private static jdk.jshell.Wrap lambda$5(jdk.jshell.Unit);
    descriptor: (Ljdk/jshell/Unit;)Ljdk/jshell/Wrap;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jshell.Unit u
         0: .line 180
            aload 0 /* u */
            getfield jdk.jshell.Unit.activeGuts:Ljdk/jshell/Wrap;
            areturn
        end local 0 // jdk.jshell.Unit u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     u  Ljdk/jshell/Unit;

  private static jdk.jshell.spi.ExecutionControl$ClassBytecodes[] lambda$7(int);
    descriptor: (I)[Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray jdk.jshell.spi.ExecutionControl$ClassBytecodes
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private boolean lambda$8(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.Snippet xsi
         0: .line 353
            aload 1 /* xsi */
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            if_acmpeq 1
            aload 1 /* xsi */
            invokevirtual jdk.jshell.Snippet.status:()Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // jdk.jshell.Snippet xsi
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jshell/Unit;
            0    3     1   xsi  Ljdk/jshell/Snippet;

  private jdk.jshell.Unit lambda$9(jdk.jshell.Snippet);
    descriptor: (Ljdk/jshell/Snippet;)Ljdk/jshell/Unit;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.jshell.Unit this
        start local 1 // jdk.jshell.Snippet xsi
         0: .line 354
            new jdk.jshell.Unit
            dup
            aload 0 /* this */
            getfield jdk.jshell.Unit.state:Ljdk/jshell/JShell;
            aload 1 /* xsi */
            aload 0 /* this */
            getfield jdk.jshell.Unit.si:Ljdk/jshell/Snippet;
            new jdk.jshell.DiagList
            dup
            invokespecial jdk.jshell.DiagList.<init>:()V
            invokespecial jdk.jshell.Unit.<init>:(Ljdk/jshell/JShell;Ljdk/jshell/Snippet;Ljdk/jshell/Snippet;Ljdk/jshell/DiagList;)V
            areturn
        end local 1 // jdk.jshell.Snippet xsi
        end local 0 // jdk.jshell.Unit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/Unit;
            0    1     1   xsi  Ljdk/jshell/Snippet;

  private static boolean lambda$10(jdk.jshell.MethodSnippet, java.lang.String, jdk.jshell.MethodSnippet);
    descriptor: (Ljdk/jshell/MethodSnippet;Ljava/lang/String;Ljdk/jshell/MethodSnippet;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // jdk.jshell.MethodSnippet sn
         0: .line 418
            aload 2 /* sn */
            ifnull 5
         1: .line 419
            aload 2 /* sn */
            aload 0
            if_acmpeq 5
         2: .line 420
            aload 2 /* sn */
            invokevirtual jdk.jshell.MethodSnippet.status:()Ljdk/jshell/Snippet$Status;
            invokevirtual jdk.jshell.Snippet$Status.isActive:()Z
            ifeq 5
         3: .line 421
            aload 2 /* sn */
            invokevirtual jdk.jshell.MethodSnippet.name:()Ljava/lang/String;
            aload 0
            invokevirtual jdk.jshell.MethodSnippet.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 422
            aload 1
            aload 2 /* sn */
            invokevirtual jdk.jshell.MethodSnippet.qualifiedParameterTypes:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // jdk.jshell.MethodSnippet sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     2    sn  Ljdk/jshell/MethodSnippet;
}
SourceFile: "Unit.java"
NestMembers:
  jdk.jshell.Unit$UnresolvedExtractor
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  ClassInfo = jdk.jshell.ClassTracker$ClassInfo of jdk.jshell.ClassTracker
  public final Kind = jdk.jshell.Snippet$Kind of jdk.jshell.Snippet
  public final Status = jdk.jshell.Snippet$Status of jdk.jshell.Snippet
  public final SubKind = jdk.jshell.Snippet$SubKind of jdk.jshell.Snippet
  AnalyzeTask = jdk.jshell.TaskFactory$AnalyzeTask of jdk.jshell.TaskFactory
  abstract BaseTask = jdk.jshell.TaskFactory$BaseTask of jdk.jshell.TaskFactory
  CompileTask = jdk.jshell.TaskFactory$CompileTask of jdk.jshell.TaskFactory
  private UnresolvedExtractor = jdk.jshell.Unit$UnresolvedExtractor of jdk.jshell.Unit
  public final ClassBytecodes = jdk.jshell.spi.ExecutionControl$ClassBytecodes of jdk.jshell.spi.ExecutionControl
  public ClassInstallException = jdk.jshell.spi.ExecutionControl$ClassInstallException of jdk.jshell.spi.ExecutionControl
  public EngineTerminationException = jdk.jshell.spi.ExecutionControl$EngineTerminationException of jdk.jshell.spi.ExecutionControl
  public NotImplementedException = jdk.jshell.spi.ExecutionControl$NotImplementedException of jdk.jshell.spi.ExecutionControl