home *** CD-ROM | disk | FTP | other *** search
- package sun.tools.debug;
-
- public class RemoteStackFrame extends StackFrame {
- private RemoteObject idFrame;
- private RemoteAgent agent;
- private RemoteThread thread;
- private RemoteClass clazz;
- private int iFrame;
-
- RemoteStackFrame(RemoteObject var1, RemoteThread var2, int var3, RemoteAgent var4) {
- this.idFrame = var1;
- this.thread = var2;
- this.iFrame = var3;
- this.agent = var4;
- }
-
- public RemoteStackVariable getLocalVariable(String var1) throws Exception {
- this.agent.message("getLocalVariable: name=" + var1);
- this.agent.message(" stackframe=" + ((StackFrame)this).toString());
- this.agent.message(" " + super.localVariables.length + " local vars");
-
- for(int var2 = 0; var2 < super.localVariables.length; ++var2) {
- this.agent.message(" trying " + super.localVariables[var2].name);
- if (super.localVariables[var2].name.equals(var1)) {
- RemoteValue var3 = this.agent.getStackValue(this.thread.getId(), this.iFrame, super.localVariables[var2].slot, super.localVariables[var2].signature.charAt(0));
- return new RemoteStackVariable(this, super.localVariables[var2].slot, var1, super.localVariables[var2].signature, super.localVariables[var2].methodArgument, var3);
- }
- }
-
- return null;
- }
-
- public RemoteStackVariable[] getLocalVariables() throws Exception {
- this.agent.message("getLocalVariables:");
- this.agent.message(" stackframe=" + ((StackFrame)this).toString());
- this.agent.message(" " + super.localVariables.length + " local vars");
- RemoteStackVariable[] var1 = new RemoteStackVariable[super.localVariables.length];
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- RemoteValue var3 = this.agent.getStackValue(this.thread.getId(), this.iFrame, super.localVariables[var2].slot, super.localVariables[var2].signature.charAt(0));
- var1[var2] = new RemoteStackVariable(this, super.localVariables[var2].slot, super.localVariables[var2].name, super.localVariables[var2].signature, super.localVariables[var2].methodArgument, var3);
- }
-
- return var1;
- }
-
- public int getLineNumber() {
- return super.lineno;
- }
-
- public String getMethodName() {
- return super.methodName;
- }
-
- public int getPC() {
- return super.pc;
- }
-
- public RemoteClass getRemoteClass() {
- return this.clazz;
- }
-
- void setRemoteClass(RemoteClass var1) {
- this.clazz = var1;
- }
-
- void setVariable(int var1, int var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
-
- void setVariable(int var1, boolean var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
-
- void setVariable(int var1, char var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
-
- void setVariable(int var1, long var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
-
- void setVariable(int var1, float var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
-
- void setVariable(int var1, double var2) throws Exception {
- this.agent.setStackValue(this.thread.getId(), this.iFrame, var1, var2);
- }
- }
-