bytecode instruction object
Inheritance: MultiByteAction
Example #1
0
        /// <summary>
        /// Read <see cref="SwfDotNet.IO.ByteCode.Actions.ActionPushList">ActionDefineFunction</see> from swf. 
        /// including inner actions
        /// </summary>
        private ActionDefineFunction ReadActionDefineFunction(BinaryReader br)
        {
            int start = Convert.ToInt32(br.BaseStream.Position);

            // read block length
            int len = Convert.ToInt32(br.ReadUInt16());

            string name = BinaryStringRW.ReadString(br);
            int numParams = Convert.ToInt32(br.ReadUInt16());
            string[] parameterList = new string[numParams];
            for (int i=0; i<numParams; i++) {
                parameterList[i] = BinaryStringRW.ReadString(br);
            }

            int blockSize = Convert.ToInt32(br.ReadUInt16());

            // read function body
            ArrayList InnerActions = ReadActions(br.ReadBytes(blockSize));
            ActionDefineFunction a = new ActionDefineFunction(name,parameterList,InnerActions);

            int end =Convert.ToInt32( br.BaseStream.Position );
            //a.ByteSize = end-start +1;

            return a;
        }