1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-04 14:55:41 +02:00

Additional documentation

This commit is contained in:
John Cortell 2009-10-06 16:38:11 +00:00
parent 7c9a32d8e9
commit 9d137a3c63

View file

@ -262,7 +262,7 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
* Optimization 1: If the first-level child node does not have * Optimization 1: If the first-level child node does not have
* <code>IModelDelta.CONTENT</code> but one of its descendants does, then * <code>IModelDelta.CONTENT</code> but one of its descendants does, then
* for optimization reasons we return <code>IModelDelta.STATE</code> * for optimization reasons we return <code>IModelDelta.STATE</code>
* instead. * instead. See {@link DefaultVMModelProxyStrategy#buildChildDeltasForAllContexts(IVMNode, Object, VMDelta, int, RequestMonitor)}
* *
* Optimization 2: If the parent delta contains * Optimization 2: If the parent delta contains
* <code>IModelDelta.CONTENT</code>, we do not need to specify it for its * <code>IModelDelta.CONTENT</code>, we do not need to specify it for its
@ -500,11 +500,15 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
return; return;
} }
// Check if the child delta only has an IModelDelta.STATE flag. // Check if the child delta only has an IModelDelta.STATE flag. If
// If that's the case, we can skip creating a delta for this node, // that's the case, we can skip creating a delta for this node, because
// because the TreeUpdatePolicy does not use the full path from the // the Debug Platform's handling of that flag does not require ancestor
// delta to handle these flags. Similarly, the index argument is // deltas (doesn't need to know the path to the element)
// not necessary either. //
// We can skip the delta for this node even if a deeper IVMNode child
// calls for an IModelDelta.CONTENT flag, since what we do in that case
// is have the CONTENT flag applied to the first ancestor delta that has
// something other than IModelDelta.STATE.
// //
// For example: suppose the model looks like: // For example: suppose the model looks like:
// A- // A-
@ -517,7 +521,8 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy {
// |-III // |-III
// |-d // |-d
// //
// And if VM Node responsible for element a, b, c, d needs a CONTENT update, then the delta may look like this: // And if VM Node responsible for element a, b, c, d needs a CONTENT
// update, then the delta may look like this:
// //
// Element: A // Element: A
// Flags: CONTENT // Flags: CONTENT