com.android.dx.rop.code.BasicBlockList.size()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(133)

本文整理了Java中com.android.dx.rop.code.BasicBlockList.size()方法的一些代码示例,展示了BasicBlockList.size()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BasicBlockList.size()方法的具体详情如下:
包路径:com.android.dx.rop.code.BasicBlockList
类名称:BasicBlockList
方法名:size

BasicBlockList.size介绍

暂无

代码示例

代码示例来源:origin: gdpancheng/LoonAndroid3

/**
 * Builds a BitSet of block indices from a basic block list and a list
 * of labels taken from Rop form.
 *
 * @param blocks Rop blocks
 * @param labelList list of rop block labels
 * @return BitSet of block indices
 */
static BitSet bitSetFromLabelList(BasicBlockList blocks,
    IntList labelList) {
  BitSet result = new BitSet(blocks.size());
  for (int i = 0, sz = labelList.size(); i < sz; i++) {
    result.set(blocks.indexOfLabel(labelList.get(i)));
  }
  return result;
}

代码示例来源:origin: com.android.tools.build/builder

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: com.android/dx

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: gdpancheng/LoonAndroid3

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: nikita36078/J2ME-Loader

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: com.jakewharton.android.repackaged/dalvik-dx

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: com.google.android.tools/dx

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: com.google.dexmaker/dexmaker-dx

/**
 * Visits each instruction of each block in the list, in order.
 *
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: dragome/dragome-sdk

/**
 * Visits each instruction of each block in the list, in order.
 * 
 * @param visitor {@code non-null;} visitor to use
 */
public void forEachInsn(Insn.Visitor visitor) {
  int sz = size();
  for (int i = 0; i < sz; i++) {
    BasicBlock one = get(i);
    InsnList insns = one.getInsns();
    insns.forEach(visitor);
  }
}

代码示例来源:origin: com.android/dx

/** {@inheritDoc} */
public HashSet<Type> getCatchTypes() {
  HashSet<Type> result = new HashSet<Type>(20);
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    int catchSize = catches.size();
    for (int j = 0; j < catchSize; j++) {
      result.add(catches.getType(j));
    }
  }
  return result;
}

代码示例来源:origin: gdpancheng/LoonAndroid3

private void convertRopToSsaBlocks(RopMethod rmeth) {
  BasicBlockList ropBlocks = rmeth.getBlocks();
  int sz = ropBlocks.size();
  blocks = new ArrayList<SsaBasicBlock>(sz + 2);
  for (int i = 0; i < sz; i++) {
    SsaBasicBlock sbb = SsaBasicBlock.newFromRop(rmeth, i, this);
    blocks.add(sbb);
  }
  // Add an no-op entry block.
  int origEntryBlockIndex = rmeth.getBlocks()
      .indexOfLabel(rmeth.getFirstLabel());
  SsaBasicBlock entryBlock
      = blocks.get(origEntryBlockIndex).insertNewPredecessor();
  entryBlockIndex = entryBlock.getIndex();
  exitBlockIndex = -1; // This gets made later.
}

代码示例来源:origin: nikita36078/J2ME-Loader

private void convertRopToSsaBlocks(RopMethod rmeth) {
  BasicBlockList ropBlocks = rmeth.getBlocks();
  int sz = ropBlocks.size();
  blocks = new ArrayList<SsaBasicBlock>(sz + 2);
  for (int i = 0; i < sz; i++) {
    SsaBasicBlock sbb = SsaBasicBlock.newFromRop(rmeth, i, this);
    blocks.add(sbb);
  }
  // Add an no-op entry block.
  int origEntryBlockIndex = rmeth.getBlocks()
      .indexOfLabel(rmeth.getFirstLabel());
  SsaBasicBlock entryBlock
      = blocks.get(origEntryBlockIndex).insertNewPredecessor();
  entryBlockIndex = entryBlock.getIndex();
  exitBlockIndex = -1; // This gets made later.
}

代码示例来源:origin: com.android/dx

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: com.google.dexmaker/dexmaker-dx

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: com.android.tools.build/builder

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: com.google.android.tools/dx

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: gdpancheng/LoonAndroid3

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: dragome/dragome-sdk

/** {@inheritDoc} */
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: nikita36078/J2ME-Loader

/** {@inheritDoc} */
@Override
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: com.jakewharton.android.repackaged/dalvik-dx

/** {@inheritDoc} */
@Override
public boolean hasAnyCatches() {
  BasicBlockList blocks = method.getBlocks();
  int size = blocks.size();
  for (int i = 0; i < size; i++) {
    BasicBlock block = blocks.get(i);
    TypeList catches = block.getLastInsn().getCatches();
    if (catches.size() != 0) {
      return true;
    }
  }
  return false;
}

相关文章