public class org.jf.dexlib2.builder.MethodImplementationBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jf.dexlib2.builder.MethodImplementationBuilder
  super_class: java.lang.Object
{
  private final java.util.HashMap<java.lang.String, org.jf.dexlib2.builder.Label> labels;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/jf/dexlib2/builder/Label;>;

  private final org.jf.dexlib2.builder.MutableMethodImplementation impl;
    descriptor: Lorg/jf/dexlib2/builder/MutableMethodImplementation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()

  private org.jf.dexlib2.builder.MethodLocation currentLocation;
    descriptor: Lorg/jf/dexlib2/builder/MethodLocation;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // int registerCount
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jf.dexlib2.builder.MethodImplementationBuilder.labels:Ljava/util/HashMap;
         2: .line 52
            aload 0 /* this */
            new org.jf.dexlib2.builder.MutableMethodImplementation
            dup
            iload 1 /* registerCount */
            invokespecial org.jf.dexlib2.builder.MutableMethodImplementation.<init>:(I)V
            putfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
         3: .line 53
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            getfield org.jf.dexlib2.builder.MutableMethodImplementation.instructionList:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.jf.dexlib2.builder.MethodLocation
            putfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
         4: .line 54
            return
        end local 1 // int registerCount
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    5     1  registerCount  I
    MethodParameters:
               Name  Flags
      registerCount  

  public org.jf.dexlib2.iface.MethodImplementation getMethodImplementation();
    descriptor: ()Lorg/jf/dexlib2/iface/MethodImplementation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
         0: .line 57
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            areturn
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;

  public org.jf.dexlib2.builder.Label addLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jf/dexlib2/builder/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // java.lang.String name
         0: .line 70
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.labels:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jf.dexlib2.builder.Label
            astore 2 /* label */
        start local 2 // org.jf.dexlib2.builder.Label label
         1: .line 72
            aload 2 /* label */
            ifnull 6
         2: .line 73
            aload 2 /* label */
            invokevirtual org.jf.dexlib2.builder.Label.isPlaced:()Z
            ifeq 4
         3: .line 74
            new java.lang.IllegalArgumentException
            dup
            ldc "There is already a label with that name."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 76
      StackMap locals: org.jf.dexlib2.builder.Label
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            invokevirtual org.jf.dexlib2.builder.MethodLocation.getLabels:()Ljava/util/Set;
            aload 2 /* label */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 78
            goto 8
         6: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addNewLabel:()Lorg/jf/dexlib2/builder/Label;
            astore 2 /* label */
         7: .line 80
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.labels:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* label */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 83
      StackMap locals:
      StackMap stack:
            aload 2 /* label */
            areturn
        end local 2 // org.jf.dexlib2.builder.Label label
        end local 1 // java.lang.String name
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    9     1   name  Ljava/lang/String;
            1    9     2  label  Lorg/jf/dexlib2/builder/Label;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_RETURN
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
    MethodParameters:
      Name  Flags
      name  

  public org.jf.dexlib2.builder.Label getLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jf/dexlib2/builder/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // java.lang.String name
         0: .line 98
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.labels:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jf.dexlib2.builder.Label
            astore 2 /* label */
        start local 2 // org.jf.dexlib2.builder.Label label
         1: .line 99
            aload 2 /* label */
            ifnonnull 4
         2: .line 100
            new org.jf.dexlib2.builder.Label
            dup
            invokespecial org.jf.dexlib2.builder.Label.<init>:()V
            astore 2 /* label */
         3: .line 101
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.labels:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* label */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 103
      StackMap locals: org.jf.dexlib2.builder.Label
      StackMap stack:
            aload 2 /* label */
            areturn
        end local 2 // org.jf.dexlib2.builder.Label label
        end local 1 // java.lang.String name
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    5     1   name  Ljava/lang/String;
            1    5     2  label  Lorg/jf/dexlib2/builder/Label;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nonnull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_RETURN
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
    MethodParameters:
      Name  Flags
      name  

  public void addCatch(org.jf.dexlib2.iface.reference.TypeReference, org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label);
    descriptor: (Lorg/jf/dexlib2/iface/reference/TypeReference;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // org.jf.dexlib2.iface.reference.TypeReference type
        start local 2 // org.jf.dexlib2.builder.Label from
        start local 3 // org.jf.dexlib2.builder.Label to
        start local 4 // org.jf.dexlib2.builder.Label handler
         0: .line 108
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            aload 1 /* type */
            aload 2 /* from */
            aload 3 /* to */
            aload 4 /* handler */
            invokevirtual org.jf.dexlib2.builder.MutableMethodImplementation.addCatch:(Lorg/jf/dexlib2/iface/reference/TypeReference;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
         1: .line 109
            return
        end local 4 // org.jf.dexlib2.builder.Label handler
        end local 3 // org.jf.dexlib2.builder.Label to
        end local 2 // org.jf.dexlib2.builder.Label from
        end local 1 // org.jf.dexlib2.iface.reference.TypeReference type
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1     type  Lorg/jf/dexlib2/iface/reference/TypeReference;
            0    2     2     from  Lorg/jf/dexlib2/builder/Label;
            0    2     3       to  Lorg/jf/dexlib2/builder/Label;
            0    2     4  handler  Lorg/jf/dexlib2/builder/Label;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
      1:
        javax.annotation.Nonnull()
      2:
        javax.annotation.Nonnull()
      3:
        javax.annotation.Nonnull()
    MethodParameters:
         Name  Flags
      type     
      from     
      to       
      handler  

  public void addCatch(java.lang.String, org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label);
    descriptor: (Ljava/lang/String;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // java.lang.String type
        start local 2 // org.jf.dexlib2.builder.Label from
        start local 3 // org.jf.dexlib2.builder.Label to
        start local 4 // org.jf.dexlib2.builder.Label handler
         0: .line 113
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            aload 1 /* type */
            aload 2 /* from */
            aload 3 /* to */
            aload 4 /* handler */
            invokevirtual org.jf.dexlib2.builder.MutableMethodImplementation.addCatch:(Ljava/lang/String;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
         1: .line 114
            return
        end local 4 // org.jf.dexlib2.builder.Label handler
        end local 3 // org.jf.dexlib2.builder.Label to
        end local 2 // org.jf.dexlib2.builder.Label from
        end local 1 // java.lang.String type
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1     type  Ljava/lang/String;
            0    2     2     from  Lorg/jf/dexlib2/builder/Label;
            0    2     3       to  Lorg/jf/dexlib2/builder/Label;
            0    2     4  handler  Lorg/jf/dexlib2/builder/Label;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
      1:
        javax.annotation.Nonnull()
      2:
        javax.annotation.Nonnull()
      3:
        javax.annotation.Nonnull()
    MethodParameters:
         Name  Flags
      type     
      from     
      to       
      handler  

  public void addCatch(org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label, org.jf.dexlib2.builder.Label);
    descriptor: (Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // org.jf.dexlib2.builder.Label from
        start local 2 // org.jf.dexlib2.builder.Label to
        start local 3 // org.jf.dexlib2.builder.Label handler
         0: .line 117
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            aload 1 /* from */
            aload 2 /* to */
            aload 3 /* handler */
            invokevirtual org.jf.dexlib2.builder.MutableMethodImplementation.addCatch:(Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;Lorg/jf/dexlib2/builder/Label;)V
         1: .line 118
            return
        end local 3 // org.jf.dexlib2.builder.Label handler
        end local 2 // org.jf.dexlib2.builder.Label to
        end local 1 // org.jf.dexlib2.builder.Label from
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1     from  Lorg/jf/dexlib2/builder/Label;
            0    2     2       to  Lorg/jf/dexlib2/builder/Label;
            0    2     3  handler  Lorg/jf/dexlib2/builder/Label;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
      1:
        javax.annotation.Nonnull()
      2:
        javax.annotation.Nonnull()
    MethodParameters:
         Name  Flags
      from     
      to       
      handler  

  public void addLineNumber(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // int lineNumber
         0: .line 121
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            iload 1 /* lineNumber */
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addLineNumber:(I)V
         1: .line 122
            return
        end local 1 // int lineNumber
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1  lineNumber  I
    MethodParameters:
            Name  Flags
      lineNumber  

  public void addStartLocal(int, org.jf.dexlib2.iface.reference.StringReference, org.jf.dexlib2.iface.reference.TypeReference, org.jf.dexlib2.iface.reference.StringReference);
    descriptor: (ILorg/jf/dexlib2/iface/reference/StringReference;Lorg/jf/dexlib2/iface/reference/TypeReference;Lorg/jf/dexlib2/iface/reference/StringReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // int registerNumber
        start local 2 // org.jf.dexlib2.iface.reference.StringReference name
        start local 3 // org.jf.dexlib2.iface.reference.TypeReference type
        start local 4 // org.jf.dexlib2.iface.reference.StringReference signature
         0: .line 126
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            iload 1 /* registerNumber */
            aload 2 /* name */
            aload 3 /* type */
            aload 4 /* signature */
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addStartLocal:(ILorg/jf/dexlib2/iface/reference/StringReference;Lorg/jf/dexlib2/iface/reference/TypeReference;Lorg/jf/dexlib2/iface/reference/StringReference;)V
         1: .line 127
            return
        end local 4 // org.jf.dexlib2.iface.reference.StringReference signature
        end local 3 // org.jf.dexlib2.iface.reference.TypeReference type
        end local 2 // org.jf.dexlib2.iface.reference.StringReference name
        end local 1 // int registerNumber
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1  registerNumber  I
            0    2     2            name  Lorg/jf/dexlib2/iface/reference/StringReference;
            0    2     3            type  Lorg/jf/dexlib2/iface/reference/TypeReference;
            0    2     4       signature  Lorg/jf/dexlib2/iface/reference/StringReference;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        javax.annotation.Nullable()
      2:
        javax.annotation.Nullable()
      3:
        javax.annotation.Nullable()
    MethodParameters:
                Name  Flags
      registerNumber  
      name            
      type            
      signature       

  public void addEndLocal(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // int registerNumber
         0: .line 130
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            iload 1 /* registerNumber */
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addEndLocal:(I)V
         1: .line 131
            return
        end local 1 // int registerNumber
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1  registerNumber  I
    MethodParameters:
                Name  Flags
      registerNumber  

  public void addRestartLocal(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // int registerNumber
         0: .line 134
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            iload 1 /* registerNumber */
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addRestartLocal:(I)V
         1: .line 135
            return
        end local 1 // int registerNumber
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1  registerNumber  I
    MethodParameters:
                Name  Flags
      registerNumber  

  public void addPrologue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
         0: .line 138
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addPrologue:()V
         1: .line 139
            return
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;

  public void addEpilogue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
         0: .line 142
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addEpilogue:()V
         1: .line 143
            return
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;

  public void addSetSourceFile(org.jf.dexlib2.iface.reference.StringReference);
    descriptor: (Lorg/jf/dexlib2/iface/reference/StringReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // org.jf.dexlib2.iface.reference.StringReference sourceFile
         0: .line 146
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
            aload 1 /* sourceFile */
            invokevirtual org.jf.dexlib2.builder.MethodLocation.addSetSourceFile:(Lorg/jf/dexlib2/iface/reference/StringReference;)V
         1: .line 147
            return
        end local 1 // org.jf.dexlib2.iface.reference.StringReference sourceFile
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    2     1  sourceFile  Lorg/jf/dexlib2/iface/reference/StringReference;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
    MethodParameters:
            Name  Flags
      sourceFile  

  public void addInstruction(org.jf.dexlib2.builder.BuilderInstruction);
    descriptor: (Lorg/jf/dexlib2/builder/BuilderInstruction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
        start local 1 // org.jf.dexlib2.builder.BuilderInstruction instruction
         0: .line 150
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            aload 1 /* instruction */
            invokevirtual org.jf.dexlib2.builder.MutableMethodImplementation.addInstruction:(Lorg/jf/dexlib2/builder/BuilderInstruction;)V
         1: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            getfield org.jf.dexlib2.builder.MutableMethodImplementation.instructionList:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.jf.dexlib2.builder.MethodImplementationBuilder.impl:Lorg/jf/dexlib2/builder/MutableMethodImplementation;
            getfield org.jf.dexlib2.builder.MutableMethodImplementation.instructionList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.jf.dexlib2.builder.MethodLocation
            putfield org.jf.dexlib2.builder.MethodImplementationBuilder.currentLocation:Lorg/jf/dexlib2/builder/MethodLocation;
         2: .line 152
            return
        end local 1 // org.jf.dexlib2.builder.BuilderInstruction instruction
        end local 0 // org.jf.dexlib2.builder.MethodImplementationBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/jf/dexlib2/builder/MethodImplementationBuilder;
            0    3     1  instruction  Lorg/jf/dexlib2/builder/BuilderInstruction;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nullable()
    MethodParameters:
             Name  Flags
      instruction  
}
SourceFile: "MethodImplementationBuilder.java"