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 / AgentIn.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  2.5 KB  |  81 lines

  1. package sun.tools.debug;
  2.  
  3. import java.io.DataInputStream;
  4.  
  5. class AgentIn implements Runnable, AgentConstants {
  6.    RemoteAgent agent;
  7.    DebuggerCallback client;
  8.    // $FF: renamed from: in java.io.DataInputStream
  9.    DataInputStream field_0;
  10.  
  11.    AgentIn(RemoteAgent var1, DataInputStream var2, DebuggerCallback var3, boolean var4) {
  12.       this.agent = var1;
  13.       this.client = var3;
  14.       this.field_0 = var2;
  15.    }
  16.  
  17.    public void run() {
  18.       Agent.addSystemThread(Thread.currentThread());
  19.       Thread.currentThread().setPriority(10);
  20.       boolean var1 = false;
  21.  
  22.       try {
  23.          while(true) {
  24.             int var9 = this.field_0.read();
  25.             switch (var9) {
  26.                case -1:
  27.                   if (!var1) {
  28.                      this.client.printToConsole("\nThe communications channel closed.\n");
  29.                      this.agent.closeRemoteInterpreter = false;
  30.                      this.agent.close();
  31.                      this.client.quitEvent();
  32.                      return;
  33.                   }
  34.                case 33:
  35.                   int var12 = this.field_0.read();
  36.                   byte[] var13 = new byte[var12];
  37.                   this.field_0.readFully(var13, 0, var12);
  38.                   String var5 = new String(var13, 0);
  39.                   this.client.printToConsole(var5);
  40.                   break;
  41.                case 46:
  42.                   RemoteThread var11 = (RemoteThread)this.agent.readValue(this.field_0);
  43.                   this.client.breakpointEvent(var11);
  44.                   break;
  45.                case 52:
  46.                   this.agent.message("AgentIn: exceptionEvent!");
  47.                   RemoteThread var10 = (RemoteThread)this.agent.readValue(this.field_0);
  48.                   String var4 = this.field_0.readUTF();
  49.                   this.agent.message("text=" + var4);
  50.                   this.client.exceptionEvent(var10, var4);
  51.                   break;
  52.                case 66:
  53.                   RemoteThread var3 = (RemoteThread)this.agent.readValue(this.field_0);
  54.                   this.agent.message("AgentIn: threadDeath in " + var3.getName());
  55.                   this.client.threadDeathEvent(var3);
  56.                   break;
  57.                case 67:
  58.                   var1 = true;
  59.                   this.client.quitEvent();
  60.                   this.agent.closeRemoteInterpreter = false;
  61.                   this.agent.close();
  62.                   return;
  63.             }
  64.          }
  65.       } catch (Exception var7) {
  66.          Exception var2 = var7;
  67.  
  68.          try {
  69.             if (!var1) {
  70.                this.client.printToConsole("\nFatal exception: " + var2 + "\n");
  71.                ((Throwable)var2).printStackTrace();
  72.                this.agent.closeRemoteInterpreter = false;
  73.                this.agent.close();
  74.                this.client.quitEvent();
  75.             }
  76.          } catch (Exception var6) {
  77.          }
  78.       }
  79.    }
  80. }
  81.