vm_stackframe.java

来自「Java源码」· Java 代码 · 共 61 行

JAVA
61
字号
package AM.vm_impl.vm_data_structure;

import java.util.*;

import AM.vm_impl.util.*;

/**
 * Created by IntelliJ IDEA. User: yellowicq Date: 2004-4-27 Time: 13:35:05
 * To change this template use File | Settings | File Templates.
 */

public class VM_StackFrame {
  private Stack opStack;
  private ArrayList localVars;

  public VM_StackFrame() {
  }

  public void Init() {
    opStack = new Stack();
    localVars = new ArrayList();
  }

  public void push(Object obj) {
    opStack.push(obj);
  }

  public void addLocalEntry(int index, Object obj) {
    localVars.add(index, obj);
  }

  public void setLocalEntry(int index, Object obj) {
    try {
        localVars.set(index, obj);
    }
    catch (Exception e) {
      for(int i=localVars.size();i<index;i++){
        localVars.add(i,null);
      }
        localVars.add(index, obj);
    }
  }

  public void removeLocalEntry(int index) {
    localVars.remove(index);
  }

  public Object getLocalEntry(int index) {
    return localVars.get(index);
  }

  public Object pop() {
    return opStack.pop();
  }

  public void traceStackFrame() {
    Tracer.debug("Current opStack:[" + opStack.toString() + "]");
    Tracer.debug("Current localVars:[" + localVars.toString() + "]");
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?