class org.springframework.boot.devtools.restart.RestartLauncher extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.devtools.restart.RestartLauncher
  super_class: java.lang.Thread
{
  private final java.lang.String mainClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] args;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Throwable error;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.ClassLoader, java.lang.String, java.lang.String[], java.lang.Thread$UncaughtExceptionHandler);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Thread$UncaughtExceptionHandler;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.lang.String mainClassName
        start local 3 // java.lang.String[] args
        start local 4 // java.lang.Thread$UncaughtExceptionHandler exceptionHandler
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 36
            aload 0 /* this */
            aload 2 /* mainClassName */
            putfield org.springframework.boot.devtools.restart.RestartLauncher.mainClassName:Ljava/lang/String;
         2: .line 37
            aload 0 /* this */
            aload 3 /* args */
            putfield org.springframework.boot.devtools.restart.RestartLauncher.args:[Ljava/lang/String;
         3: .line 38
            aload 0 /* this */
            ldc "restartedMain"
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.setName:(Ljava/lang/String;)V
         4: .line 39
            aload 0 /* this */
            aload 4 /* exceptionHandler */
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.setUncaughtExceptionHandler:(Ljava/lang/Thread$UncaughtExceptionHandler;)V
         5: .line 40
            aload 0 /* this */
            iconst_0
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.setDaemon:(Z)V
         6: .line 41
            aload 0 /* this */
            aload 1 /* classLoader */
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         7: .line 42
            return
        end local 4 // java.lang.Thread$UncaughtExceptionHandler exceptionHandler
        end local 3 // java.lang.String[] args
        end local 2 // java.lang.String mainClassName
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/springframework/boot/devtools/restart/RestartLauncher;
            0    8     1       classLoader  Ljava/lang/ClassLoader;
            0    8     2     mainClassName  Ljava/lang/String;
            0    8     3              args  [Ljava/lang/String;
            0    8     4  exceptionHandler  Ljava/lang/Thread$UncaughtExceptionHandler;
    MethodParameters:
                  Name  Flags
      classLoader       
      mainClassName     
      args              
      exceptionHandler  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
         0: .line 47
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.RestartLauncher.mainClassName:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* mainClass */
        start local 1 // java.lang.Class mainClass
         1: .line 48
            aload 1 /* mainClass */
            ldc "main"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* mainMethod */
        start local 2 // java.lang.reflect.Method mainMethod
         2: .line 49
            aload 2 /* mainMethod */
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.RestartLauncher.args:[Ljava/lang/String;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.reflect.Method mainMethod
        end local 1 // java.lang.Class mainClass
         3: .line 50
            goto 7
         4: .line 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
         5: .line 52
            aload 0 /* this */
            aload 1 /* ex */
            putfield org.springframework.boot.devtools.restart.RestartLauncher.error:Ljava/lang/Throwable;
         6: .line 53
            aload 0 /* this */
            invokevirtual org.springframework.boot.devtools.restart.RestartLauncher.getUncaughtExceptionHandler:()Ljava/lang/Thread$UncaughtExceptionHandler;
            aload 0 /* this */
            aload 1 /* ex */
            invokeinterface java.lang.Thread$UncaughtExceptionHandler.uncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ex
         7: .line 55
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/springframework/boot/devtools/restart/RestartLauncher;
            1    3     1   mainClass  Ljava/lang/Class<*>;
            2    3     2  mainMethod  Ljava/lang/reflect/Method;
            5    7     1          ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable

  java.lang.Throwable getError();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
         0: .line 58
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.RestartLauncher.error:Ljava/lang/Throwable;
            areturn
        end local 0 // org.springframework.boot.devtools.restart.RestartLauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/RestartLauncher;
}
SourceFile: "RestartLauncher.java"
InnerClasses:
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread