1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Do not interrupt the initialization of all additional source locations if the initialization of one fails.

This commit is contained in:
Mikhail Khodjaiants 2003-10-20 22:29:41 +00:00
parent 7cfb47c220
commit 2767f3a948
2 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2003-10-20 Mikhail Khodjaiants
Do not interrupt the initialization of all additional source locations
if the initialization of one fails.
* CSourceLocator.java
2003-10-17 Alain Magloire 2003-10-17 Alain Magloire
ICDIBreakpointManager new method ICDIBreakpointManager new method

View file

@ -37,6 +37,7 @@ import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.model.IPersistableSourceLocator; import org.eclipse.debug.core.model.IPersistableSourceLocator;
@ -406,6 +407,10 @@ public class CSourceLocator implements ICSourceLocator, IPersistableSourceLocato
{ {
ClassLoader classLoader = CDebugCorePlugin.getDefault() .getDescriptor().getPluginClassLoader(); ClassLoader classLoader = CDebugCorePlugin.getDefault() .getDescriptor().getPluginClassLoader();
MultiStatus status = new MultiStatus( CDebugCorePlugin.getUniqueIdentifier(),
CDebugCorePlugin.INTERNAL_ERROR,
"Error initializing directory source location.",
null );
NodeList list = root.getChildNodes(); NodeList list = root.getChildNodes();
int length = list.getLength(); int length = list.getLength();
for ( int i = 0; i < length; ++i ) for ( int i = 0; i < length; ++i )
@ -450,11 +455,20 @@ public class CSourceLocator implements ICSourceLocator, IPersistableSourceLocato
CDebugCorePlugin.log( "Unable to restore source location." ); CDebugCorePlugin.log( "Unable to restore source location." );
continue; continue;
} }
location.initializeFrom( data ); try
sourceLocations.add( location ); {
location.initializeFrom( data );
sourceLocations.add( location );
}
catch( CoreException e )
{
status.addAll( e.getStatus() );
}
} }
} }
} }
if ( status.getSeverity() > IStatus.OK )
throw new CoreException( status );
} }
private void addOldLocations( Element root, List sourceLocations ) throws CoreException private void addOldLocations( Element root, List sourceLocations ) throws CoreException