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>
Occurrences of `new String("...")` have been replaced with a direct reference
to the literal it was wrapping.
Change-Id: Iefb49a009f210db59e5724e0a232dba2e13292b1
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>
Also use HeuristicResolver in CContentAssistProcessor to determine more
accurately whether dot-to-arrow replacement should be performed.
Change-Id: If011d6797247acc41c9fdd705dd8f5fbcbce87a4
Notable improvements include:
- better handling of typedefs and reference types
- support for specialization of dependent lookup results
- support for nested templates
Change-Id: Id7b20e40bf31507b4e1743a7ae5898b1a85ade17
- Changed DeclarationGeneratorImpl to also consider the declarator for
template arguments instead of only the decl specifier.
- Adapted DeclarationGeneratorImpl to not add abstract pointer
.declarator for function type template arguments.
- Test case.
Change-Id: Iedec3e62f8234495003b74bfb463979e37c90bda
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>