public Studio() { InitializeComponent(); _steppingStatement = null; }
public void RemoveStatement( Statement statement ) { Debug.Assert( statement != null ); if( statement == null ) throw new ArgumentNullException( "statement" ); if( statement.Method != _currentMethod ) return; if( _rowMapping.ContainsKey( statement.Address ) == false ) return; Row row = _rowMapping[ statement.Address ]; switch( statement.Type ) { case StatementType.Current: if( row.Images.Contains( _statementIcon ) == true ) row.Images.Remove( _statementIcon ); break; case StatementType.Call: if( row.Images.Contains( _statementCallIcon ) == true ) row.Images.Remove( _statementCallIcon ); break; case StatementType.Dead: if( row.Images.Contains( _statementDeadIcon ) == true ) row.Images.Remove( _statementDeadIcon ); break; } _statements.Remove( statement.Address ); }
public void SetStatement( Statement statement ) { if( statement.Method != _currentMethod ) return; Debug.Assert( _rowMapping.ContainsKey( statement.Address ) == true ); if( _rowMapping.ContainsKey( statement.Address ) == false ) return; Row row = _rowMapping[ statement.Address ]; int icon; switch( statement.Type ) { default: case StatementType.Current: icon = _statementIcon; break; case StatementType.Call: icon = _statementCallIcon; break; case StatementType.Dead: icon = _statementDeadIcon; break; } row.Images.Add( icon ); }
public Statement AddStatement( StatementType type, Method method, int address ) { Statement statement = new Statement( type, method, address ); _statements.Add( statement.Address, statement ); this.SetStatement( statement ); return statement; }