Added new checker for variable masking another in a parent scope
Change-Id: Icff6b6499a1d38cc5a719d143552bbe17d57b15c
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Checker checks for multiple declarations on one line and
static variables defined in header files.
Change-Id: Ibc9670ee129e9bdd3ea58ac5409493fd99c4a234
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
We have the "universal resolution" in an ArrayList and they are used as
single instances. So what can happen here is that we add the same
universal resolution instance multiple times for several markers.
However this approach can't work because a "marker resolution" is
designed to fix a single problem. Indeed the last marker analyzed
override the previous one in the single "universal resolution" instance,
so what we have is N proposals pointing to the same resolution where the
problem description is just the latest one. To solve the problem we
instantiate the universal resolution multiple times.
Change-Id: I072ca0b4dabff9781d6230a218eeb7dd388c648d
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Rules used:
1) Default is right alignment to be compliant with built-in formatter
rules;
2) Pointer with declarator without name will be always left alignment
unless there's a nested declarator;
3) Return value of methods/functions is always left alignment;
4) If left alignment is selected, if space after comma is selected too
for a declaration list, space is always forced after the comma.
Change-Id: I82d5ad130e665e5357644cc59655a558f3fb732f
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
With just a reference of the field even for another instance of the
same class the warning wasn't provided to the user.
Change-Id: Icb6ca008c2e61b8a762ecf31e4514cb0368c477d
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Added check in control flow graph to check if a function
has noreturn attribute.
Change-Id: Ieaa5984a337493e3aac12c0f6fbeeb91a754358b
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
The previous alignment of all the warnings/ignores
led to too many warnings that weren't there before. This
commit relaxes them a bit.
The core/org.eclipse.cdt.core/.settings/org.eclipse.jdt.core.prefs
is still the "master" copy, with
releng/scripts/check_code_cleanliness.sh containing the
exceptions that apply to test plug-ins.
Change-Id: Ibd4e31ade0b42b31e7cbe5a94f06c6fc15183a56
These were inserted in the past automatically by Eclipse but
newer tooling makes them redundant.
These were removed by doing a global find/replace on *.java files
using the following regular expression:
\t/\*\n\t \* \(non-Javadoc\)[^/]*/\n
Change-Id: I59d3248020f10934fde1dda5b5a31e20bb188e19
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Remove redundant type arguments
and completing the wizard
Change-Id: Iaecc7010f097b4b1fabd29ccaa34ccb23a716fbf
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Add missing Annotations - and selecting all three types:
- @Override
- @Override on interface methods
- @Deprecated
and completing the wizard
Change-Id: I5d367dacb04327107f25e147edc08efc4eb1c2fe
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Organize Imports
and completing the wizard
Change-Id: Ia7b305a4c967d0e6f4e8fb8c1041e7028b24006c
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Format source code
- Remove trailing white spaces on all lines
and completing the wizard
Change-Id: I63685372c6bcc67719bcf145123bcb72e5b00394
The releng/scripts/apply_jdt_prefs_to_all_projects.sh was run to
copy standard settings to all other projects.
Change-Id: I4436c947d7f0142f56b709e661379c3eb54f666b
There is also a new script to verify completeness of .gitattributes:
releng/scripts/verify_gitattributes.sh
Change-Id: I2ce270852ab54b66b6c474a6ec94203fe5bba78b
As part of this change, ReturnChecker was refactored to compute the
return type as an IType, which allowed for removal of some logic in
ReturnChecker which duplicated CPPVisitor's type resolution work.
Change-Id: I9cd8512164d650a5ee11d2e58fdae477e3c428a2
Add handling of constructor/destructor attributes and some improvement
when functions were previously declared but not defined as used.
Change-Id: I7537bc87c6c4bc5b294d8e15fe5b42c92b3f2974
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
- Fixed delegating constructor resolution for templated classes in
ClassMembersInitializationChecker
- Added a unit test for this bug
Change-Id: Idb072ec05e66e0f10af53db8258459ad14f7f329
Signed-off-by: Bassem Girgis <brgirgis@gmail.com>
When the lsp4e-cpp plugin is present, two content types are associated with
.cpp extension. The lsp4e-cpp one is chosen because it happens to be first.
Normally, the CDT C++ content type gets its priority boosted when the C++
project nature is present. Some Codan tests run on .cpp files but without
the C++ project nature so the files are of wrong content type and the tests
fail. Once the nature is fixed, some tests were failing because they should
run on C files but loadCode was not loading them as C++ files because of the
project nature.
Change-Id: I61b77d409e81c3cf78e60adf0c77a9bf976ac9d5
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
The original implementation used plain-text string manipulation of the
IDocument. This changeset changes the implementation to make use of the
ASTRewrite infrastructure, which automatically honors the const
placement setting.
Change-Id: Ib5ae9381b93ca8ab4d1ad3e16b1c3c8b1ec62d78
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>