mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 16:56:04 +02:00
Changes to get some performances. The array of
events is passed instead of one at a time.
This commit is contained in:
parent
8cf78bf7d7
commit
b3f004b2a3
19 changed files with 274 additions and 244 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-03-17 Alain Magloire
|
||||
|
||||
Changes to get some performances. The array of
|
||||
events is passed instead of one at a time.
|
||||
|
||||
Affected files all the implement ICDIEventListener
|
||||
to many to enumerate.
|
||||
|
||||
2004-03-16 Alain Magloire
|
||||
|
||||
Make this class extends ICDIEventListener
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
package org.eclipse.cdt.debug.core;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.eclipse.cdt.core.model.CModelException;
|
||||
|
@ -17,6 +16,7 @@ import org.eclipse.cdt.debug.core.cdi.CDIException;
|
|||
import org.eclipse.cdt.debug.core.cdi.ICDIConfiguration;
|
||||
import org.eclipse.cdt.debug.core.cdi.ICDILocation;
|
||||
import org.eclipse.cdt.debug.core.cdi.ICDISessionObject;
|
||||
import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent;
|
||||
import org.eclipse.cdt.debug.core.cdi.event.ICDISuspendedEvent;
|
||||
import org.eclipse.cdt.debug.core.cdi.model.ICDIExpression;
|
||||
import org.eclipse.cdt.debug.core.cdi.model.ICDIMemoryBlock;
|
||||
|
@ -194,20 +194,23 @@ public class CDebugModel
|
|||
throw new DebugException( e.getStatus() );
|
||||
}
|
||||
|
||||
((CDebugTarget)target[0]).handleDebugEvent( new ICDISuspendedEvent()
|
||||
{
|
||||
public ICDISessionObject getReason()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
ICDIEvent[] events = new ICDIEvent[]
|
||||
{
|
||||
new ICDISuspendedEvent()
|
||||
{
|
||||
public ICDISessionObject getReason()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public ICDIObject getSource()
|
||||
{
|
||||
return cdiTarget;
|
||||
}
|
||||
|
||||
} );
|
||||
public ICDIObject getSource()
|
||||
{
|
||||
return cdiTarget;
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
((CDebugTarget)target[0]).handleDebugEvents( events );
|
||||
return target[0];
|
||||
}
|
||||
|
||||
|
@ -240,19 +243,23 @@ public class CDebugModel
|
|||
throw new DebugException( e.getStatus() );
|
||||
}
|
||||
|
||||
((CDebugTarget)target[0]).handleDebugEvent( new ICDISuspendedEvent()
|
||||
{
|
||||
public ICDISessionObject getReason()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public ICDIObject getSource()
|
||||
{
|
||||
return cdiTarget;
|
||||
}
|
||||
ICDIEvent[] events = new ICDIEvent[]
|
||||
{
|
||||
new ICDISuspendedEvent()
|
||||
{
|
||||
public ICDISessionObject getReason()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
} );
|
||||
public ICDIObject getSource()
|
||||
{
|
||||
return cdiTarget;
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
((CDebugTarget)target[0]).handleDebugEvents( events );
|
||||
|
||||
return target[0];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
package org.eclipse.cdt.debug.core;
|
||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||
|
||||
/*
|
||||
* (c) Copyright QNX Software System 2002.
|
||||
|
|
|
@ -19,5 +19,5 @@ public interface ICDIEventListener {
|
|||
*
|
||||
* @param event - the event
|
||||
*/
|
||||
void handleDebugEvent( ICDIEvent event );
|
||||
void handleDebugEvents(ICDIEvent[] event);
|
||||
}
|
||||
|
|
|
@ -187,27 +187,31 @@ public class CBreakpointManager implements ICBreakpointManager, ICDIEventListene
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source != null && source.getTarget().equals( getDebugTarget().getCDITarget() ) )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event instanceof ICDICreatedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source != null && source.getTarget().equals( getDebugTarget().getCDITarget() ) )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointCreatedEvent( (ICDIBreakpoint)source );
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointDestroyedEvent( (ICDIBreakpoint)source );
|
||||
}
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointChangedEvent( (ICDIBreakpoint)source );
|
||||
if ( event instanceof ICDICreatedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointCreatedEvent( (ICDIBreakpoint)source );
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointDestroyedEvent( (ICDIBreakpoint)source );
|
||||
}
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIBreakpoint )
|
||||
handleBreakpointChangedEvent( (ICDIBreakpoint)source );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@ import org.eclipse.cdt.debug.core.ICDebugger;
|
|||
import org.eclipse.core.boot.BootLoader;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||
|
||||
public class DebugConfiguration implements ICDebugConfiguration {
|
||||
/**
|
||||
|
|
|
@ -85,9 +85,9 @@ public class CArrayPartition extends CVariable
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -675,9 +675,10 @@ public class CDebugTarget extends CDebugElement
|
|||
protected void suspendThreads( ICDISuspendedEvent event )
|
||||
{
|
||||
Iterator it = getThreadList().iterator();
|
||||
ICDIEvent[] events = new ICDIEvent[] {event};
|
||||
while( it.hasNext() )
|
||||
{
|
||||
((CThread)it.next()).handleDebugEvent( event );
|
||||
((CThread)it.next()).handleDebugEvents( events );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1002,87 +1003,91 @@ public class CDebugTarget extends CDebugElement
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source == null && event instanceof ICDIDestroyedEvent )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
handleTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
else if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
if ( event instanceof ICDICreatedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source == null && event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleThreadCreatedEvent( (ICDICreatedEvent)event );
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
{
|
||||
getSharedLibraryManager().sharedLibraryLoaded( (ICDISharedLibrary)source );
|
||||
}
|
||||
handleTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
else if ( event instanceof ICDISuspendedEvent )
|
||||
else if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
if ( source instanceof ICDITarget || source instanceof ICDIThread )
|
||||
if ( event instanceof ICDICreatedEvent )
|
||||
{
|
||||
handleSuspendedEvent( (ICDISuspendedEvent)event );
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleThreadCreatedEvent( (ICDICreatedEvent)event );
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
{
|
||||
getSharedLibraryManager().sharedLibraryLoaded( (ICDISharedLibrary)source );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
else if ( event instanceof ICDISuspendedEvent )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
if ( source instanceof ICDITarget || source instanceof ICDIThread )
|
||||
{
|
||||
handleSuspendedEvent( (ICDISuspendedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIExitedEvent )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
handleExitedEvent( (ICDIExitedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIThread )
|
||||
else if ( event instanceof ICDIExitedEvent )
|
||||
{
|
||||
handleThreadTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleExitedEvent( (ICDIExitedEvent)event );
|
||||
}
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
getSharedLibraryManager().sharedLibraryUnloaded( (ICDISharedLibrary)source );
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleThreadTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
{
|
||||
getSharedLibraryManager().sharedLibraryUnloaded( (ICDISharedLibrary)source );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDisconnectedEvent )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
else if ( event instanceof ICDIDisconnectedEvent )
|
||||
{
|
||||
handleDisconnectedEvent( (ICDIDisconnectedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleDisconnectedEvent( (ICDIDisconnectedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
{
|
||||
getSharedLibraryManager().symbolsLoaded( (ICDISharedLibrary)source );
|
||||
}
|
||||
if ( source instanceof ICDISignal )
|
||||
{
|
||||
getSignalManager().signalChanged( (ICDISignal)source );
|
||||
}
|
||||
}
|
||||
if ( source instanceof ICDISharedLibrary )
|
||||
else if ( event instanceof ICDIRestartedEvent )
|
||||
{
|
||||
getSharedLibraryManager().symbolsLoaded( (ICDISharedLibrary)source );
|
||||
}
|
||||
if ( source instanceof ICDISignal )
|
||||
{
|
||||
getSignalManager().signalChanged( (ICDISignal)source );
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIRestartedEvent )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleRestartedEvent( (ICDIRestartedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleRestartedEvent( (ICDIRestartedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1318,7 +1323,8 @@ public class CDebugTarget extends CDebugElement
|
|||
CThread thread = findThread( (ICDIThread)event.getSource() );
|
||||
if ( thread != null && newThreads.contains( thread ) )
|
||||
{
|
||||
thread.handleDebugEvent( event );
|
||||
ICDIEvent[] evts = new ICDIEvent[]{event};
|
||||
thread.handleDebugEvents( evts );
|
||||
}
|
||||
}
|
||||
if ( reason instanceof ICDIEndSteppingRange )
|
||||
|
|
|
@ -89,25 +89,30 @@ public class CExpression extends CModificationVariable
|
|||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event.getSource() instanceof ICDITarget && getCDITarget().equals( event.getSource() ) )
|
||||
ICDIEvent event = events[i];
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
try
|
||||
if ( event.getSource() instanceof ICDITarget && getCDITarget().equals( event.getSource() ) )
|
||||
{
|
||||
setChanged( false );
|
||||
}
|
||||
catch( DebugException e )
|
||||
{
|
||||
CDebugCorePlugin.log( e );
|
||||
try
|
||||
{
|
||||
setChanged( false );
|
||||
}
|
||||
catch( DebugException e )
|
||||
{
|
||||
CDebugCorePlugin.log( e );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
super.handleDebugEvent(event);
|
||||
super.handleDebugEvents(events);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
|
|
@ -422,42 +422,46 @@ public class CFormattedMemoryBlock extends CDebugElement
|
|||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
return;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
continue;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
if ( source instanceof ICDITarget )
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
if ( source instanceof ICDITarget )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIMemoryChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIMemoryBlock && source.equals( getCDIMemoryBlock() ) )
|
||||
else if ( event instanceof ICDIMemoryChangedEvent )
|
||||
{
|
||||
handleChangedEvent( (ICDIMemoryChangedEvent)event );
|
||||
if ( source instanceof ICDIMemoryBlock && source.equals( getCDIMemoryBlock() ) )
|
||||
{
|
||||
handleChangedEvent( (ICDIMemoryChangedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIExpression && source.equals( fAddressExpression ) )
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
handleAddressChangedEvent( (ICDIChangedEvent)event );
|
||||
if ( source instanceof ICDIExpression && source.equals( fAddressExpression ) )
|
||||
{
|
||||
handleAddressChangedEvent( (ICDIChangedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIExpression && source.equals( fAddressExpression ) )
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
handleDestroyedEvent( (ICDIDestroyedEvent)event );
|
||||
if ( source instanceof ICDIExpression && source.equals( fAddressExpression ) )
|
||||
{
|
||||
handleDestroyedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,27 +62,30 @@ public class CGlobalVariable extends CModificationVariable
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
super.handleDebugEvent( event );
|
||||
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
return;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
super.handleDebugEvents( events );
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
continue;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
try
|
||||
if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
setChanged( false );
|
||||
}
|
||||
catch( DebugException e )
|
||||
{
|
||||
CDebugCorePlugin.log( e );
|
||||
try
|
||||
{
|
||||
setChanged( false );
|
||||
}
|
||||
catch( DebugException e )
|
||||
{
|
||||
CDebugCorePlugin.log( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,9 +104,9 @@ public class CSharedLibrary extends CDebugElement
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,9 +81,9 @@ public class CSignal extends CDebugElement implements ICSignal, ICDIEventListene
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -245,9 +245,9 @@ public class CStackFrame extends CDebugElement
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -418,52 +418,56 @@ public class CThread extends CDebugElement
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
if ( isDisposed() )
|
||||
return;
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source == null )
|
||||
return;
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event instanceof ICDISuspendedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if ( source == null )
|
||||
continue;
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
if ( ( source instanceof ICDIThread && getCDIThread().equals( (ICDIThread)source ) ) ||
|
||||
source instanceof ICDITarget )
|
||||
if ( event instanceof ICDISuspendedEvent )
|
||||
{
|
||||
// if ( !(((ICDISuspendedEvent)event).getReason() instanceof ICDISharedLibraryEvent && applyDeferredBreakpoints()) )
|
||||
handleSuspendedEvent( (ICDISuspendedEvent)event );
|
||||
if ( ( source instanceof ICDIThread && getCDIThread().equals( (ICDIThread)source ) ) ||
|
||||
source instanceof ICDITarget )
|
||||
{
|
||||
// if ( !(((ICDISuspendedEvent)event).getReason() instanceof ICDISharedLibraryEvent && applyDeferredBreakpoints()) )
|
||||
handleSuspendedEvent( (ICDISuspendedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
if ( ( source instanceof ICDIThread && source.equals( getCDIThread() ) ) )
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
if ( ( source instanceof ICDIThread && source.equals( getCDIThread() ) ) )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIThread )
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
handleTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleTerminatedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDisconnectedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIThread )
|
||||
else if ( event instanceof ICDIDisconnectedEvent )
|
||||
{
|
||||
handleDisconnectedEvent( (ICDIDisconnectedEvent)event );
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleDisconnectedEvent( (ICDIDisconnectedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIThread )
|
||||
else if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
if ( source instanceof ICDIThread )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
*/
|
||||
package org.eclipse.cdt.debug.internal.core.model;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
|
||||
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
|
||||
|
@ -581,33 +580,37 @@ public abstract class CVariable extends CDebugElement
|
|||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(ICDIEvent)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent( ICDIEvent event )
|
||||
public void handleDebugEvents( ICDIEvent[] events )
|
||||
{
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
return;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
for (int i = 0; i < events.length; i++)
|
||||
{
|
||||
if ( event instanceof ICDIChangedEvent )
|
||||
ICDIEvent event = events[i];
|
||||
ICDIObject source = event.getSource();
|
||||
if (source == null)
|
||||
continue;
|
||||
|
||||
if ( source.getTarget().equals( getCDITarget() ) )
|
||||
{
|
||||
if ( source instanceof ICDIVariable && isSameVariable( (ICDIVariable)source ) )
|
||||
if ( event instanceof ICDIChangedEvent )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
if ( source instanceof ICDIVariable && isSameVariable( (ICDIVariable)source ) )
|
||||
{
|
||||
handleChangedEvent( (ICDIChangedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
if ( source instanceof ICDIVariable && isSameVariable( (ICDIVariable)source ) )
|
||||
else if ( event instanceof ICDIDestroyedEvent )
|
||||
{
|
||||
handleDestroyedEvent( (ICDIDestroyedEvent)event );
|
||||
if ( source instanceof ICDIVariable && isSameVariable( (ICDIVariable)source ) )
|
||||
{
|
||||
handleDestroyedEvent( (ICDIDestroyedEvent)event );
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
}
|
||||
}
|
||||
else if ( event instanceof ICDIResumedEvent )
|
||||
{
|
||||
handleResumedEvent( (ICDIResumedEvent)event );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2004-03-17 Alain Magloire
|
||||
|
||||
Changes pass the array of events instead
|
||||
of one at a time
|
||||
|
||||
* cdi/org/eclipse/cdt/debug/mi/core/cdi/EventManager.java
|
||||
* cdi/org/eclipse/cdt/debug/mi/core/cdi/Manager.java
|
||||
|
||||
2004-03-16 Tanya Wolff
|
||||
|
||||
Marked strings in src as non-translatable
|
||||
|
|
|
@ -234,23 +234,11 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
|||
* Send ICDIEvent to the listeners.
|
||||
*/
|
||||
private void fireEvents(ICDIEvent[] cdiEvents) {
|
||||
if (cdiEvents != null) {
|
||||
for (int i = 0; i < cdiEvents.length; i++) {
|
||||
fireEvent(cdiEvents[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send ICDIEvent to the listeners.
|
||||
*/
|
||||
private void fireEvent(ICDIEvent cdiEvent) {
|
||||
if (cdiEvent != null) {
|
||||
ICDIEventListener[] listeners =
|
||||
(ICDIEventListener[])list.toArray(new ICDIEventListener[0]);
|
||||
if (cdiEvents != null && cdiEvents.length > 0) {
|
||||
ICDIEventListener[] listeners = (ICDIEventListener[])list.toArray(new ICDIEventListener[0]);
|
||||
for (int i = 0; i < listeners.length; i++) {
|
||||
listeners[i].handleDebugEvent(cdiEvent);
|
||||
}
|
||||
listeners[i].handleDebugEvents(cdiEvents);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -48,17 +48,9 @@ public abstract class Manager extends SessionObject implements ICDIManager {
|
|||
public abstract void update() throws CDIException;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent[])
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvents(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent[])
|
||||
*/
|
||||
public void handleDebugEvent(ICDIEvent[] events) {
|
||||
for (int i = 0; i < events.length; i++) {
|
||||
handleDebugEvent(events[i]);
|
||||
}
|
||||
public void handleDebugEvents(ICDIEvent[] events) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener#handleDebugEvent(org.eclipse.cdt.debug.core.cdi.event.ICDIEvent)
|
||||
*/
|
||||
public void handleDebugEvent(ICDIEvent event) {
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue