protected void processRecords(List records) throws IOException {
  for (Iterator enumerator=records.iterator(); enumerator.hasNext(); ) {
    ActionRecord rec=(ActionRecord)enumerator.next();
    if (rec.blockDepth < blockDepth) {
      blockDepth--;
      actions.endBlock();
    }
    if (rec.label != null) {
      actions.jumpLabel(rec.label);
    }
    int code=rec.code;
    byte[] data=rec.data;
    InStream in=(data != null && data.length > 0) ? new InStream(data) : null;
switch (code) {
case 0:
      actions.end();
    break;
case GOTO_FRAME:
  actions.gotoFrame(in.readUI16());
break;
case GET_URL:
actions.getURL(in.readString(),in.readString());
break;
case NEXT_FRAME:
actions.nextFrame();
break;
case PREVIOUS_FRAME:
actions.prevFrame();
break;
case PLAY:
actions.play();
break;
case STOP:
actions.stop();
break;
case TOGGLE_QUALITY:
actions.toggleQuality();
break;
case STOP_SOUNDS:
actions.stopSounds();
break;
case WAIT_FOR_FRAME:
actions.waitForFrame(in.readUI16(),rec.jumpLabel);
break;
case SET_TARGET:
actions.setTarget(in.readString());
break;
case GOTO_LABEL:
actions.gotoFrame(in.readString());
break;
case IF:
actions.ifJump(rec.jumpLabel);
break;
case JUMP:
actions.jump(rec.jumpLabel);
break;
case WAIT_FOR_FRAME_2:
actions.waitForFrame(rec.jumpLabel);
break;
case POP:
actions.pop();
break;
case PUSH:
parsePush(data.length,in);
break;
case ADD:
actions.add();
break;
case SUBTRACT:
actions.substract();
break;
case MULTIPLY:
actions.multiply();
break;
case DIVIDE:
actions.divide();
break;
case EQUALS:
actions.equals();
break;
case LESS:
actions.lessThan();
break;
case AND:
actions.and();
break;
case OR:
actions.or();
break;
case NOT:
actions.not();
break;
case STRING_EQUALS:
actions.stringEquals();
break;
case STRING_LENGTH:
actions.stringLength();
break;
case STRING_ADD:
actions.concat();
break;
case STRING_EXTRACT:
actions.substring();
break;
case STRING_LESS:
actions.stringLessThan();
break;
case MB_STRING_EXTRACT:
actions.substringMB();
break;
case MB_STRING_LENGTH:
actions.stringLengthMB();
break;
case TO_INTEGER:
actions.toInteger();
break;
case CHAR_TO_ASCII:
actions.charToAscii();
break;
case ASCII_TO_CHAR:
actions.asciiToChar();
break;
case MB_CHAR_TO_ASCII:
actions.charMBToAscii();
break;
case MB_ASCII_TO_CHAR:
actions.asciiToCharMB();
break;
case CALL:
actions.call();
break;
case GET_VARIABLE:
actions.getVariable();
break;
case SET_VARIABLE:
actions.setVariable();
break;
case GET_URL_2:
parseGetURL2(in.readUI8());
break;
case GOTO_FRAME_2:
actions.gotoFrame(in.readUI8() != 0);
break;
case SET_TARGET_2:
actions.setTarget();
break;
case GET_PROPERTY:
actions.getProperty();
break;
case SET_PROPERTY:
actions.setProperty();
break;
case CLONE_SPRITE:
actions.cloneSprite();
break;
case REMOVE_SPRITE:
actions.removeSprite();
break;
case START_DRAG:
actions.startDrag();
break;
case END_DRAG:
actions.endDrag();
break;
case TRACE:
actions.trace();
break;
case GET_TIME:
actions.getTime();
break;
case RANDOM_NUMBER:
actions.randomNumber();
break;
case INIT_ARRAY:
actions.initArray();
break;
case LOOKUP_TABLE:
parseLookupTable(in);
break;
case CALL_FUNCTION:
actions.callFunction();
break;
case CALL_METHOD:
actions.callMethod();
break;
case DEFINE_FUNCTION:
parseDefineFunction(in);
break;
case DEFINE_LOCAL_VAL:
actions.defineLocalValue();
break;
case DEFINE_LOCAL:
actions.defineLocal();
break;
case DEL_VAR:
actions.deleteProperty();
break;
case DEL_THREAD_VARS:
actions.deleteThreadVars();
break;
case ENUMERATE:
actions.enumerate();
break;
case TYPED_EQUALS:
actions.typedEquals();
break;
case GET_MEMBER:
actions.getMember();
break;
case INIT_OBJECT:
actions.initObject();
break;
case CALL_NEW_METHOD:
actions.newMethod();
break;
case NEW_OBJECT:
actions.newObject();
break;
case SET_MEMBER:
actions.setMember();
break;
case GET_TARGET_PATH:
actions.getTargetPath();
break;
case WITH:
parseWith(in);
break;
case DUPLICATE:
actions.duplicate();
break;
case RETURN:
actions.returnValue();
break;
case SWAP:
actions.swap();
break;
case REGISTER:
actions.storeInRegister(in.readUI8());
break;
case MODULO:
actions.modulo();
break;
case TYPEOF:
actions.typeOf();
break;
case TYPED_ADD:
actions.typedAdd();
break;
case TYPED_LESS_THAN:
actions.typedLessThan();
break;
case CONVERT_TO_NUMBER:
actions.convertToNumber();
break;
case CONVERT_TO_STRING:
actions.convertToString();
break;
case INCREMENT:
actions.increment();
break;
case DECREMENT:
actions.decrement();
break;
case BIT_AND:
actions.bitAnd();
break;
case BIT_OR:
actions.bitOr();
break;
case BIT_XOR:
actions.bitXor();
break;
case SHIFT_LEFT:
actions.shiftLeft();
break;
case SHIFT_RIGHT:
actions.shiftRight();
break;
case SHIFT_UNSIGNED:
actions.shiftRightUnsigned();
break;
default :
actions.unknown(code,data);
break;
}
}
}

