Added wrapper functions for register acccess in Instruction.

The VRegB and VRegC functions allow uniform
access to the parameter registers, no matter what the
instruction format is.

Change-Id: I3b33358ea0ed071e22bc6d51bd01fce29bbd432c
diff --git a/src/dex_instruction.h b/src/dex_instruction.h
index 8a49216..602667a 100644
--- a/src/dex_instruction.h
+++ b/src/dex_instruction.h
@@ -46,6 +46,7 @@
     const uint16_t case_count;
     const int32_t first_key;
     const int32_t targets[];
+
    private:
     DISALLOW_COPY_AND_ASSIGN(PackedSwitchPayload);
   };
@@ -73,6 +74,7 @@
     const uint16_t element_width;
     const uint32_t element_count;
     const uint8_t data[];
+
    private:
     DISALLOW_COPY_AND_ASSIGN(ArrayDataPayload);
   };
@@ -239,6 +241,7 @@
   uint8_t VRegA_51l() const;
 
   // VRegB
+  int32_t VRegB() const;
   int4_t VRegB_11n() const;
   uint4_t VRegB_12x() const;
   uint16_t VRegB_21c() const;
@@ -257,9 +260,10 @@
   uint16_t VRegB_32x() const;
   uint16_t VRegB_35c() const;
   uint16_t VRegB_3rc() const;
-  uint64_t VRegB_51l() const; // vB_wide
+  uint64_t VRegB_51l() const;  // vB_wide
 
   // VRegC
+  int32_t VRegC() const;
   int8_t VRegC_22b() const;
   uint16_t VRegC_22c() const;
   int16_t VRegC_22s() const;
@@ -322,6 +326,12 @@
     return (kInstructionFlags[Opcode()] & kUnconditional) != 0;
   }
 
+  // Returns the branch offset if this instruction is a branch.
+  int32_t GetTargetOffset() const;
+
+  // Returns true if the instruction allows control flow to go to the following instruction.
+  bool CanFlowThrough() const;
+
   // Returns true if this instruction is a switch.
   bool IsSwitch() const {
     return (kInstructionFlags[Opcode()] & kSwitch) != 0;