home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / tools / debug / RemoteStackFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  3.4 KB  |  91 lines

  1. package sun.tools.debug;
  2.  
  3. public class RemoteStackFrame extends StackFrame {
  4.    private RemoteObject idFrame;
  5.    private RemoteAgent agent;
  6.    private RemoteThread thread;
  7.    private RemoteClass clazz;
  8.    private int iFrame;
  9.  
  10.    RemoteStackFrame(RemoteObject var1, RemoteThread var2, int var3, RemoteAgent var4) {
  11.       this.idFrame = var1;
  12.       this.thread = var2;
  13.       this.iFrame = var3;
  14.       this.agent = var4;
  15.    }
  16.  
  17.    public RemoteStackVariable getLocalVariable(String var1) throws Exception {
  18.       this.agent.message("getLocalVariable: name=" + var1);
  19.       this.agent.message("   stackframe=" + ((StackFrame)this).toString());
  20.       this.agent.message("   " + super.localVariables.length + " local vars");
  21.  
  22.       for(int var2 = 0; var2 < super.localVariables.length; ++var2) {
  23.          this.agent.message("   trying " + super.localVariables[var2].name);
  24.          if (super.localVariables[var2].name.equals(var1)) {
  25.             RemoteValue var3 = this.agent.getStackValue(this.thread.getId(), this.iFrame, super.localVariables[var2].slot, super.localVariables[var2].signature.charAt(0));
  26.             return new RemoteStackVariable(this, super.localVariables[var2].slot, var1, super.localVariables[var2].signature, super.localVariables[var2].methodArgument, var3);
  27.          }
  28.       }
  29.  
  30.       return null;
  31.    }
  32.  
  33.    public RemoteStackVariable[] getLocalVariables() throws Exception {
  34.       this.agent.message("getLocalVariables:");
  35.       this.agent.message("   stackframe=" + ((StackFrame)this).toString());
  36.       this.agent.message("   " + super.localVariables.length + " local vars");
  37.       RemoteStackVariable[] var1 = new RemoteStackVariable[super.localVariables.length];
  38.  
  39.       for(int var2 = 0; var2 < var1.length; ++var2) {
  40.          RemoteValue var3 = this.agent.getStackValue(this.thread.getId(), this.iFrame, super.localVariables[var2].slot, super.localVariables[var2].signature.charAt(0));
  41.          var1[var2] = new RemoteStackVariable(this, super.localVariables[var2].slot, super.localVariables[var2].name, super.localVariables[var2].signature, super.localVariables[var2].methodArgument, var3);
  42.       }
  43.  
  44.       return var1;
  45.    }
  46.  
  47.    public int getLineNumber() {
  48.       return super.lineno;
  49.    }
  50.  
  51.    public String getMethodName() {
  52.       return super.methodName;
  53.    }
  54.  
  55.    public int getPC() {
  56.       return super.pc;
  57.    }
  58.  
  59.    public RemoteClass getRemoteClass() {
  60.       return this.clazz;
  61.    }
  62.  
  63.    void setRemoteClass(RemoteClass var1) {
  64.       this.clazz = var1;
  65.    }
  66.  
  67.    void setVariable(int var1, int var2) throws Exception {
  68.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  69.    }
  70.  
  71.    void setVariable(int var1, boolean var2) throws Exception {
  72.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  73.    }
  74.  
  75.    void setVariable(int var1, char var2) throws Exception {
  76.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  77.    }
  78.  
  79.    void setVariable(int var1, long var2) throws Exception {
  80.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  81.    }
  82.  
  83.    void setVariable(int var1, float var2) throws Exception {
  84.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  85.    }
  86.  
  87.    void setVariable(int var1, double var2) throws Exception {
  88.       this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
  89.    }
  90. }
  91.