private void restartDebugger(){
  stack=new Stack();
  try {
    dGS=(TTGraphicsState)graphicsState.clone();
  }
 catch (  final CloneNotSupportedException e) {
    LogWriter.writeLog("Exception: " + e.getMessage());
  }
  final int twilightCount=maxp.getMaxTwilightPoints();
  System.arraycopy(x[ORIGINAL + GLYPH_ZONE],0,x[GLYPH_ZONE],0,x[GLYPH_ZONE].length);
  x[TWILIGHT_ZONE]=new int[twilightCount];
  x[ORIGINAL + TWILIGHT_ZONE]=new int[twilightCount];
  System.arraycopy(y[ORIGINAL + GLYPH_ZONE],0,y[GLYPH_ZONE],0,y[GLYPH_ZONE].length);
  y[TWILIGHT_ZONE]=new int[twilightCount];
  y[ORIGINAL + TWILIGHT_ZONE]=new int[twilightCount];
  System.arraycopy(touched[ORIGINAL + GLYPH_ZONE],0,touched[GLYPH_ZONE],0,touched[GLYPH_ZONE].length);
  touched[TWILIGHT_ZONE]=new boolean[twilightCount][2];
  touched[ORIGINAL + TWILIGHT_ZONE]=new boolean[twilightCount][2];
  if (!codeStack.isEmpty()) {
    programToDebug=codeStack.get(0);
    programToDebugIsData=getInstructionStreamIsData(programToDebug);
  }
  codeStack.clear();
  numberStack.clear();
  functionsLineCount=0;
  debugPointer=0;
  instructionsExecuted=0;
  currentCode.setText("Glyph Program");
}

private void restartDebugger ( ) { stack = new Stack ( ) ; try { dGS = ( TTGraphicsState ) graphicsState . clone ( ) ; } catch ( final CloneNotSupportedException e ) { LogWriter . writeLog ( "Exception: " + e . getMessage ( ) ) ; } final int twilightCount = maxp . getMaxTwilightPoints ( ) ; System . arraycopy ( x [ ORIGINAL + GLYPH_ZONE ] , 0 , x [ GLYPH_ZONE ] , 0 , x [ GLYPH_ZONE ] . length ) ; x [ TWILIGHT_ZONE ] = new int [ twilightCount ] ; x [ ORIGINAL + TWILIGHT_ZONE ] = new int [ twilightCount ] ; System . arraycopy ( y [ ORIGINAL + GLYPH_ZONE ] , 0 , y [ GLYPH_ZONE ] , 0 , y [ GLYPH_ZONE ] . length ) ; y [ TWILIGHT_ZONE ] = new int [ twilightCount ] ; y [ ORIGINAL + TWILIGHT_ZONE ] = new int [ twilightCount ] ; System . arraycopy ( touched [ ORIGINAL + GLYPH_ZONE ] , 0 , touched [ GLYPH_ZONE ] , 0 , touched [ GLYPH_ZONE ] . length ) ; touched [ TWILIGHT_ZONE ] = new boolean [ twilightCount ] [ 2 ] ; touched [ ORIGINAL + TWILIGHT_ZONE ] = new boolean [ twilightCount ] [ 2 ] ; if ( ! codeStack . isEmpty ( ) ) { programToDebug = codeStack . get ( 0 ) ; programToDebugIsData = getInstructionStreamIsData ( programToDebug ) ; } codeStack . clear ( ) ; numberStack . clear ( ) ; functionsLineCount = 0 ; debugPointer = 0 ; instructionsExecuted = 0 ; currentCode . setText ( "Glyph Program" ) ; }
debug method - restarts the debugger , resetting all relevant data structures .