protected void processRecords ( List records ) throws IOException { for ( Iterator enumerator = records . iterator ( ) ; enumerator . hasNext ( ) ; ) { ActionRecord rec = ( ActionRecord ) enumerator . next ( ) ; if ( rec . blockDepth < blockDepth ) { blockDepth -- ; actions . endBlock ( ) ; } if ( rec . label != null ) { actions . jumpLabel ( rec . label ) ; } int code = rec . code ; byte [ ] data = rec . data ; InStream in = ( data != null && data . length > 0 ) ? new InStream ( data ) : null ; switch ( code ) { case 0 : actions . end ( ) ; break ; case GOTO_FRAME : actions . gotoFrame ( in . readUI16 ( ) ) ; break ; case GET_URL : actions . getURL ( in . readString ( ) , in . readString ( ) ) ; break ; case NEXT_FRAME : actions . nextFrame ( ) ; break ; case PREVIOUS_FRAME : actions . prevFrame ( ) ; break ; case PLAY : actions . play ( ) ; break ; case STOP : actions . stop ( ) ; break ; case TOGGLE_QUALITY : actions . toggleQuality ( ) ; break ; case STOP_SOUNDS : actions . stopSounds ( ) ; break ; case WAIT_FOR_FRAME : actions . waitForFrame ( in . readUI16 ( ) , rec . jumpLabel ) ; break ; case SET_TARGET : actions . setTarget ( in . readString ( ) ) ; break ; case GOTO_LABEL : actions . gotoFrame ( in . readString ( ) ) ; break ; case IF : actions . ifJump ( rec . jumpLabel ) ; break ; case JUMP : actions . jump ( rec . jumpLabel ) ; break ; case WAIT_FOR_FRAME_2 : actions . waitForFrame ( rec . jumpLabel ) ; break ; case POP : actions . pop ( ) ; break ; case PUSH : parsePush ( data . length , in ) ; break ; case ADD : actions . add ( ) ; break ; case SUBTRACT : actions . substract ( ) ; break ; case MULTIPLY : actions . multiply ( ) ; break ; case DIVIDE : actions . divide ( ) ; break ; case EQUALS : actions . equals ( ) ; break ; case LESS : actions . lessThan ( ) ; break ; case AND : actions . and ( ) ; break ; case OR : actions . or ( ) ; break ; case NOT : actions . not ( ) ; break ; case STRING_EQUALS : actions . stringEquals ( ) ; break ; case STRING_LENGTH : actions . stringLength ( ) ; break ; case STRING_ADD : actions . concat ( ) ; break ; case STRING_EXTRACT : actions . substring ( ) ; break ; case STRING_LESS : actions . stringLessThan ( ) ; break ; case MB_STRING_EXTRACT : actions . substringMB ( ) ; break ; case MB_STRING_LENGTH : actions . stringLengthMB ( ) ; break ; case TO_INTEGER : actions . toInteger ( ) ; break ; case CHAR_TO_ASCII : actions . charToAscii ( ) ; break ; case ASCII_TO_CHAR : actions . asciiToChar ( ) ; break ; case MB_CHAR_TO_ASCII : actions . charMBToAscii ( ) ; break ; case MB_ASCII_TO_CHAR : actions . asciiToCharMB ( ) ; break ; case CALL : actions . call ( ) ; break ; case GET_VARIABLE : actions . getVariable ( ) ; break ; case SET_VARIABLE : actions . setVariable ( ) ; break ; case GET_URL_2 : parseGetURL2 ( in . readUI8 ( ) ) ; break ; case GOTO_FRAME_2 : actions . gotoFrame ( in . readUI8 ( ) != 0 ) ; break ; case SET_TARGET_2 : actions . setTarget ( ) ; break ; case GET_PROPERTY : actions . getProperty ( ) ; break ; case SET_PROPERTY : actions . setProperty ( ) ; break ; case CLONE_SPRITE : actions . cloneSprite ( ) ; break ; case REMOVE_SPRITE : actions . removeSprite ( ) ; break ; case START_DRAG : actions . startDrag ( ) ; break ; case END_DRAG : actions . endDrag ( ) ; break ; case TRACE : actions . trace ( ) ; break ; case GET_TIME : actions . getTime ( ) ; break ; case RANDOM_NUMBER : actions . randomNumber ( ) ; break ; case INIT_ARRAY : actions . initArray ( ) ; break ; case LOOKUP_TABLE : parseLookupTable ( in ) ; break ; case CALL_FUNCTION : actions . callFunction ( ) ; break ; case CALL_METHOD : actions . callMethod ( ) ; break ; case DEFINE_FUNCTION : parseDefineFunction ( in ) ; break ; case DEFINE_LOCAL_VAL : actions . defineLocalValue ( ) ; break ; case DEFINE_LOCAL : actions . defineLocal ( ) ; break ; case DEL_VAR : actions . deleteProperty ( ) ; break ; case DEL_THREAD_VARS : actions . deleteThreadVars ( ) ; break ; case ENUMERATE : actions . enumerate ( ) ; break ; case TYPED_EQUALS : actions . typedEquals ( ) ; break ; case GET_MEMBER : actions . getMember ( ) ; break ; case INIT_OBJECT : actions . initObject ( ) ; break ; case CALL_NEW_METHOD : actions . newMethod ( ) ; break ; case NEW_OBJECT : actions . newObject ( ) ; break ; case SET_MEMBER : actions . setMember ( ) ; break ; case GET_TARGET_PATH : actions . getTargetPath ( ) ; break ; case WITH : parseWith ( in ) ; break ; case DUPLICATE : actions . duplicate ( ) ; break ; case RETURN : actions . returnValue ( ) ; break ; case SWAP : actions . swap ( ) ; break ; case REGISTER : actions . storeInRegister ( in . readUI8 ( ) ) ; break ; case MODULO : actions . modulo ( ) ; break ; case TYPEOF : actions . typeOf ( ) ; break ; case TYPED_ADD : actions . typedAdd ( ) ; break ; case TYPED_LESS_THAN : actions . typedLessThan ( ) ; break ; case CONVERT_TO_NUMBER : actions . convertToNumber ( ) ; break ; case CONVERT_TO_STRING : actions . convertToString ( ) ; break ; case INCREMENT : actions . increment ( ) ; break ; case DECREMENT : actions . decrement ( ) ; break ; case BIT_AND : actions . bitAnd ( ) ; break ; case BIT_OR : actions . bitOr ( ) ; break ; case BIT_XOR : actions . bitXor ( ) ; break ; case SHIFT_LEFT : actions . shiftLeft ( ) ; break ; case SHIFT_RIGHT : actions . shiftRight ( ) ; break ; case SHIFT_UNSIGNED : actions . shiftRightUnsigned ( ) ; break ; default : actions . unknown ( code , data ) ; break ; } } }
description of the method
