当前位置: 首页>>代码示例>>Java>>正文


Java ByteSequence.readUnsignedByte方法代码示例

本文整理汇总了Java中org.apache.bcel.util.ByteSequence.readUnsignedByte方法的典型用法代码示例。如果您正苦于以下问题:Java ByteSequence.readUnsignedByte方法的具体用法?Java ByteSequence.readUnsignedByte怎么用?Java ByteSequence.readUnsignedByte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.bcel.util.ByteSequence的用法示例。


在下文中一共展示了ByteSequence.readUnsignedByte方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
  * Read needed data (e.g. index) from file.
  * PRE: (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
  */
 protected void initFromFile(ByteSequence bytes, boolean wide)
   throws IOException
 {
   if(wide) {
     n         = bytes.readUnsignedShort();
     length    = 4;
   } else if(((opcode >= Constants.ILOAD) &&
       (opcode <= Constants.ALOAD)) ||
      ((opcode >= Constants.ISTORE) &&
       (opcode <= Constants.ASTORE))) {
     n      = bytes.readUnsignedByte();
     length = 2;
   } else if(opcode <= Constants.ALOAD_3) { // compact load instruction such as ILOAD_2
     n      = (opcode - Constants.ILOAD_0) % 4;
     length = 1;
   } else { // Assert ISTORE_0 <= tag <= ASTORE_3
     n      = (opcode - Constants.ISTORE_0) % 4;
     length = 1;
   }
}
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:25,代码来源:LocalVariableInstruction.java

示例2: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 * PRE: (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
 */
protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
    if (wide) {
        n = bytes.readUnsignedShort();
        length = 4;
    } else if (((opcode >= Constants.ILOAD) && (opcode <= Constants.ALOAD))
            || ((opcode >= Constants.ISTORE) && (opcode <= Constants.ASTORE))) {
        n = bytes.readUnsignedByte();
        length = 2;
    } else if (opcode <= Constants.ALOAD_3) { // compact load instruction such as ILOAD_2
        n = (opcode - Constants.ILOAD_0) % 4;
        length = 1;
    } else { // Assert ISTORE_0 <= tag <= ASTORE_3
        n = (opcode - Constants.ISTORE_0) % 4;
        length = 1;
    }
}
 
开发者ID:Hu6,项目名称:VestaClient,代码行数:21,代码来源:LocalVariableInstruction.java

示例3: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 * PRE: (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
 */
protected void initFromFile(ByteSequence bytes, boolean wide)
        throws IOException {
    if (wide) {
        n = bytes.readUnsignedShort();
        length = 4;
    } else if (((opcode >= Constants.ILOAD) &&
            (opcode <= Constants.ALOAD)) ||
            ((opcode >= Constants.ISTORE) &&
                    (opcode <= Constants.ASTORE))) {
        n = bytes.readUnsignedByte();
        length = 2;
    } else if (opcode <= Constants.ALOAD_3) { // compact load instruction such as ILOAD_2
        n = (opcode - Constants.ILOAD_0) % 4;
        length = 1;
    } else { // Assert ISTORE_0 <= tag <= ASTORE_3
        n = (opcode - Constants.ISTORE_0) % 4;
        length = 1;
    }
}
 
开发者ID:miuirussia,项目名称:KJBE,代码行数:24,代码来源:LocalVariableInstruction.java

示例4: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide)
     throws IOException
{
  length = 2;
  index  = bytes.readUnsignedByte();
}
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:10,代码来源:LDC.java

示例5: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (i.e., index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide)
     throws IOException
{
  super.initFromFile(bytes, wide);

  length = 5;
  nargs = bytes.readUnsignedByte();
  bytes.readByte(); // Skip 0 byte
}
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:13,代码来源:INVOKEINTERFACE.java

示例6: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
{
  this.wide = wide;

  if(wide) {
    length = 6;
    n = bytes.readUnsignedShort();
    c = bytes.readShort();
  } else {
    length = 3;
    n = bytes.readUnsignedByte();
    c = bytes.readByte();
  }
}
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:18,代码来源:IINC.java

示例7: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
{
  this.wide = wide;

  if(wide) {
    index  = bytes.readUnsignedShort();
    length = 4;
  } else {
    index = bytes.readUnsignedByte();
    length = 2;
  }
}
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:16,代码来源:RET.java

示例8: readInstruction

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read an instruction from (byte code) input stream and return the
 * appropiate object.
 *
 * @param bytes input stream bytes
 * @return instruction object being read
 */
public static final Instruction readInstruction( ByteSequence bytes ) throws IOException {
    boolean wide = false;
    short opcode = (short) bytes.readUnsignedByte();
    Instruction obj = null;
    if (opcode == Constants.WIDE) { // Read next opcode after wide byte
        wide = true;
        opcode = (short) bytes.readUnsignedByte();
    }
    if (InstructionConstants.INSTRUCTIONS[opcode] != null) {
        return InstructionConstants.INSTRUCTIONS[opcode]; // Used predefined immutable object, if available
    }
    /* Find appropiate class, instantiate an (empty) instruction object
     * and initialize it by hand.
     */
    Class clazz;
    try {
        clazz = Class.forName(className(opcode));
    } catch (ClassNotFoundException cnfe) {
        // If a class by that name does not exist, the opcode is illegal.
        // Note that IMPDEP1, IMPDEP2, BREAKPOINT are also illegal in a sense.
        throw new ClassGenException("Illegal opcode detected.");
    }
    try {
        obj = (Instruction) clazz.newInstance();
        if (wide
                && !((obj instanceof LocalVariableInstruction) || (obj instanceof IINC) || (obj instanceof RET))) {
            throw new Exception("Illegal opcode after wide: " + opcode);
        }
        obj.setOpcode(opcode);
        obj.initFromFile(bytes, wide); // Do further initializations, if any
        // Byte code offset set in InstructionList
    } catch (Exception e) {
        throw new ClassGenException(e.toString());
    }
    return obj;
}
 
开发者ID:Hu6,项目名称:VestaClient,代码行数:44,代码来源:Instruction.java

示例9: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (i.e., index) from file.
 */
protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
    super.initFromFile(bytes, wide);
    length = 5;
    nargs = bytes.readUnsignedByte();
    bytes.readByte(); // Skip 0 byte
}
 
