public override void ReParseCode()
{
// TODO: This code only follows code flow rudimentarily. It does not create
// a valid _Code member. To do this, there needs to be logic that determines
// the relative position of the new jump target.
//
throw new NotImplementedException("sucks");
// remove this comment if parsing is enables for this tag
//_dataStream.Seek( CodeOffset, SeekOrigin.Begin );
//this._code = null;
//AVM1InstructionSequence seq = new AVM1InstructionSequence();
//BinaryReader br = new BinaryReader( _dataStream );
//long startPosition = br.BaseStream.Position;
//bool done = false;
//do
//{
// AbstractAction action = null;
// bool wasValid = false;
// //
// // remember position before and read the opcode byte
// //
// long currentPosition = br.BaseStream.Position;
// try
// {
// try
// {
// action = AVM1Factory.Create( br, this.Version );
// //seq.Add( action );
// Log.DebugFormat( "{0:d} 0x{1:X08} {2}", seq.Count - 1, currentPosition, action.ToString() );
// wasValid = true;
// }
// catch ( AVM1Exception )
// {
// br.BaseStream.Seek( currentPosition, SeekOrigin.Begin );
// byte opcode = br.ReadByte();
// Log.DebugFormat( "Invalid opcode 0x{0:X02} at stream position 0x{1:X08}", opcode, currentPosition );
// wasValid = false;
// }
// }
// catch ( IOException e )
// {
// Log.Error(this, e );
// SwfFormatException swfe = new SwfFormatException( "Code flow leaves Tag data block through missing ActionEnd" );
// throw swfe;
// }
// if ( wasValid )
// {
// if ( action.IsBranch )
// {
// try
// {
// br.BaseStream.Seek( currentPosition + action.BranchTargetAdjusted, SeekOrigin.Begin );
// }
// catch ( IOException e )
// {
// Log.Error(this, e );
// SwfFormatException swfe = new SwfFormatException( "Code flow leaves Tag data block through branch" );
// throw swfe;
// }
// Log.DebugFormat( "Next instruction 0x{0:X08} -> {1:X08}", currentPosition, br.BaseStream.Position );
// }
// }
// else
// {
// br.BaseStream.Seek( currentPosition, SeekOrigin.Begin );
// byte opcode = br.ReadByte();
// if ( 0 != ( 0x80 & opcode ) )
// {
// //
// // Read length
// //
// try
// {
// UInt16 length = br.ReadUInt16();
// br.BaseStream.Seek( currentPosition + length, SeekOrigin.Begin );
// }
// catch ( IOException e )
// {
// Log.Error(this, e );
// SwfFormatException swfe = new SwfFormatException( "Code flow leaves Tag data block through undocumented opcode" );
// throw swfe;
// }
// }
// Log.DebugFormat( "Next instruction 0x{0:X08} -> {1:X08}", currentPosition, br.BaseStream.Position );
// }
// if ( wasValid && ( action.ActionType == AVM1Actions.ActionEnd ) )
// done = true;
//} while ( !done );
}