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>
Creates a single central CBuilder builder which find the C Build
Config and delegates the builds to it. That give configs full control
over the builds. Qt and CMake build configs are adapted to this new
structure.
More features are added to the default super class for configs.
Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
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>
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>
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: I769ceb6eaee18d183fb0e00fa0d730651f8a7edb
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
- drop-down doesn't cause Apply button to activate when
changing Connections from previous connection
- fix setting of default connectionName to avoid NPE
- move setting of connectionURI when user changes drop-down
- add check in isvalid() to verify image exists in connection
- reload images when changing connection and ignore parent images
Change-Id: I9dbc8828a6e6321e9cd1392d4e8c4dbdf2a954db
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
The use of toString().toEmpty() is a potential code smell, and has
identified a couple of places where this pattern could be optimised.
Change-Id: I1a37e62ed8546a48151a494e9f24fea46d9d2497
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
- Wait until binary file exists after building instead of sleep
- Replace waiting loop with waitUntil methods with bigger timeouts
- Replace menu detection with faster and more reliable method:
- Find menu items in specific shell
- Use waitUntil with small timeout to detect absent menu items
Change-Id: I5239fa5dab9e091936addf6ceb9ef05095d23bd3
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.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>
The implementation of `ToolReference::getToolCommand()` different from its
neighbours by checking if the `parent` was non-null. Change this so it looks for
the `parent` being null and swap the bodies of the `if` statement around to
maintain compatibility.
Change-Id: I8a188b350f94db9b1bd9d240b7a7320a930280a2
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>
Neon generified ListenerList so cleanup here too.
Change-Id: I569ddf79d4cc0e805da5083867f3c403aa6d79b9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
From JLS 15.27.1.
It is a compile-time error if a lambda parameter has the name _ (that
is, a single underscore character).
The use of the variable name _ in any context is discouraged. Future
versions of the Java programming language may reserve this name as a
keyword and/or give it special semantics.
Change-Id: I6f357dcc8f1eea933c6fc3afb474982e6d6210fe
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.
Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.
Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.
Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
During the testsuite refactoring that significantly improved the DSF
suite (Commit 528de33113) some info
was lost from the code. This resurrects those comments.
Change-Id: I0a11dee2dcabb0800306880fc7c6217374bc337a
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
MappingSourceContainerBrowser has long since replaced
with NewMappingSourceContainerBrowser.
PathMappingDialog has long since replaced
with MappingSourceContainerDialog.
Change-Id: I67bd6640d5e75608c9b3d616285914987ff38f98
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>