示例#1
0
 private void constructorCall(InvokerRecord ir) {
   newMethodCall = false;
   if (clearOnMethodCall) {
     clear();
   }
   if (recordMethodCalls) {
     String callString =
         ir.getResultTypeString() + " " + ir.getResultName() + " = " + ir.toExpression() + ";";
     text.appendMethodCall(callString + "\n");
   }
   newMethodCall = true;
 }
示例#2
0
 /**
  * Called when a BlueJ event is raised. The event can be any BlueJEvent type. The implementation
  * of this method should check first whether the event type is of interest an return immediately
  * if it isn't.
  *
  * @param eventId A constant identifying the event. One of the event id constants defined in
  *     BlueJEvent.
  * @param arg An event specific parameter. See BlueJEvent for definition.
  */
 @Override
 public void blueJEvent(int eventId, Object arg) {
   initialise();
   if (eventId == BlueJEvent.METHOD_CALL) {
     InvokerRecord ir = (InvokerRecord) arg;
     if (ir.getResultName() != null) {
       constructorCall(ir);
     } else {
       boolean isVoid = ir.hasVoidResult();
       if (isVoid) {
         methodCall(ir.toStatement());
       } else {
         methodCall(ir.toExpression());
       }
     }
   } else if (eventId == BlueJEvent.EXECUTION_RESULT) {
     methodResult((ExecutionEvent) arg);
   }
 }