This is mostly to mitigate the effects of a bug in ProjectionViewer
(bug 509559). See the discussion in bug 507138 for details.
Change-Id: Icf36b54d6a11892f02214a168ef1c9c284478710
This patch also fixes a couple of other bugs related to syntax coloring of
macro expansions, which are exposed by this change (bug 490415, bug 496696).
Change-Id: I3c0030ff61e721e099dc50afc109dd44e37276a3
DisplayHelper is used to run the event loop until a condition is met
or until a maximum timeout is reached. This timeout varies between
hundreds of milliseconds to a few seconds. When the tests are running
on a machine that is known to be quite under load (Hudson), the
timeouts in the milliseconds are too optimistics as there can be a
lot of other things running at the same time on the machine.
This change adds a multipler (default 1) that can be controlled from
the maven command line, for example:
-Dorg.eclipse.cdt.ui.testplugin.DisplayHelper.TIMEOUT_MULTIPLIER=5
Change-Id: I9c1517ac2641768e8ae0f4508bf9a008931ef805
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Running maven with mvn clean install -Dindexer.timeout=123 doesn't
have any effect since tests to not inherit the VM args from Maven.
But we can pass those VM args manually in the pom.xml
Change-Id: I17b4aecdc422e3035e583b6d057c8487e7e41650
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
See the bug for lots more details. Short summary is to prevent project
from being deleted when indexer is still running to prevent the
deadlock.
Change-Id: Ie2523fcbacb3f8a15b43f107bd264069270c4028
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Renewed extract constant implementation, including some improvements to
its functionality:
- Extraction of unary/binary expression trees with literals as leafs
- Improved name suggestion for integers
- Improved existing name detection
- Selection is more forgiving (caret in literal is accepted as
selection)
Patchset 2: Fixed trailing whitespace
Patchset 3: Improved progress implementation, removed unnecessary
generic
arguments and changed legacy implementation of IndentifierHelper
Patchset 4: Position of split call & line wrapping
Change-Id: I49ddb8355217e82d56728cd2abe253a63937f379
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Renewed extract constant implementation, including some improvements to
its functionality:
- Extraction of unary/binary expression trees with literals as leafs
- Improved name suggestion for integers
- Improved existing name detection
- Selection is more forgiving (carret in literal is accepted as
selection)
Change-Id: I49ddb8355217e82d56728cd2abe253a63937f379
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
ChangeLog is an archaic format for identifying what has changed in a
project. Fortunately more powerful version control systems are capable
of generating this information and displaying information such as this
paragraph in order to determine what has changed in a project and when.
Change-Id: Ia71a05fa51869c1adb193d94f71c28b3b36beb37
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.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: I2634593603eef88dd68e127de9319377f43e7436
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
This is done by tracking the set of lookups of names in primary template
scopes performed during a heuristic resolution, and short-circuiting a
resoluton if the same lookup is attempted twice.
Change-Id: I512cdc9493d1ac91b1f77603d816a33312d4be00
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>
Replace all occurrences of `new String(expr)` with `expr` provided that the
`expr` is not a byte array or a char array.
Change-Id: Iecae801b83084908b60b9e146eba87550eac640d
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>