public abstract class org.eclipse.jgit.lib.RefRename
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.lib.RefRename
  super_class: java.lang.Object
{
  protected final org.eclipse.jgit.lib.RefUpdate source;
    descriptor: Lorg/eclipse/jgit/lib/RefUpdate;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.eclipse.jgit.lib.RefUpdate destination;
    descriptor: Lorg/eclipse/jgit/lib/RefUpdate;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private org.eclipse.jgit.lib.RefUpdate$Result result;
    descriptor: Lorg/eclipse/jgit/lib/RefUpdate$Result;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(org.eclipse.jgit.lib.RefUpdate, org.eclipse.jgit.lib.RefUpdate);
    descriptor: (Lorg/eclipse/jgit/lib/RefUpdate;Lorg/eclipse/jgit/lib/RefUpdate;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.lib.RefRename this
        start local 1 // org.eclipse.jgit.lib.RefUpdate src
        start local 2 // org.eclipse.jgit.lib.RefUpdate dst
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.RefUpdate$Result.NOT_ATTEMPTED:Lorg/eclipse/jgit/lib/RefUpdate$Result;
            putfield org.eclipse.jgit.lib.RefRename.result:Lorg/eclipse/jgit/lib/RefUpdate$Result;
         2: .line 44
            aload 0 /* this */
            aload 1 /* src */
            putfield org.eclipse.jgit.lib.RefRename.source:Lorg/eclipse/jgit/lib/RefUpdate;
         3: .line 45
            aload 0 /* this */
            aload 2 /* dst */
            putfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
         4: .line 47
            ldc ""
            astore 3 /* cmd */
        start local 3 // java.lang.String cmd
         5: .line 48
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.source:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getName:()Ljava/lang/String;
            ldc "refs/heads/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 49
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getName:()Ljava/lang/String;
            ldc "refs/heads/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 50
            ldc "Branch: "
            astore 3 /* cmd */
         8: .line 51
      StackMap locals: org.eclipse.jgit.lib.RefRename org.eclipse.jgit.lib.RefUpdate org.eclipse.jgit.lib.RefUpdate java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 3 /* cmd */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "renamed "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 52
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.source:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.lib.Repository.shortenRefName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 53
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.lib.Repository.shortenRefName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 51
            invokevirtual org.eclipse.jgit.lib.RefRename.setRefLogMessage:(Ljava/lang/String;)V
        12: .line 54
            return
        end local 3 // java.lang.String cmd
        end local 2 // org.eclipse.jgit.lib.RefUpdate dst
        end local 1 // org.eclipse.jgit.lib.RefUpdate src
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jgit/lib/RefRename;
            0   13     1   src  Lorg/eclipse/jgit/lib/RefUpdate;
            0   13     2   dst  Lorg/eclipse/jgit/lib/RefUpdate;
            5   13     3   cmd  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public org.eclipse.jgit.lib.PersonIdent getRefLogIdent();
    descriptor: ()Lorg/eclipse/jgit/lib/PersonIdent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 62
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getRefLogIdent:()Lorg/eclipse/jgit/lib/PersonIdent;
            areturn
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/RefRename;

  public void setRefLogIdent(org.eclipse.jgit.lib.PersonIdent);
    descriptor: (Lorg/eclipse/jgit/lib/PersonIdent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.RefRename this
        start local 1 // org.eclipse.jgit.lib.PersonIdent pi
         0: .line 78
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            aload 1 /* pi */
            invokevirtual org.eclipse.jgit.lib.RefUpdate.setRefLogIdent:(Lorg/eclipse/jgit/lib/PersonIdent;)V
         1: .line 79
            return
        end local 1 // org.eclipse.jgit.lib.PersonIdent pi
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/lib/RefRename;
            0    2     1    pi  Lorg/eclipse/jgit/lib/PersonIdent;
    MethodParameters:
      Name  Flags
      pi    

  public java.lang.String getRefLogMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 88
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getRefLogMessage:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/RefRename;

  public void setRefLogMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.RefRename this
        start local 1 // java.lang.String msg
         0: .line 98
            aload 1 /* msg */
            ifnonnull 2
         1: .line 99
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.lib.RefRename.disableRefLog:()V
            goto 3
         2: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            aload 1 /* msg */
            iconst_0
            invokevirtual org.eclipse.jgit.lib.RefUpdate.setRefLogMessage:(Ljava/lang/String;Z)V
         3: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String msg
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/lib/RefRename;
            0    4     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public void disableRefLog();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 108
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.destination:Lorg/eclipse/jgit/lib/RefUpdate;
            ldc ""
            iconst_0
            invokevirtual org.eclipse.jgit.lib.RefUpdate.setRefLogMessage:(Ljava/lang/String;Z)V
         1: .line 109
            return
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/lib/RefRename;

  public org.eclipse.jgit.lib.RefUpdate$Result getResult();
    descriptor: ()Lorg/eclipse/jgit/lib/RefUpdate$Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 117
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.result:Lorg/eclipse/jgit/lib/RefUpdate$Result;
            areturn
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/lib/RefRename;

  public org.eclipse.jgit.lib.RefUpdate$Result rename();
    descriptor: ()Lorg/eclipse/jgit/lib/RefUpdate$Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 128
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.lib.RefRename.doRename:()Lorg/eclipse/jgit/lib/RefUpdate$Result;
            putfield org.eclipse.jgit.lib.RefRename.result:Lorg/eclipse/jgit/lib/RefUpdate$Result;
         1: .line 129
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.result:Lorg/eclipse/jgit/lib/RefUpdate$Result;
         2: areturn
         3: .line 130
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* err */
        start local 1 // java.io.IOException err
         4: .line 131
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.RefUpdate$Result.IO_FAILURE:Lorg/eclipse/jgit/lib/RefUpdate$Result;
            putfield org.eclipse.jgit.lib.RefRename.result:Lorg/eclipse/jgit/lib/RefUpdate$Result;
         5: .line 132
            aload 1 /* err */
            athrow
        end local 1 // java.io.IOException err
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/lib/RefRename;
            4    6     1   err  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  protected abstract org.eclipse.jgit.lib.RefUpdate$Result doRename();
    descriptor: ()Lorg/eclipse/jgit/lib/RefUpdate$Result;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  protected boolean needToUpdateHEAD();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.lib.RefRename this
         0: .line 154
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.source:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            ldc "HEAD"
            invokevirtual org.eclipse.jgit.lib.RefDatabase.exactRef:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/Ref;
            astore 1 /* head */
        start local 1 // org.eclipse.jgit.lib.Ref head
         1: .line 155
            aload 1 /* head */
            ifnull 4
            aload 1 /* head */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifeq 4
         2: .line 156
            aload 1 /* head */
            invokeinterface org.eclipse.jgit.lib.Ref.getTarget:()Lorg/eclipse/jgit/lib/Ref;
            astore 1 /* head */
         3: .line 157
            aload 1 /* head */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jgit.lib.RefRename.source:Lorg/eclipse/jgit/lib/RefUpdate;
            invokevirtual org.eclipse.jgit.lib.RefUpdate.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         4: .line 159
      StackMap locals: org.eclipse.jgit.lib.Ref
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jgit.lib.Ref head
        end local 0 // org.eclipse.jgit.lib.RefRename this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/lib/RefRename;
            1    5     1  head  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "RefRename.java"
InnerClasses:
  public final Result = org.eclipse.jgit.lib.RefUpdate$Result of org.eclipse.jgit.lib.RefUpdate