public class org.eclipse.jgit.internal.storage.file.PackLock
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.internal.storage.file.PackLock
  super_class: java.lang.Object
{
  private final java.io.File keepFile;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.File, org.eclipse.jgit.util.FS);
    descriptor: (Ljava/io/File;Lorg/eclipse/jgit/util/FS;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
        start local 1 // java.io.File packFile
        start local 2 // org.eclipse.jgit.util.FS fs
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 36
            aload 1 /* packFile */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 3 /* p */
        start local 3 // java.io.File p
         2: .line 37
            aload 1 /* packFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 4 /* n */
        start local 4 // java.lang.String n
         3: .line 38
            aload 0 /* this */
            new java.io.File
            dup
            aload 3 /* p */
            new java.lang.StringBuilder
            dup
            aload 4 /* n */
            iconst_0
            aload 4 /* n */
            invokevirtual java.lang.String.length:()I
            iconst_5
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".keep"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.eclipse.jgit.internal.storage.file.PackLock.keepFile:Ljava/io/File;
         4: .line 39
            return
        end local 4 // java.lang.String n
        end local 3 // java.io.File p
        end local 2 // org.eclipse.jgit.util.FS fs
        end local 1 // java.io.File packFile
        end local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jgit/internal/storage/file/PackLock;
            0    5     1  packFile  Ljava/io/File;
            0    5     2        fs  Lorg/eclipse/jgit/util/FS;
            2    5     3         p  Ljava/io/File;
            3    5     4         n  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      packFile  
      fs        

  public boolean lock(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
        start local 1 // java.lang.String msg
         0: .line 51
            aload 1 /* msg */
            ifnonnull 2
         1: .line 52
            iconst_0
            ireturn
         2: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            ldc "\n"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 54
            new java.lang.StringBuilder
            dup
            aload 1 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* msg */
         4: .line 55
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.internal.storage.file.LockFile
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackLock.keepFile:Ljava/io/File;
            invokespecial org.eclipse.jgit.internal.storage.file.LockFile.<init>:(Ljava/io/File;)V
            astore 2 /* lf */
        start local 2 // org.eclipse.jgit.internal.storage.file.LockFile lf
         5: .line 56
            aload 2 /* lf */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.lock:()Z
            ifne 7
         6: .line 57
            iconst_0
            ireturn
         7: .line 58
      StackMap locals: org.eclipse.jgit.internal.storage.file.LockFile
      StackMap stack:
            aload 2 /* lf */
            aload 1 /* msg */
            invokestatic org.eclipse.jgit.lib.Constants.encode:(Ljava/lang/String;)[B
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.write:([B)V
         8: .line 59
            aload 2 /* lf */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.commit:()Z
            ireturn
        end local 2 // org.eclipse.jgit.internal.storage.file.LockFile lf
        end local 1 // java.lang.String msg
        end local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jgit/internal/storage/file/PackLock;
            0    9     1   msg  Ljava/lang/String;
            5    9     2    lf  Lorg/eclipse/jgit/internal/storage/file/LockFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      msg   

  public void unlock();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
         0: .line 69
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackLock.keepFile:Ljava/io/File;
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;)V
         1: .line 70
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackLock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/file/PackLock;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "PackLock.java"