本文整理汇总了Java中com.sun.squawk.translator.ir.IR类的典型用法代码示例。如果您正苦于以下问题:Java IR类的具体用法?Java IR怎么用?Java IR使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IR类属于com.sun.squawk.translator.ir包,在下文中一共展示了IR类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: scanMethod
import com.sun.squawk.translator.ir.IR; //导入依赖的package包/类
private void scanMethod(Code code, Method m) {
boolean dontExpectCode = m.isHosted() || m.isAbstract() || m.isNative();
Assert.always(dontExpectCode || code != null, "code for method " + m);
Assert.always(m != null, "method for code " + code);
if (code != null && m != null && methodIsUsed(m)) {
if (!AGGRESSIVE_DCE) {
shallowMark(m.getReturnType());
Klass[] parameters = m.getParameterTypes();
for (int j = 0; j < parameters.length; j++) {
shallowMark(parameters[j]);
}
}
ClassReferenceRecordingVisitor visitor = new ClassReferenceRecordingVisitor(this);
IR ir = code.getIR();
for (Instruction instruction = ir.getHead() ; instruction != null ; instruction = instruction.getNext()) {
instruction.visit(visitor);
}
ExceptionHandler[] exceptionHandlers = code.getCodeParser().getExceptionHandlers();
for (int i = 0; i < exceptionHandlers.length; i++) {
Klass handlerklass = exceptionHandlers[i].getKlass();
shallowMark(handlerklass);
}
}
}