本文整理汇总了Java中com.android.dx.util.IntList.throwIfMutable方法的典型用法代码示例。如果您正苦于以下问题:Java IntList.throwIfMutable方法的具体用法?Java IntList.throwIfMutable怎么用?Java IntList.throwIfMutable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.android.dx.util.IntList
的用法示例。
在下文中一共展示了IntList.throwIfMutable方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: Frame
import com.android.dx.util.IntList; //导入方法依赖的package包/类
/**
* Constructs an instance.
*
* @param locals {@code non-null;} the locals array to use
* @param stack {@code non-null;} the execution stack to use
* @param subroutines {@code non-null;} list of subroutine start labels for
* subroutines this frame is nested in
*/
private Frame(LocalsArray locals,
ExecutionStack stack, IntList subroutines) {
if (locals == null) {
throw new NullPointerException("locals == null");
}
if (stack == null) {
throw new NullPointerException("stack == null");
}
subroutines.throwIfMutable();
this.locals = locals;
this.stack = stack;
this.subroutines = subroutines;
}
示例2: addOrReplaceBlockNoDelete
import com.android.dx.util.IntList; //导入方法依赖的package包/类
/**
* Adds or replaces a block in the output result. Do not delete
* any successors.
*
* @param block {@code non-null;} the block to add or replace
* @param subroutines {@code non-null;} subroutine label list
* as described in {@link Frame#getSubroutines}
* @return {@code true} if the block was replaced or
* {@code false} if it was added for the first time
*/
private boolean addOrReplaceBlockNoDelete(BasicBlock block,
IntList subroutines) {
if (block == null) {
throw new NullPointerException("block == null");
}
int idx = labelToResultIndex(block.getLabel());
boolean ret;
if (idx < 0) {
ret = false;
} else {
result.remove(idx);
resultSubroutines.remove(idx);
ret = true;
}
result.add(block);
subroutines.throwIfMutable();
resultSubroutines.add(subroutines);
return ret;
}
示例3: addBlock
import com.android.dx.util.IntList; //导入方法依赖的package包/类
/**
* Adds a block to the output result.
*
* @param block {@code non-null;} the block to add
* @param subroutines {@code non-null;} subroutine label list
* as described in {@link Frame#getSubroutines}
*/
private void addBlock(BasicBlock block, IntList subroutines) {
if (block == null) {
throw new NullPointerException("block == null");
}
result.add(block);
subroutines.throwIfMutable();
resultSubroutines.add(subroutines);
}
示例4: addOrReplaceBlock
import com.android.dx.util.IntList; //导入方法依赖的package包/类
/**
* Adds or replace a block in the output result. If this is a
* replacement, then any extra blocks that got added with the
* original get removed as a result of calling this method.
*
* @param block {@code non-null;} the block to add or replace
* @param subroutines {@code non-null;} subroutine label list
* as described in {@link Frame#getSubroutines}
* @return {@code true} if the block was replaced or
* {@code false} if it was added for the first time
*/
private boolean addOrReplaceBlock(BasicBlock block, IntList subroutines) {
if (block == null) {
throw new NullPointerException("block == null");
}
int idx = labelToResultIndex(block.getLabel());
boolean ret;
if (idx < 0) {
ret = false;
} else {
/*
* We are replacing a pre-existing block, so find any
* blocks that got added as part of the original and
* remove those too. Such blocks are (possibly indirect)
* successors of this block which are out of the range of
* normally-translated blocks.
*/
removeBlockAndSpecialSuccessors(idx);
ret = true;
}
result.add(block);
subroutines.throwIfMutable();
resultSubroutines.add(subroutines);
return ret;
}