本文整理汇总了Java中gnu.bytecode.CodeAttr.reachableHere方法的典型用法代码示例。如果您正苦于以下问题:Java CodeAttr.reachableHere方法的具体用法?Java CodeAttr.reachableHere怎么用?Java CodeAttr.reachableHere使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gnu.bytecode.CodeAttr
的用法示例。
在下文中一共展示了CodeAttr.reachableHere方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: compile
import gnu.bytecode.CodeAttr; //导入方法依赖的package包/类
public void compile (Compilation comp, Target target)
{
pushOptions(comp);
try
{
int n = length, i;
CodeAttr code = comp.getCode();
for (i = 0; i < n - 1; i++)
{
exps[i].compileWithPosition(comp, Target.Ignore);
if (! code.reachableHere())
{
if (comp.warnUnreachable())
comp.error('w', "unreachable code", exps[i+1]);
return;
}
}
exps[i].compileWithPosition(comp, target);
}
finally
{
popOptions(comp);
}
}
示例2: compileWithPosition
import gnu.bytecode.CodeAttr; //导入方法依赖的package包/类
/** Same as 2-argument compileWithPosition,
* but use some other Expression's line number. */
public final void compileWithPosition(Compilation comp, Target target,
Expression position) {
CodeAttr code = comp.getCode();
if (! code.reachableHere())
return;
int line = position.getLineNumber ();
if (line > 0) {
code.putLineNumber(position.getFileName(), line);
String saveFilename = comp.getFileName();
int saveLine = comp.getLineNumber();
int saveColumn = comp.getColumnNumber();
comp.setLine(position);
compile(comp, target);
// This might logically belong in a `finally' clause. It is
// intentionally not so, so that if there is an internal error
// causing an exception, we get the line number where the
// exception was thrown.
comp.setLine(saveFilename, saveLine, saveColumn);
} else
compile(comp, target);
}
示例3: compileFromStack
import gnu.bytecode.CodeAttr; //导入方法依赖的package包/类
public void compileFromStack(Compilation comp, Type stackType) {
if (! stackType.isVoid()) {
CodeAttr code = comp.getCode();
if (code.reachableHere())
code.emitPop(1);
}
}