inlinedbytecodevisitor.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 153 行
JAVA
153 行
/*
* $Id: InlinedBytecodeVisitor.java,v 1.1 2004/02/19 10:09:09 epr Exp $
*/
package org.jnode.vm.compiler;
/**
* BytecodeVisitor that is used to visit instructions in the inlined method. It
* converts local addresses and return instructions.
*
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
public class InlinedBytecodeVisitor extends DelegatingCompilerBytecodeVisitor {
private final int localDelta;
private final InlineBytecodeVisitor delegate;
/**
* @param delegate
*/
public InlinedBytecodeVisitor(InlineBytecodeVisitor delegate,
int localDelta) {
super(delegate);
this.delegate = delegate;
this.localDelta = localDelta;
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_aload(int)
*/
public void visit_aload(int index) {
super.visit_aload(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_areturn()
*/
public void visit_areturn() {
delegate.visit_inlinedReturn();
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_astore(int)
*/
public void visit_astore(int index) {
super.visit_astore(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_dload(int)
*/
public void visit_dload(int index) {
super.visit_dload(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_dreturn()
*/
public void visit_dreturn() {
delegate.visit_inlinedReturn();
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_dstore(int)
*/
public void visit_dstore(int index) {
super.visit_dstore(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_fload(int)
*/
public void visit_fload(int index) {
super.visit_fload(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_freturn()
*/
public void visit_freturn() {
delegate.visit_inlinedReturn();
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_fstore(int)
*/
public void visit_fstore(int index) {
super.visit_fstore(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_iinc(int, int)
*/
public void visit_iinc(int index, int incValue) {
super.visit_iinc(index + localDelta, incValue);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_iload(int)
*/
public void visit_iload(int index) {
super.visit_iload(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_ireturn()
*/
public void visit_ireturn() {
delegate.visit_inlinedReturn();
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_istore(int)
*/
public void visit_istore(int index) {
super.visit_istore(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_lload(int)
*/
public void visit_lload(int index) {
super.visit_lload(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_lreturn()
*/
public void visit_lreturn() {
delegate.visit_inlinedReturn();
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_lstore(int)
*/
public void visit_lstore(int index) {
super.visit_lstore(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_ret(int)
*/
public void visit_ret(int index) {
super.visit_ret(index + localDelta);
}
/**
* @see org.jnode.vm.bytecode.BytecodeVisitor#visit_return()
*/
public void visit_return() {
delegate.visit_inlinedReturn();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?