class jdk.jshell.CompletenessAnalyzer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.jshell.CompletenessAnalyzer
  super_class: java.lang.Object
{
  private final com.sun.tools.javac.parser.ScannerFactory scannerFactory;
    descriptor: Lcom/sun/tools/javac/parser/ScannerFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static final int XEXPR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int XDECL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int XSTMT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int XEXPR1o;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int XDECL1o;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int XSTMT1o;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int XEXPR1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int XDECL1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  private static final int XSTMT1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 36

  private static final int XANY1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 56

  private static final int XTERM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final int XSTART;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int XERRO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final int XBRACESNEEDED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  private static jdk.jshell.SourceCodeAnalysis$Completeness error();
    descriptor: ()Ljdk/jshell/SourceCodeAnalysis$Completeness;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            getstatic jdk.jshell.SourceCodeAnalysis$Completeness.UNKNOWN:Ljdk/jshell/SourceCodeAnalysis$Completeness;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.jshell.JShell);
    descriptor: (Ljdk/jshell/JShell;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.jshell.CompletenessAnalyzer this
        start local 1 // jdk.jshell.JShell proc
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            aload 1 /* proc */
            putfield jdk.jshell.CompletenessAnalyzer.proc:Ljdk/jshell/JShell;
         2: .line 79
            new com.sun.tools.javac.util.Context
            dup
            invokespecial com.sun.tools.javac.util.Context.<init>:()V
            astore 2 /* context */
        start local 2 // com.sun.tools.javac.util.Context context
         3: .line 80
            aload 2 /* context */
            invokestatic jdk.jshell.CompletenessAnalyzer$CaLog.createLog:(Lcom/sun/tools/javac/util/Context;)Ljdk/jshell/CompletenessAnalyzer$CaLog;
            astore 3 /* log */
        start local 3 // com.sun.tools.javac.util.Log log
         4: .line 81
            aload 2 /* context */
            ldc Lcom/sun/tools/javac/util/Log;
            aload 3 /* log */
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
         5: .line 82
            aload 2 /* context */
            ldc Lcom/sun/tools/javac/code/Source;
            getstatic com.sun.tools.javac.code.Source.JDK9:Lcom/sun/tools/javac/code/Source;
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
         6: .line 83
            aload 0 /* this */
            aload 2 /* context */
            invokestatic com.sun.tools.javac.parser.ScannerFactory.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/parser/ScannerFactory;
            putfield jdk.jshell.CompletenessAnalyzer.scannerFactory:Lcom/sun/tools/javac/parser/ScannerFactory;
         7: .line 84
            return
        end local 3 // com.sun.tools.javac.util.Log log
        end local 2 // com.sun.tools.javac.util.Context context
        end local 1 // jdk.jshell.JShell proc
        end local 0 // jdk.jshell.CompletenessAnalyzer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Ljdk/jshell/CompletenessAnalyzer;
            0    8     1     proc  Ljdk/jshell/JShell;
            3    8     2  context  Lcom/sun/tools/javac/util/Context;
            4    8     3      log  Lcom/sun/tools/javac/util/Log;
    MethodParameters:
      Name  Flags
      proc  

  jdk.jshell.CompletenessAnalyzer$CaInfo scan(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/CompletenessAnalyzer$CaInfo;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.jshell.CompletenessAnalyzer this
        start local 1 // java.lang.String s
         0: .line 88
            new jdk.jshell.CompletenessAnalyzer$Parser
            dup
         1: .line 89
            aload 0 /* this */
            aload 1 /* s */
            invokedynamic get(Ljdk/jshell/CompletenessAnalyzer;Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  jdk/jshell/CompletenessAnalyzer.lambda$0(Ljava/lang/String;)Ljdk/jshell/CompletenessAnalyzer$Matched; (7)
                  ()Ljdk/jshell/CompletenessAnalyzer$Matched;
         2: .line 90
            aload 0 /* this */
            aload 1 /* s */
            invokedynamic apply(Ljdk/jshell/CompletenessAnalyzer;Ljava/lang/String;)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/CompletenessAnalyzer.lambda$1(Ljava/lang/String;Ljdk/jshell/TaskFactory$Worker;)Ljdk/jshell/SourceCodeAnalysis$Completeness; (7)
                  (Ljdk/jshell/TaskFactory$Worker;)Ljdk/jshell/SourceCodeAnalysis$Completeness;
         3: .line 88
            invokespecial jdk.jshell.CompletenessAnalyzer$Parser.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Function;)V
            astore 2 /* parser */
        start local 2 // jdk.jshell.CompletenessAnalyzer$Parser parser
         4: .line 91
            aload 2 /* parser */
            invokevirtual jdk.jshell.CompletenessAnalyzer$Parser.parseUnit:()Ljdk/jshell/SourceCodeAnalysis$Completeness;
            astore 3 /* stat */
        start local 3 // jdk.jshell.SourceCodeAnalysis$Completeness stat
         5: .line 92
            aload 3 /* stat */
            getstatic jdk.jshell.SourceCodeAnalysis$Completeness.UNKNOWN:Ljdk/jshell/SourceCodeAnalysis$Completeness;
            if_acmpne 7
         6: .line 93
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            goto 8
         7: .line 94
      StackMap locals: jdk.jshell.CompletenessAnalyzer$Parser jdk.jshell.SourceCodeAnalysis$Completeness
      StackMap stack:
            aload 2 /* parser */
            invokevirtual jdk.jshell.CompletenessAnalyzer$Parser.endPos:()I
         8: .line 92
      StackMap locals:
      StackMap stack: int
            istore 4 /* endPos */
        start local 4 // int endPos
         9: .line 95
            new jdk.jshell.CompletenessAnalyzer$CaInfo
            dup
            aload 3 /* stat */
            iload 4 /* endPos */
            invokespecial jdk.jshell.CompletenessAnalyzer$CaInfo.<init>:(Ljdk/jshell/SourceCodeAnalysis$Completeness;I)V
        10: areturn
        end local 4 // int endPos
        end local 3 // jdk.jshell.SourceCodeAnalysis$Completeness stat
        end local 2 // jdk.jshell.CompletenessAnalyzer$Parser parser
        11: .line 96
      StackMap locals: jdk.jshell.CompletenessAnalyzer java.lang.String
      StackMap stack: jdk.jshell.CompletenessAnalyzer$SyntaxException
            pop
        12: .line 97
            new jdk.jshell.CompletenessAnalyzer$CaInfo
            dup
            invokestatic jdk.jshell.CompletenessAnalyzer.error:()Ljdk/jshell/SourceCodeAnalysis$Completeness;
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            invokespecial jdk.jshell.CompletenessAnalyzer$CaInfo.<init>:(Ljdk/jshell/SourceCodeAnalysis$Completeness;I)V
            areturn
        end local 1 // java.lang.String s
        end local 0 // jdk.jshell.CompletenessAnalyzer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljdk/jshell/CompletenessAnalyzer;
            0   13     1       s  Ljava/lang/String;
            4   11     2  parser  Ljdk/jshell/CompletenessAnalyzer$Parser;
            5   11     3    stat  Ljdk/jshell/SourceCodeAnalysis$Completeness;
            9   11     4  endPos  I
      Exception table:
        from    to  target  type
           0    10      11  Class jdk.jshell.CompletenessAnalyzer$SyntaxException
    MethodParameters:
      Name  Flags
      s     

  private static void die();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 106
            new jdk.jshell.CompletenessAnalyzer$SyntaxException
            dup
            invokespecial jdk.jshell.CompletenessAnalyzer$SyntaxException.<init>:()V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private jdk.jshell.CompletenessAnalyzer$Matched lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jshell/CompletenessAnalyzer$Matched;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.jshell.CompletenessAnalyzer this
         0: .line 89
            new jdk.jshell.CompletenessAnalyzer$Matched
            dup
            aload 0 /* this */
            getfield jdk.jshell.CompletenessAnalyzer.scannerFactory:Lcom/sun/tools/javac/parser/ScannerFactory;
            aload 1
            iconst_0
            invokevirtual com.sun.tools.javac.parser.ScannerFactory.newScanner:(Ljava/lang/CharSequence;Z)Lcom/sun/tools/javac/parser/Scanner;
            invokespecial jdk.jshell.CompletenessAnalyzer$Matched.<init>:(Lcom/sun/tools/javac/parser/Scanner;)V
            areturn
        end local 0 // jdk.jshell.CompletenessAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jshell/CompletenessAnalyzer;

  private jdk.jshell.SourceCodeAnalysis$Completeness lambda$1(java.lang.String, jdk.jshell.TaskFactory$Worker);
    descriptor: (Ljava/lang/String;Ljdk/jshell/TaskFactory$Worker;)Ljdk/jshell/SourceCodeAnalysis$Completeness;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jshell.CompletenessAnalyzer this
        start local 2 // jdk.jshell.TaskFactory$Worker worker
         0: .line 90
            aload 0 /* this */
            getfield jdk.jshell.CompletenessAnalyzer.proc:Ljdk/jshell/JShell;
            getfield jdk.jshell.JShell.taskFactory:Ljdk/jshell/TaskFactory;
            aload 1
            aload 2 /* worker */
            invokevirtual jdk.jshell.TaskFactory.parse:(Ljava/lang/String;Ljdk/jshell/TaskFactory$Worker;)Ljava/lang/Object;
            checkcast jdk.jshell.SourceCodeAnalysis$Completeness
            areturn
        end local 2 // jdk.jshell.TaskFactory$Worker worker
        end local 0 // jdk.jshell.CompletenessAnalyzer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/jshell/CompletenessAnalyzer;
            0    1     2  worker  Ljdk/jshell/TaskFactory$Worker<Ljdk/jshell/TaskFactory$ParseTask;Ljdk/jshell/SourceCodeAnalysis$Completeness;>;
}
SourceFile: "CompletenessAnalyzer.java"
NestMembers:
  jdk.jshell.CompletenessAnalyzer$CT  jdk.jshell.CompletenessAnalyzer$CaInfo  jdk.jshell.CompletenessAnalyzer$CaLog  jdk.jshell.CompletenessAnalyzer$Matched  jdk.jshell.CompletenessAnalyzer$Parser  jdk.jshell.CompletenessAnalyzer$SyntaxException  jdk.jshell.CompletenessAnalyzer$TK
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private CT = jdk.jshell.CompletenessAnalyzer$CT of jdk.jshell.CompletenessAnalyzer
  CaInfo = jdk.jshell.CompletenessAnalyzer$CaInfo of jdk.jshell.CompletenessAnalyzer
  private CaLog = jdk.jshell.CompletenessAnalyzer$CaLog of jdk.jshell.CompletenessAnalyzer
  private Matched = jdk.jshell.CompletenessAnalyzer$Matched of jdk.jshell.CompletenessAnalyzer
  private Parser = jdk.jshell.CompletenessAnalyzer$Parser of jdk.jshell.CompletenessAnalyzer
  private SyntaxException = jdk.jshell.CompletenessAnalyzer$SyntaxException of jdk.jshell.CompletenessAnalyzer
  final TK = jdk.jshell.CompletenessAnalyzer$TK of jdk.jshell.CompletenessAnalyzer
  public final Completeness = jdk.jshell.SourceCodeAnalysis$Completeness of jdk.jshell.SourceCodeAnalysis
  ParseTask = jdk.jshell.TaskFactory$ParseTask of jdk.jshell.TaskFactory
  abstract Worker = jdk.jshell.TaskFactory$Worker of jdk.jshell.TaskFactory