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 + -
显示快捷键?