开发者ID:Hu6,项目名称:VestaClient,代码行数:10,代码来源:INVOKEINTERFACE.java

示例10: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
    this.wide = wide;
    if (wide) {
        length = 6;
        n = bytes.readUnsignedShort();
        c = bytes.readShort();
    } else {
        length = 3;
        n = bytes.readUnsignedByte();
        c = bytes.readByte();
    }
}
 
开发者ID:Hu6,项目名称:VestaClient,代码行数:16,代码来源:IINC.java

示例11: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile( ByteSequence bytes, boolean wide ) throws IOException {
    this.wide = wide;
    if (wide) {
        index = bytes.readUnsignedShort();
        length = 4;
    } else {
        index = bytes.readUnsignedByte();
        length = 2;
    }
}
 
开发者ID:Hu6,项目名称:VestaClient,代码行数:14,代码来源:RET.java

示例12: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (i.e., index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide)
        throws IOException {
    super.initFromFile(bytes, wide);

    length = 5;
    nargs = bytes.readUnsignedByte();
    bytes.readByte(); // Skip 0 byte
}
 
开发者ID:miuirussia,项目名称:KJBE,代码行数:12,代码来源:INVOKEINTERFACE.java

示例13: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException {
    this.wide = wide;

    if (wide) {
        length = 6;
        n = bytes.readUnsignedShort();
        c = bytes.readShort();
    } else {
        length = 3;
        n = bytes.readUnsignedByte();
        c = bytes.readByte();
    }
}
 
开发者ID:miuirussia,项目名称:KJBE,代码行数:17,代码来源:IINC.java

示例14: initFromFile

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
 * Read needed data (e.g. index) from file.
 */
protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException {
    this.wide = wide;

    if (wide) {
        index = bytes.readUnsignedShort();
        length = 4;
    } else {
        index = bytes.readUnsignedByte();
        length = 2;
    }
}
 
开发者ID:miuirussia,项目名称:KJBE,代码行数:15,代码来源:RET.java

示例15: readInstruction

import org.apache.bcel.util.ByteSequence; //导入方法依赖的package包/类
/**
  * Read an instruction from (byte code) input stream and return the
  * appropiate object.
  *
  * @param file file to read from
  * @return instruction object being read
  */
 public static final Instruction readInstruction(ByteSequence bytes)
   throws IOException
 {
   boolean     wide   = false;
   short       opcode = (short)bytes.readUnsignedByte();
   Instruction obj    = null;

   if(opcode == Constants.WIDE) { // Read next opcode after wide byte
     wide = true;
     opcode  = (short)bytes.readUnsignedByte();
   }

   if(InstructionConstants.INSTRUCTIONS[opcode] != null)
     return InstructionConstants.INSTRUCTIONS[opcode]; // Used predefined immutable object, if available

   /* Find appropiate class, instantiate an (empty) instruction object
    * and initialize it by hand.
    */
   Class clazz;

   try {
     clazz = Class.forName(className(opcode));
   } catch (ClassNotFoundException cnfe){
     // If a class by that name does not exist, the opcode is illegal.
     // Note that IMPDEP1, IMPDEP2, BREAKPOINT are also illegal in a sense.
     throw new ClassGenException("Illegal opcode detected.");
   }

   try {
     obj = (Instruction)clazz.newInstance();

     if(wide && !((obj instanceof LocalVariableInstruction) ||
	   (obj instanceof IINC) ||
	   (obj instanceof RET)))
throw new Exception("Illegal opcode after wide: " + opcode);

     obj.setOpcode(opcode);
     obj.initFromFile(bytes, wide); // Do further initializations, if any
     // Byte code offset set in InstructionList
   } catch(Exception e) { throw new ClassGenException(e.toString()); }

   return obj;
 }
 
开发者ID:linchaolong,项目名称:ApkToolPlus,代码行数:51,代码来源:Instruction.java


注:本文中的org.apache.bcel.util.ByteSequence.readUnsignedByte方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。