Package tv.porst.swfretools.parser.actions.as3

Source Code of tv.porst.swfretools.parser.actions.as3.AS3CallmethodParser

package tv.porst.swfretools.parser.actions.as3;

import static tv.porst.swfretools.parser.SWFParserHelpers.parseUINT8;
import tv.porst.splib.binaryparser.UINT8;
import tv.porst.swfretools.parser.SWFBinaryParser;
import tv.porst.swfretools.parser.SWFParserException;
import tv.porst.swfretools.parser.structures.EncodedU30;
import tv.porst.swfretools.parser.structures.EncodedU30Parser;

/**
* Parses ActionScript 3 'callmethod' instructions.
*/
public final class AS3CallmethodParser {

  public static AS3Callmethod parse(final SWFBinaryParser parser, final String fieldName) throws SWFParserException {

    final UINT8 opcode = parseUINT8(parser, 0x00006, fieldName + "::opcode");
    final EncodedU30 index = EncodedU30Parser.parse(parser, fieldName + "::index");
    final EncodedU30 argCount = EncodedU30Parser.parse(parser, fieldName + "::arg_count");

    return new AS3Callmethod(opcode, index, argCount);
  }

}
TOP

Related Classes of tv.porst.swfretools.parser.actions.as3.AS3CallmethodParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.