public class jdk.internal.org.jline.utils.OSUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.org.jline.utils.OSUtils
  super_class: java.lang.Object
{
  public static final boolean IS_WINDOWS;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean IS_CYGWIN;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean IS_MINGW;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final boolean IS_MSYSTEM;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean IS_CONEMU;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean IS_OSX;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static java.lang.String TTY_COMMAND;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String STTY_COMMAND;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String STTY_F_OPTION;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String INFOCMP_COMMAND;
    descriptor: Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=0
         0: .line 15
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "win"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            putstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
         1: .line 17
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 5
         2: .line 18
            ldc "PWD"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 5
         3: .line 19
            ldc "PWD"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 17
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: putstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
         7: .line 22
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 11
         8: .line 23
            ldc "MSYSTEM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 11
         9: .line 24
            ldc "MSYSTEM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ldc "MINGW"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 22
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: putstatic jdk.internal.org.jline.utils.OSUtils.IS_MINGW:Z
        13: .line 26
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 18
        14: .line 27
            ldc "MSYSTEM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 18
        15: .line 28
            ldc "MSYSTEM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ldc "MINGW"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 17
        16: .line 29
            ldc "MSYSTEM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ldc "MSYS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 26
      StackMap locals:
      StackMap stack:
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: putstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
        20: .line 31
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 23
        21: .line 32
            ldc "ConEmuPID"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 23
        22: .line 31
            iconst_1
            goto 24
      StackMap locals:
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: putstatic jdk.internal.org.jline.utils.OSUtils.IS_CONEMU:Z
        25: .line 34
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "mac"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            putstatic jdk.internal.org.jline.utils.OSUtils.IS_OSX:Z
        26: .line 46
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
            ifne 27
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
            ifeq 45
        27: .line 47
      StackMap locals:
      StackMap stack:
            ldc "tty.exe"
            astore 0 /* tty */
        start local 0 // java.lang.String tty
        28: .line 48
            ldc "stty.exe"
            astore 1 /* stty */
        start local 1 // java.lang.String stty
        29: .line 49
            aconst_null
            astore 2 /* sttyfopt */
        start local 2 // java.lang.String sttyfopt
        30: .line 50
            ldc "infocmp.exe"
            astore 3 /* infocmp */
        start local 3 // java.lang.String infocmp
        31: .line 51
            ldc "PATH"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        32: .line 52
            aload 4 /* path */
            ifnull 52
        33: .line 53
            aload 4 /* path */
            ldc ";"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* paths */
        start local 5 // java.lang.String[] paths
        34: .line 54
            aload 5 /* paths */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 43
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        35: aload 9
            iload 7
            aaload
            astore 6 /* p */
        start local 6 // java.lang.String p
        36: .line 55
            aload 0 /* tty */
            ifnonnull 38
            new java.io.File
            dup
            aload 6 /* p */
            ldc "tty.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 38
        37: .line 56
            new java.io.File
            dup
            aload 6 /* p */
            ldc "tty.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 0 /* tty */
        38: .line 58
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 1 /* stty */
            ifnonnull 40
            new java.io.File
            dup
            aload 6 /* p */
            ldc "stty.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 40
        39: .line 59
            new java.io.File
            dup
            aload 6 /* p */
            ldc "stty.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 1 /* stty */
        40: .line 61
      StackMap locals:
      StackMap stack:
            aload 3 /* infocmp */
            ifnonnull 42
            new java.io.File
            dup
            aload 6 /* p */
            ldc "infocmp.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 42
        41: .line 62
            new java.io.File
            dup
            aload 6 /* p */
            ldc "infocmp.exe"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* infocmp */
        end local 6 // java.lang.String p
        42: .line 54
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        43: iload 7
            iload 8
            if_icmplt 35
        end local 5 // java.lang.String[] paths
        end local 4 // java.lang.String path
        44: .line 66
            goto 52
        end local 3 // java.lang.String infocmp
        end local 2 // java.lang.String sttyfopt
        end local 1 // java.lang.String stty
        end local 0 // java.lang.String tty
        45: .line 67
      StackMap locals:
      StackMap stack:
            ldc "tty"
            astore 0 /* tty */
        start local 0 // java.lang.String tty
        46: .line 68
            ldc "stty"
            astore 1 /* stty */
        start local 1 // java.lang.String stty
        47: .line 69
            ldc "infocmp"
            astore 3 /* infocmp */
        start local 3 // java.lang.String infocmp
        48: .line 70
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_OSX:Z
            ifeq 51
        49: .line 71
            ldc "-f"
            astore 2 /* sttyfopt */
        start local 2 // java.lang.String sttyfopt
        50: .line 72
            goto 52
        end local 2 // java.lang.String sttyfopt
        51: .line 74
      StackMap locals: java.lang.String java.lang.String top java.lang.String
      StackMap stack:
            ldc "-F"
            astore 2 /* sttyfopt */
        start local 2 // java.lang.String sttyfopt
        52: .line 77
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* tty */
            putstatic jdk.internal.org.jline.utils.OSUtils.TTY_COMMAND:Ljava/lang/String;
        53: .line 78
            aload 1 /* stty */
            putstatic jdk.internal.org.jline.utils.OSUtils.STTY_COMMAND:Ljava/lang/String;
        54: .line 79
            aload 2 /* sttyfopt */
            putstatic jdk.internal.org.jline.utils.OSUtils.STTY_F_OPTION:Ljava/lang/String;
        55: .line 80
            aload 3 /* infocmp */
            putstatic jdk.internal.org.jline.utils.OSUtils.INFOCMP_COMMAND:Ljava/lang/String;
        end local 3 // java.lang.String infocmp
        end local 2 // java.lang.String sttyfopt
        end local 1 // java.lang.String stty
        end local 0 // java.lang.String tty
        56: .line 81
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
           28   45     0       tty  Ljava/lang/String;
           46   56     0       tty  Ljava/lang/String;
           29   45     1      stty  Ljava/lang/String;
           47   56     1      stty  Ljava/lang/String;
           30   45     2  sttyfopt  Ljava/lang/String;
           50   51     2  sttyfopt  Ljava/lang/String;
           52   56     2  sttyfopt  Ljava/lang/String;
           31   45     3   infocmp  Ljava/lang/String;
           48   56     3   infocmp  Ljava/lang/String;
           32   44     4      path  Ljava/lang/String;
           34   44     5     paths  [Ljava/lang/String;
           36   42     6         p  Ljava/lang/String;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.utils.OSUtils this
         0: .line 13
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.internal.org.jline.utils.OSUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/org/jline/utils/OSUtils;
}
SourceFile: "OSUtils.java"