In non-stop mode, when the last thread of a process is resumed, the
corresponding process node icon, in the Debug View, is updated to the
"running process" one. However the node was not being automatically
refreshed, and so still showed the previous "suspended process" icon.
This fix adds the necessary Delta to refresh the process node when a
IResumedDMEvent is received.
Change-Id: Ie7d2b6aef9ae7f5906e4b54470f74ee238e13ef5
This will allow us to eventually take action (like prepare the console)
as soon as the user adds a new inferior using the gdb console and the
command add-inferior.
Change-Id: I24ff380b8442de6a88e3caa0fe6832e90e83ac99
Solaris Sparc support was removed in SWT therefore it cannot be
supported by CDT anymore.
Change-Id: Ic40f55632023fd77fd164d3e48b5ca06835c3a31
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
When a viewportChanged event and a setActive event arrived at the same
following a debug context change the two event handlers would cancel
each other out.
Change-Id: I07a8d0ff46e4ea4f4ab682a5311650fca021d75b
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Eclipse warns if a String literal does not have a `//$NON-NLS-<n>$`
entry at the end of the line. However, for historic or formatting
reasons, many such occurrences in the CDT source have an intermediate
whitespace, such as `// $NON-NLS-<n>$`
Fix these so that the whitespace is removed between the // and $
characters.
Change-Id: Idc12398fe6e9d619af1d0b1b73fb8b6180da223c
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
When using a `StringBuilder` or `StringBuffer` to create a string message,
using implicit string concatenation inside an `.append()` call will
create a nested StringBuilder for the purposes of creating the arguments,
which will subsequently be converted to a String and then passed to
the outer StringBuilder.
Skip the creation of the intermediate object and String by simply
replacing such calls with `buffer.append(a).append(b)`.
Where values are compile time String constants, leave as is so
that the javac compiler can perform compile-time String concatenation.
Ensure that NEWLINE isn't appended in such a way since it is not
a compile time constant `System.getProperty("line.separator")`
Change-Id: I4126aefb2272f06b08332e004d7ea76b6f02cdba
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.
Change-Id: Ic2f50c5b6f3c3a4eae301bb3b40fb6faed235f79
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
In many cases a String's empty status is tested with `.equals("")`.
However, Java 1.6 added `.isEmpty()` which can be more efficient since
it compares the internal length parameter only for testing. Replace
code using the `.isEmpty()` variant instead.
Some tests for `"".equals(expr)` can be replaced with `expr.isEmpty()`
where it is already known that the `expr` is not null; however,
these have to be reviewed on a case-by-case basis.
Change-Id: I3c6af4d8b7638e757435914ac76cb3a67899a5fd
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Occurrences of `new String()` have been replaced with the equivalent `""` and
additional NON-NLS tags have been inserted in where appropriate.
Change-Id: I54cf71dcd0d5a92a675a71166d66949533de502b
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.
Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.
Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
When using memory spaces, a backend may sometimes qualify an address
to specify the memory space to which the address belongs. However, to
minimize impacts, the memory space qualifier may not always be present.
In such cases, the address is implied to belong to the "default" memory
space.
DSF-GDB currently has no means to know what is the "default" memory
space to apply in such cases.
This change introduces a new API to request the default memory space
from the memory service.
Change-Id: Icea87543b8529756aee92c6d2af95fb936f5fb9c
When an address is resolved from an expression, the resulting address
may carry a memory space provided by the backend to associate
this address to a particular memory space.
The current interface for the memory space service (e.g.
IMemorySpaces2) can be used to parse the memory space contained in the
expression.
This update adds:
1) A new API method to resolve the memory space of an
IExpressionDMAddress instance
2) The use of the memory space service to attempt to resolve the memory
space.
Note: if there is no memory space service, the memory space defaults to
an empty string, which does not affect the default behaviour i.e.
when memory spaces are not used.
Change-Id: Idfe5669b26f84ee4e3e78f96f229ced75e6ec5c3
Before calling setEnabled on the ToolItem check if it is disposed. If
thats the case, do nothing, else enable the ToolItem.
Bug: 487920
Change-Id: I1f7b9e0da7f07b2b49e3176e162b9ffb7968439b
Signed-off-by: Martin Schreiber <m.schreiber@bachmann.info>
Includes:
- CSourceLookupParticipant only did one useful thing (For DSF). When the
object being looked up is a String, as is the case when disassembly
view/editor is doing a lookup, the CSourceLookupParticipant would be the
one to do the resolution. Updated
DsfSourceLookupParticipant.getSourceName to be able to handle a String
- Changed super of DsfSourceLookupParticipant to
AbstractSourceLookupParticipant, saves duplicate code, and adds comment
about what is different about findSourceElements
- a previously missing test for an unusual case (no containers)
- Some of these methods that are only part of CDI have been
marked as such for eventual removal in Bug 484900
Change-Id: I9954b4469e9db9cb46eb117f3beba9e01634689b
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This fix follows on from af49d7701a and
redoes the generification changes brought on by the AbstractDocument
changes for Neon M4.
The earlier fix (af49d77) made a copy of the list to work around the
casting problem, however many of the methods that work on the positions
expected access to the real list, not a copy.
For example, consider addModelPositionFirst(), it gets the
CATEGORY_MODEL list and then adds to it. If getAddressRangePositions
returned a copy, then the wrong list would be updated.
Change-Id: I36ca589ba748b66541c632182aceaf0b0b64aea4
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
A new command, ShowVersionHandler, has been added to the plug-in to
demonstrate all the pieces that need to be put in place to connect
a command to a DSF session.
Change-Id: Iefde0ba144c12ce2e580da7717b390258c0d3675
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Revert "Bug 460760: Fix DsfSourceDisplayAdapter.openEditor to avoid
ignoring editor id set in SourceLookupResult "
This reverts commit 2af7d6d592.
Change-Id: I0f2694605f95007ad1feac9a126365958d732bd4
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Fixed two FindBugs problems: (1) doing Math.abs(random.nextInt()) (which
may be negative if nextInt() returns Integer.MIN_VALUE), and (2)
creating a new Random() object for each nextInt() invocation.
Change-Id: I037a8f6c6c875c951a20beb315c54dc3759c963f
Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
instructions
- set update pending to false when received a late disasm result and no
context is available.
- add some trace messages helping trace the issue
Change-Id: Ia0a98ef283e871d12de4f50bad89a8d2f4e4c887
Signed-off-by: Teodor Madan <teodor.madan@freescale.com>