internal BytecodeEnumerator(Tag tag) { this.tag = tag; this.index = -1; }
internal BytecodeHolder(Tag t) { tag = t; }
internal Tag ReadTag() { long posBefore = SWFBinary.BaseStream.Position; RecordHeader rh = new RecordHeader(); rh.ReadData(SWFBinary); int offset = (int)(SWFBinary.BaseStream.Position - posBefore); SWFBinary.BaseStream.Position = posBefore; Tag resTag = null; switch (rh.TagCode) { case (int)TagCodes.DoABC: resTag = new DoABC(); break; case (int)TagCodes.End: resTag = new End(); break; default: resTag = new Tag(SWFBinary.ReadBytes(System.Convert.ToInt32(rh.TagLength + offset))); break; } resTag.ReadData(SWFVersion, SWFBinary); return resTag; }