diff options
author | Anton Leherbauer | 2010-03-01 09:21:40 +0000 |
---|---|---|
committer | Anton Leherbauer | 2010-03-01 09:21:40 +0000 |
commit | a4d55e01a4d96ba7c6033786ba6a28c5d9f13bd8 (patch) | |
tree | e39d14949ee43d24e732974f0bfd38edc80f6fb5 /dsf | |
parent | 45a77d5da417a2c78e45802a6eacd40e787e86e2 (diff) | |
download | org.eclipse.cdt-a4d55e01a4d96ba7c6033786ba6a28c5d9f13bd8.tar.gz org.eclipse.cdt-a4d55e01a4d96ba7c6033786ba6a28c5d9f13bd8.tar.xz org.eclipse.cdt-a4d55e01a4d96ba7c6033786ba6a28c5d9f13bd8.zip |
[302925] Clarify insertDisassembly() return value and align implementations
Diffstat (limited to 'dsf')
-rw-r--r-- | dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java index 57fb315ccc7..a978cc1a05a 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java @@ -559,16 +559,18 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL private boolean insertDisassembly(BigInteger startAddress, BigInteger endAddress, IInstruction[] instructions, boolean showSymbols, boolean showDisassembly) { if (!fCallback.hasViewer() || fDsfSessionId == null) { + // return true to avoid a retry return true; } if (DEBUG) System.out.println("insertDisassembly "+ DisassemblyUtils.getAddressText(startAddress)); //$NON-NLS-1$ assert fCallback.getUpdatePending(); if (!fCallback.getUpdatePending()) { // safe-guard in case something weird is going on + // return true to avoid a retry return true; } // indicates whether [startAddress] was inserted - boolean insertedStartAddress = false; + boolean insertedStartAddress = startAddress == null; try { fCallback.lockScroller(); @@ -651,8 +653,8 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL * an address the caller is hoping will be covered by this * insertion. I.e., [mixedInstructions] may or may not contain * that address; the caller wants to know if it does, and so we - * indicate that via our return value. Can be null or - * BigInteger(-1) to indicate n/a, in which case we return true + * indicate that via our return value. Can be null to indicate n/a, + * in which case we return true as long as any instruction was inserted * as long as any instruction was inserted * @param endAddress * cut-off address. Any elements in [mixedInstructions] that @@ -664,6 +666,7 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL */ private boolean insertDisassembly(BigInteger startAddress, BigInteger endAddress, IMixedInstruction[] mixedInstructions, boolean showSymbols, boolean showDisassembly) { if (!fCallback.hasViewer() || fDsfSessionId == null) { + // return true to avoid a retry return true; } if (DEBUG) System.out.println("insertDisassembly "+ DisassemblyUtils.getAddressText(startAddress)); //$NON-NLS-1$ @@ -671,10 +674,11 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL assert updatePending; if (!updatePending) { // safe-guard in case something weird is going on + // return true to avoid a retry return true; } // indicates whether [startAddress] was inserted - boolean insertedStartAddress = false; + boolean insertedStartAddress = startAddress == null; try { fCallback.lockScroller(); @@ -687,7 +691,7 @@ public class DisassemblyBackendDsf implements IDisassemblyBackend, SessionEndedL for (int j = 0; j < instructions.length; ++j) { IInstruction instruction = instructions[j]; BigInteger address= instruction.getAdress(); - if (startAddress == null || startAddress.compareTo(BigInteger.ZERO) < 0) { + if (startAddress == null) { startAddress = address; fCallback.setGotoAddressPending(address); } |