public abstract class org.eclipse.jgit.util.SystemReader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.util.SystemReader
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.jgit.util.SystemReader DEFAULT;
    descriptor: Lorg/eclipse/jgit/util/SystemReader;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.Boolean isMacOS;
    descriptor: Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Boolean isWindows;
    descriptor: Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile org.eclipse.jgit.util.SystemReader INSTANCE;
    descriptor: Lorg/eclipse/jgit/util/SystemReader;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private org.eclipse.jgit.lib.ObjectChecker platformChecker;
    descriptor: Lorg/eclipse/jgit/lib/ObjectChecker;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.atomic.AtomicReference<org.eclipse.jgit.storage.file.FileBasedConfig> systemConfig;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jgit/storage/file/FileBasedConfig;>;

  private java.util.concurrent.atomic.AtomicReference<org.eclipse.jgit.storage.file.FileBasedConfig> userConfig;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jgit/storage/file/FileBasedConfig;>;

  private java.util.concurrent.atomic.AtomicReference<org.eclipse.jgit.storage.file.FileBasedConfig> jgitConfig;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jgit/storage/file/FileBasedConfig;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 55
            ldc Lorg/eclipse/jgit/util/SystemReader;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
         1: .line 54
            putstatic org.eclipse.jgit.util.SystemReader.LOG:Lorg/slf4j/Logger;
         2: .line 64
            new org.eclipse.jgit.util.SystemReader$Default
            dup
            invokespecial org.eclipse.jgit.util.SystemReader$Default.<init>:()V
            astore 0 /* r */
        start local 0 // org.eclipse.jgit.util.SystemReader r
         3: .line 65
            aload 0 /* r */
            invokevirtual org.eclipse.jgit.util.SystemReader.init:()V
         4: .line 66
            aload 0 /* r */
            putstatic org.eclipse.jgit.util.SystemReader.DEFAULT:Lorg/eclipse/jgit/util/SystemReader;
        end local 0 // org.eclipse.jgit.util.SystemReader r
         5: .line 164
            getstatic org.eclipse.jgit.util.SystemReader.DEFAULT:Lorg/eclipse/jgit/util/SystemReader;
            putstatic org.eclipse.jgit.util.SystemReader.INSTANCE:Lorg/eclipse/jgit/util/SystemReader;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    5     0     r  Lorg/eclipse/jgit/util/SystemReader;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 195
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.eclipse.jgit.util.SystemReader.systemConfig:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 197
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.eclipse.jgit.util.SystemReader.userConfig:Ljava/util/concurrent/atomic/AtomicReference;
         3: .line 199
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.eclipse.jgit.util.SystemReader.jgitConfig:Ljava/util/concurrent/atomic/AtomicReference;
         4: .line 52
            return
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public static org.eclipse.jgit.util.SystemReader getInstance();
    descriptor: ()Lorg/eclipse/jgit/util/SystemReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 172
            getstatic org.eclipse.jgit.util.SystemReader.INSTANCE:Lorg/eclipse/jgit/util/SystemReader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setInstance(org.eclipse.jgit.util.SystemReader);
    descriptor: (Lorg/eclipse/jgit/util/SystemReader;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader newReader
         0: .line 183
            aconst_null
            putstatic org.eclipse.jgit.util.SystemReader.isMacOS:Ljava/lang/Boolean;
         1: .line 184
            aconst_null
            putstatic org.eclipse.jgit.util.SystemReader.isWindows:Ljava/lang/Boolean;
         2: .line 185
            aload 0 /* newReader */
            ifnonnull 4
         3: .line 186
            getstatic org.eclipse.jgit.util.SystemReader.DEFAULT:Lorg/eclipse/jgit/util/SystemReader;
            putstatic org.eclipse.jgit.util.SystemReader.INSTANCE:Lorg/eclipse/jgit/util/SystemReader;
            goto 6
         4: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* newReader */
            invokevirtual org.eclipse.jgit.util.SystemReader.init:()V
         5: .line 189
            aload 0 /* newReader */
            putstatic org.eclipse.jgit.util.SystemReader.INSTANCE:Lorg/eclipse/jgit/util/SystemReader;
         6: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.util.SystemReader newReader
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  newReader  Lorg/eclipse/jgit/util/SystemReader;
    MethodParameters:
           Name  Flags
      newReader  

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 204
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.platformChecker:Lorg/eclipse/jgit/lib/ObjectChecker;
            ifnonnull 2
         1: .line 205
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.setPlatformChecker:()V
         2: .line 206
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/util/SystemReader;

  protected final void setPlatformChecker();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 214
            aload 0 /* this */
            new org.eclipse.jgit.lib.ObjectChecker
            dup
            invokespecial org.eclipse.jgit.lib.ObjectChecker.<init>:()V
         1: .line 215
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.isWindows:()Z
            invokevirtual org.eclipse.jgit.lib.ObjectChecker.setSafeForWindows:(Z)Lorg/eclipse/jgit/lib/ObjectChecker;
         2: .line 216
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.isMacOS:()Z
            invokevirtual org.eclipse.jgit.lib.ObjectChecker.setSafeForMacOS:(Z)Lorg/eclipse/jgit/lib/ObjectChecker;
         3: .line 214
            putfield org.eclipse.jgit.util.SystemReader.platformChecker:Lorg/eclipse/jgit/lib/ObjectChecker;
         4: .line 217
            return
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public abstract java.lang.String getHostname();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getenv(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      variable  

  public abstract java.lang.String getProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract org.eclipse.jgit.storage.file.FileBasedConfig openUserConfig(org.eclipse.jgit.lib.Config, org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parent  
      fs      

  public abstract org.eclipse.jgit.storage.file.FileBasedConfig openSystemConfig(org.eclipse.jgit.lib.Config, org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parent  
      fs      

  public abstract org.eclipse.jgit.storage.file.FileBasedConfig openJGitConfig(org.eclipse.jgit.lib.Config, org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parent  
      fs      

  public org.eclipse.jgit.lib.StoredConfig getUserConfig();
    descriptor: ()Lorg/eclipse/jgit/lib/StoredConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 308
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.userConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
        start local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
         1: .line 309
            aload 1 /* c */
            ifnonnull 6
         2: .line 310
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.userConfig:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
         3: .line 311
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.getSystemConfig:()Lorg/eclipse/jgit/lib/StoredConfig;
            getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
            invokevirtual org.eclipse.jgit.util.SystemReader.openUserConfig:(Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         4: .line 310
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 312
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.userConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
         6: .line 316
      StackMap locals: org.eclipse.jgit.storage.file.FileBasedConfig
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual org.eclipse.jgit.util.SystemReader.updateAll:(Lorg/eclipse/jgit/lib/Config;)V
         7: .line 317
            aload 1 /* c */
            areturn
        end local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/util/SystemReader;
            1    8     1     c  Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    Exceptions:
      throws org.eclipse.jgit.errors.ConfigInvalidException, java.io.IOException

  public org.eclipse.jgit.lib.StoredConfig getJGitConfig();
    descriptor: ()Lorg/eclipse/jgit/lib/StoredConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 335
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.jgitConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
        start local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
         1: .line 336
            aload 1 /* c */
            ifnonnull 6
         2: .line 337
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.jgitConfig:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
         3: .line 338
            aload 0 /* this */
            aconst_null
            getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
            invokevirtual org.eclipse.jgit.util.SystemReader.openJGitConfig:(Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         4: .line 337
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 339
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.jgitConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
         6: .line 341
      StackMap locals: org.eclipse.jgit.storage.file.FileBasedConfig
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual org.eclipse.jgit.util.SystemReader.updateAll:(Lorg/eclipse/jgit/lib/Config;)V
         7: .line 342
            aload 1 /* c */
            areturn
        end local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/util/SystemReader;
            1    8     1     c  Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    Exceptions:
      throws org.eclipse.jgit.errors.ConfigInvalidException, java.io.IOException

  public org.eclipse.jgit.lib.StoredConfig getSystemConfig();
    descriptor: ()Lorg/eclipse/jgit/lib/StoredConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 360
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.systemConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
        start local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
         1: .line 361
            aload 1 /* c */
            ifnonnull 6
         2: .line 362
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.systemConfig:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
         3: .line 363
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.getJGitConfig:()Lorg/eclipse/jgit/lib/StoredConfig;
            getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
            invokevirtual org.eclipse.jgit.util.SystemReader.openSystemConfig:(Lorg/eclipse/jgit/lib/Config;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         4: .line 362
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 364
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.systemConfig:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 1 /* c */
         6: .line 366
      StackMap locals: org.eclipse.jgit.storage.file.FileBasedConfig
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual org.eclipse.jgit.util.SystemReader.updateAll:(Lorg/eclipse/jgit/lib/Config;)V
         7: .line 367
            aload 1 /* c */
            areturn
        end local 1 // org.eclipse.jgit.storage.file.FileBasedConfig c
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/util/SystemReader;
            1    8     1     c  Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    Exceptions:
      throws org.eclipse.jgit.errors.ConfigInvalidException, java.io.IOException

  private void updateAll(org.eclipse.jgit.lib.Config);
    descriptor: (Lorg/eclipse/jgit/lib/Config;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // org.eclipse.jgit.lib.Config config
         0: .line 382
            aload 1 /* config */
            ifnonnull 2
         1: .line 383
            return
         2: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual org.eclipse.jgit.lib.Config.getBaseConfig:()Lorg/eclipse/jgit/lib/Config;
            invokevirtual org.eclipse.jgit.util.SystemReader.updateAll:(Lorg/eclipse/jgit/lib/Config;)V
         3: .line 386
            aload 1 /* config */
            instanceof org.eclipse.jgit.storage.file.FileBasedConfig
            ifeq 8
         4: .line 387
            aload 1 /* config */
            checkcast org.eclipse.jgit.storage.file.FileBasedConfig
            astore 2 /* cfg */
        start local 2 // org.eclipse.jgit.storage.file.FileBasedConfig cfg
         5: .line 388
            aload 2 /* cfg */
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.isOutdated:()Z
            ifeq 8
         6: .line 389
            getstatic org.eclipse.jgit.util.SystemReader.LOG:Lorg/slf4j/Logger;
            ldc "loading config {}"
            aload 2 /* cfg */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 390
            aload 2 /* cfg */
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.load:()V
        end local 2 // org.eclipse.jgit.storage.file.FileBasedConfig cfg
         8: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.Config config
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jgit/util/SystemReader;
            0    9     1  config  Lorg/eclipse/jgit/lib/Config;
            5    8     2     cfg  Lorg/eclipse/jgit/storage/file/FileBasedConfig;
    Exceptions:
      throws org.eclipse.jgit.errors.ConfigInvalidException, java.io.IOException
    MethodParameters:
        Name  Flags
      config  

  public abstract long getCurrentTime();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.eclipse.jgit.util.time.MonotonicClock getClock();
    descriptor: ()Lorg/eclipse/jgit/util/time/MonotonicClock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 409
            new org.eclipse.jgit.util.time.MonotonicSystemClock
            dup
            invokespecial org.eclipse.jgit.util.time.MonotonicSystemClock.<init>:()V
            areturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public abstract int getTimezone(long);
    descriptor: (J)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      when  

  public java.util.TimeZone getTimeZone();
    descriptor: ()Ljava/util/TimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 428
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            areturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 438
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            areturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/text/SimpleDateFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // java.lang.String pattern
         0: .line 451
            new java.text.SimpleDateFormat
            dup
            aload 1 /* pattern */
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String pattern
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jgit/util/SystemReader;
            0    1     1  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/text/SimpleDateFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // java.lang.String pattern
        start local 2 // java.util.Locale locale
         0: .line 466
            new java.text.SimpleDateFormat
            dup
            aload 1 /* pattern */
            aload 2 /* locale */
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String pattern
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jgit/util/SystemReader;
            0    1     1  pattern  Ljava/lang/String;
            0    1     2   locale  Ljava/util/Locale;
    MethodParameters:
         Name  Flags
      pattern  
      locale   

  public java.text.DateFormat getDateTimeInstance(int, int);
    descriptor: (II)Ljava/text/DateFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // int dateStyle
        start local 2 // int timeStyle
         0: .line 482
            iload 1 /* dateStyle */
            iload 2 /* timeStyle */
            invokestatic java.text.DateFormat.getDateTimeInstance:(II)Ljava/text/DateFormat;
            areturn
        end local 2 // int timeStyle
        end local 1 // int dateStyle
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jgit/util/SystemReader;
            0    1     1  dateStyle  I
            0    1     2  timeStyle  I
    MethodParameters:
           Name  Flags
      dateStyle  
      timeStyle  

  public boolean isWindows();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 491
            getstatic org.eclipse.jgit.util.SystemReader.isWindows:Ljava/lang/Boolean;
            ifnonnull 3
         1: .line 492
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.getOsName:()Ljava/lang/String;
            astore 1 /* osDotName */
        start local 1 // java.lang.String osDotName
         2: .line 493
            aload 1 /* osDotName */
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic org.eclipse.jgit.util.SystemReader.isWindows:Ljava/lang/Boolean;
        end local 1 // java.lang.String osDotName
         3: .line 495
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jgit.util.SystemReader.isWindows:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/eclipse/jgit/util/SystemReader;
            2    3     1  osDotName  Ljava/lang/String;

  public boolean isMacOS();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 504
            getstatic org.eclipse.jgit.util.SystemReader.isMacOS:Ljava/lang/Boolean;
            ifnonnull 5
         1: .line 505
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.util.SystemReader.getOsName:()Ljava/lang/String;
            astore 1 /* osDotName */
        start local 1 // java.lang.String osDotName
         2: .line 507
            ldc "Mac OS X"
            aload 1 /* osDotName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            ldc "Darwin"
            aload 1 /* osDotName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: iconst_1
         4: .line 506
      StackMap locals:
      StackMap stack: int
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic org.eclipse.jgit.util.SystemReader.isMacOS:Ljava/lang/Boolean;
        end local 1 // java.lang.String osDotName
         5: .line 509
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jgit.util.SystemReader.isMacOS:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jgit/util/SystemReader;
            2    5     1  osDotName  Ljava/lang/String;

  private java.lang.String getOsName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 514
            aload 0 /* this */
            invokedynamic run(Lorg/eclipse/jgit/util/SystemReader;)Ljava/security/PrivilegedAction;
              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;
                  org/eclipse/jgit/util/SystemReader.lambda$0()Ljava/lang/String; (7)
                  ()Ljava/lang/String;
         1: .line 513
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/util/SystemReader;

  public void checkPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // java.lang.String path
         0: .line 528
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.platformChecker:Lorg/eclipse/jgit/lib/ObjectChecker;
            aload 1 /* path */
            invokevirtual org.eclipse.jgit.lib.ObjectChecker.checkPath:(Ljava/lang/String;)V
         1: .line 529
            return
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/util/SystemReader;
            0    2     1  path  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jgit.errors.CorruptObjectException
    MethodParameters:
      Name  Flags
      path  

  public void checkPath(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.util.SystemReader this
        start local 1 // byte[] path
         0: .line 543
            aload 0 /* this */
            getfield org.eclipse.jgit.util.SystemReader.platformChecker:Lorg/eclipse/jgit/lib/ObjectChecker;
            aload 1 /* path */
            iconst_0
            aload 1 /* path */
            arraylength
            invokevirtual org.eclipse.jgit.lib.ObjectChecker.checkPath:([BII)V
         1: .line 544
            return
        end local 1 // byte[] path
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/util/SystemReader;
            0    2     1  path  [B
    Exceptions:
      throws org.eclipse.jgit.errors.CorruptObjectException
    MethodParameters:
      Name  Flags
      path  

  private java.lang.String lambda$0();
    descriptor: ()Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.util.SystemReader this
         0: .line 514
            aload 0 /* this */
            ldc "os.name"
            invokevirtual org.eclipse.jgit.util.SystemReader.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jgit.util.SystemReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/util/SystemReader;
}
SourceFile: "SystemReader.java"
NestMembers:
  org.eclipse.jgit.util.SystemReader$Default  org.eclipse.jgit.util.SystemReader$Default$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private Default = org.eclipse.jgit.util.SystemReader$Default of org.eclipse.jgit.util.SystemReader