⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vm_stackframe.java

📁 Java源码
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -