public class lombok.installer.Installer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: lombok.installer.Installer
  super_class: java.lang.Object
{
  static final java.net.URI ABOUT_LOMBOK_URL;
    descriptor: Ljava/net/URI;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.util.List<lombok.installer.IdeLocationProvider> locationProviders;
    descriptor: Ljava/util/List;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Llombok/installer/IdeLocationProvider;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 59
            ldc "https://projectlombok.org"
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            putstatic lombok.installer.Installer.ABOUT_LOMBOK_URL:Ljava/net/URI;
         1: .line 63
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* list */
        start local 0 // java.util.List list
         2: .line 65
            ldc Llombok/installer/IdeLocationProvider;
            invokestatic lombok.core.SpiLoadUtil.findServices:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast lombok.installer.IdeLocationProvider
            astore 1 /* provider */
        start local 1 // lombok.installer.IdeLocationProvider provider
         4: .line 66
            aload 0 /* list */
            aload 1 /* provider */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // lombok.installer.IdeLocationProvider provider
         5: .line 65
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 68
            goto 9
      StackMap locals: java.util.List
      StackMap stack: java.io.IOException
         7: astore 1 /* e */
        start local 1 // java.io.IOException e
         8: .line 69
            aload 1 /* e */
            invokestatic lombok.Lombok.sneakyThrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.io.IOException e
         9: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic lombok.installer.Installer.locationProviders:Ljava/util/List;
        end local 0 // java.util.List list
        10: .line 72
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            2   10     0      list  Ljava/util/List<Llombok/installer/IdeLocationProvider;>;
            4    5     1  provider  Llombok/installer/IdeLocationProvider;
            8    9     1         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     6       7  Class java.io.IOException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // lombok.installer.Installer this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // lombok.installer.Installer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Llombok/installer/Installer;

  static java.util.List<java.util.regex.Pattern> getIdeExecutableNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 75
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* list */
        start local 0 // java.util.List list
         1: .line 76
            getstatic lombok.installer.Installer.locationProviders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast lombok.installer.IdeLocationProvider
            astore 1 /* provider */
        start local 1 // lombok.installer.IdeLocationProvider provider
         3: .line 77
            aload 1 /* provider */
            invokeinterface lombok.installer.IdeLocationProvider.getLocationSelectors:()Ljava/util/regex/Pattern;
            astore 3 /* p */
        start local 3 // java.util.regex.Pattern p
         4: .line 78
            aload 3 /* p */
            ifnull 5
            aload 0 /* list */
            aload 3 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.regex.Pattern p
        end local 1 // lombok.installer.IdeLocationProvider provider
         5: .line 76
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 80
            aload 0 /* list */
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    7     0      list  Ljava/util/List<Ljava/util/regex/Pattern;>;
            3    5     1  provider  Llombok/installer/IdeLocationProvider;
            4    5     3         p  Ljava/util/regex/Pattern;
    Signature: ()Ljava/util/List<Ljava/util/regex/Pattern;>;

  static lombok.installer.IdeLocation tryAllProviders(java.lang.String);
    descriptor: (Ljava/lang/String;)Llombok/installer/IdeLocation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String location
         0: .line 84
            getstatic lombok.installer.Installer.locationProviders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast lombok.installer.IdeLocationProvider
            astore 1 /* provider */
        start local 1 // lombok.installer.IdeLocationProvider provider
         2: .line 85
            aload 1 /* provider */
            aload 0 /* location */
            invokeinterface lombok.installer.IdeLocationProvider.create:(Ljava/lang/String;)Llombok/installer/IdeLocation;
            astore 3 /* loc */
        start local 3 // lombok.installer.IdeLocation loc
         3: .line 86
            aload 3 /* loc */
            ifnull 4
            aload 3 /* loc */
            areturn
        end local 3 // lombok.installer.IdeLocation loc
        end local 1 // lombok.installer.IdeLocationProvider provider
         4: .line 84
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 89
            aconst_null
            areturn
        end local 0 // java.lang.String location
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  location  Ljava/lang/String;
            2    4     1  provider  Llombok/installer/IdeLocationProvider;
            3    4     3       loc  Llombok/installer/IdeLocation;
    Exceptions:
      throws lombok.installer.CorruptedIdeLocationException
    MethodParameters:
          Name  Flags
      location  

  static void autoDiscover(java.util.List<lombok.installer.IdeLocation>, java.util.List<lombok.installer.CorruptedIdeLocationException>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.List locations
        start local 1 // java.util.List problems
         0: .line 93
            getstatic lombok.installer.Installer.locationProviders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast lombok.installer.IdeLocationProvider
            astore 2 /* provider */
        start local 2 // lombok.installer.IdeLocationProvider provider
         2: .line 94
            aload 2 /* provider */
            aload 0 /* locations */
            aload 1 /* problems */
            invokeinterface lombok.installer.IdeLocationProvider.findIdes:(Ljava/util/List;Ljava/util/List;)V
        end local 2 // lombok.installer.IdeLocationProvider provider
         3: .line 93
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 96
            return
        end local 1 // java.util.List problems
        end local 0 // java.util.List locations
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  locations  Ljava/util/List<Llombok/installer/IdeLocation;>;
            0    5     1   problems  Ljava/util/List<Llombok/installer/CorruptedIdeLocationException;>;
            2    3     2   provider  Llombok/installer/IdeLocationProvider;
    Signature: (Ljava/util/List<Llombok/installer/IdeLocation;>;Ljava/util/List<Llombok/installer/CorruptedIdeLocationException;>;)V
    MethodParameters:
           Name  Flags
      locations  
      problems   

  public static boolean isSelf(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 99
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tClassRootFinder cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      jar   

  private static int guiInstaller();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 158
            invokestatic lombok.installer.OsUtils.getOS:()Llombok/installer/OsUtils$OS;
            getstatic lombok.installer.OsUtils$OS.MAC_OS_X:Llombok/installer/OsUtils$OS;
            if_acmpne 3
         1: .line 159
            ldc "com.apple.mrj.application.apple.menu.about.name"
            ldc "Lombok Installer"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         2: .line 160
            ldc "com.apple.macos.use-file-dialog-packages"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         3: .line 164
      StackMap locals:
      StackMap stack:
            new lombok.installer.Installer$1
            dup
            invokespecial lombok.installer.Installer$1.<init>:()V
            invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
         4: .line 178
            getstatic lombok.installer.InstallerGUI.exitMarker:Ljava/util/concurrent/atomic/AtomicReference;
            dup
            astore 0
            monitorenter
         5: .line 179
            goto 11
         6: .line 181
      StackMap locals: java.util.concurrent.atomic.AtomicReference
      StackMap stack:
            getstatic lombok.installer.InstallerGUI.exitMarker:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.lang.Object.wait:()V
         7: .line 182
            goto 11
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 183
            aload 0
            monitorexit
        10: iconst_1
            ireturn
        11: .line 179
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.interrupted:()Z
            ifne 12
            getstatic lombok.installer.InstallerGUI.exitMarker:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 6
        12: .line 186
      StackMap locals:
      StackMap stack:
            getstatic lombok.installer.InstallerGUI.exitMarker:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* errCode */
        start local 1 // java.lang.Integer errCode
        13: .line 187
            aload 1 /* errCode */
            ifnonnull 14
            iconst_1
            goto 15
      StackMap locals: java.lang.Integer
      StackMap stack:
        14: aload 1 /* errCode */
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals:
      StackMap stack: int
        15: aload 0
            monitorexit
        16: ireturn
        end local 1 // java.lang.Integer errCode
        17: .line 178
      StackMap locals: java.util.concurrent.atomic.AtomicReference
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
        18: athrow
        19: .line 189
      StackMap locals:
      StackMap stack: java.awt.HeadlessException
            pop
        20: .line 190
            invokestatic lombok.installer.Installer.printHeadlessInfo:()V
        21: .line 191
            iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot     Name  Signature
           13   17     1  errCode  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
           5    10      17  any
          11    16      17  any
          17    18      17  any
           3    10      19  Class java.awt.HeadlessException
          11    16      19  Class java.awt.HeadlessException
          17    19      19  Class java.awt.HeadlessException

  public static int cliInstaller(boolean, java.util.List<java.lang.String>);
    descriptor: (ZLjava/util/List;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 206
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tCmdReader cannot be resolved to a type\n\tCmdReader cannot be resolved\n\tInvalidCommandLineException cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (ZLjava/util/List<Ljava/lang/String;>;)I
    MethodParameters:
           Name  Flags
      uninstall  
      rawArgs    

  static java.lang.String generateCliHelp(boolean, CmdReader<lombok.installer.Installer$CmdArgs>);
    descriptor: (ZLCmdReader;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 284
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tCmdReader cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (ZLCmdReader<Llombok/installer/Installer$CmdArgs;>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uninstall  
      reader     

  private static void printHeadlessInfo();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 294
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "About lombok v%s\nLombok makes java better by providing very spicy additions to the Java programming language,such as using @Getter to automatically generate a getter method for any field.\n\nBrowse to %s for more information. To install lombok on Eclipse, re-run this jar file on a graphical computer system - this message is being shown because your terminal is not graphics capable.\nAlternatively, use the command line installer (java -jar lombok.jar install --help).\nIf you are just using 'javac' or a tool that calls on javac, no installation is neccessary; just make sure lombok.jar is in the classpath when you compile. Example:\n\n   java -cp lombok.jar MyCode.java\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 303
            invokestatic lombok.core.Version.getVersion:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            getstatic lombok.installer.Installer.ABOUT_LOMBOK_URL:Ljava/net/URI;
            aastore
         2: .line 294
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         3: .line 304
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Installer.java"
NestMembers:
  lombok.installer.Installer$1  lombok.installer.Installer$CmdArgs  lombok.installer.Installer$CommandLineInstallerApp  lombok.installer.Installer$CommandLineUninstallerApp  lombok.installer.Installer$GraphicalInstallerApp
InnerClasses:
  lombok.installer.Installer$1
  private CmdArgs = lombok.installer.Installer$CmdArgs of lombok.installer.Installer
  public CommandLineInstallerApp = lombok.installer.Installer$CommandLineInstallerApp of lombok.installer.Installer
  public CommandLineUninstallerApp = lombok.installer.Installer$CommandLineUninstallerApp of lombok.installer.Installer
  public GraphicalInstallerApp = lombok.installer.Installer$GraphicalInstallerApp of lombok.installer.Installer
  public final OS = lombok.installer.OsUtils$OS of lombok.installer.OsUtils