home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 August / PCO0897.ISO / filesbbs / os2 / fp1os2.arj / OS2 / DATA / 49 / C / 0 / F_26836 / JScriptCodeBlock.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-15  |  2.8 KB  |  129 lines

  1. import java.io.ByteArrayOutputStream;
  2. import java.io.PrintStream;
  3.  
  4. public class JScriptCodeBlock extends JSbxVector {
  5.    private String aIDString = null;
  6.    private int[] nStartPCode;
  7.    private String aInfoStrg;
  8.  
  9.    public JScriptCodeBlock() {
  10.       super(20);
  11.    }
  12.  
  13.    public final int AddCode(JScriptPCode var1) {
  14.       int var2 = ((JSbxVector)this).GetSize();
  15.       ((JSbxVector)this).Add(var1);
  16.       return var2;
  17.    }
  18.  
  19.    public final int GetNextCodePos() {
  20.       return ((JSbxVector)this).GetSize();
  21.    }
  22.  
  23.    public final JScriptPCode GetPCode(int var1) {
  24.       return (JScriptPCode)((JSbxVector)this).Get(var1);
  25.    }
  26.  
  27.    public final void SetPCode(int var1, JScriptPCode var2) throws JSbxException {
  28.       ((JSbxVector)this).Put(var1, var2);
  29.    }
  30.  
  31.    public final void ClearAllBreakPoints() {
  32.       for(int var2 = 0; var2 < ((JSbxVector)this).GetSize(); ++var2) {
  33.          JScriptPCode var1 = this.GetPCode(var2);
  34.          if (var1 instanceof JSP_DebugStep) {
  35.             ((JSP_DebugStep)var1).SetBreakPoint(false);
  36.          }
  37.       }
  38.  
  39.    }
  40.  
  41.    public Object[] getPCodeArray() {
  42.       return super.aObjects;
  43.    }
  44.  
  45.    public void DumpAll(PrintStream var1) {
  46.       this.DumpAll(var1, (String)null);
  47.    }
  48.  
  49.    public void DumpAll(PrintStream var1, String var2) {
  50.       for(int var3 = 0; var3 < ((JSbxVector)this).GetSize(); ++var3) {
  51.          if (var2 != null) {
  52.             var1.print(var2);
  53.          }
  54.  
  55.          JScriptPCode var4 = this.GetPCode(var3);
  56.          if (var4 == null) {
  57.             var1.print(var3 + ".\t  null - PCode");
  58.          } else if (var4 instanceof JSP_DebugSourceItem) {
  59.             var1.print("SOURCE:\t");
  60.          } else if (var4 instanceof JSP_DebugStep) {
  61.             if (((JSP_DebugStep)var4).GetBreakPoint()) {
  62.                var1.print("BreakPoint DEBUG:\t");
  63.             } else {
  64.                var1.print("DEBUG:\t");
  65.             }
  66.          } else {
  67.             var1.print(var3 + ".\t");
  68.          }
  69.  
  70.          if (var4 != null) {
  71.             var4.Dump(var1);
  72.          }
  73.       }
  74.  
  75.    }
  76.  
  77.    public final String GetIDString() {
  78.       return this.aIDString;
  79.    }
  80.  
  81.    public final void SetIDString(String var1) {
  82.       this.aIDString = var1;
  83.    }
  84.  
  85.    public String DEBUG_GetInfoString() {
  86.       this.CreateInfos();
  87.       return this.aInfoStrg;
  88.    }
  89.  
  90.    public int[] DEBUG_GetStartPosArray_AfterInfoString() {
  91.       return this.nStartPCode;
  92.    }
  93.  
  94.    public int[] DEBUG_GetStartPosArray() {
  95.       this.CreateInfos();
  96.       return this.nStartPCode;
  97.    }
  98.  
  99.    private void CreateInfos() {
  100.       ByteArrayOutputStream var1 = new ByteArrayOutputStream();
  101.       this.DumpAll(new PrintStream(var1), "\t");
  102.       String var2 = var1.toString();
  103.       StringBuffer var3 = new StringBuffer(var2);
  104.       int var4 = ((JSbxVector)this).GetSize();
  105.       int[] var5 = new int[var4];
  106.       int var6 = var3.length();
  107.       int var7 = 0;
  108.       char var8 = ' ';
  109.       int var9 = 0;
  110.  
  111.       for(int var10 = 0; var10 < var6; ++var10) {
  112.          char var11 = var3.charAt(var10);
  113.          if (var11 != '\r' && var11 != '\n') {
  114.             if (var8 == '\r' || var8 == '\n') {
  115.                var9 = var10;
  116.             }
  117.          } else if (var8 != '\r' && var8 != '\n') {
  118.             var5[var7] = var9;
  119.             ++var7;
  120.          }
  121.  
  122.          var8 = var11;
  123.       }
  124.  
  125.       this.nStartPCode = var5;
  126.       this.aInfoStrg = new String(var3);
  127.    }
  128. }
  129.