1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

809 commits

Author SHA1 Message Date
Nathan Ridge
33d33a8cd6 Bug 525350 - Ensure a lookup point is always set during indexing, code analysis, and code completion
Also push a more accurate lookup point in a few places.

Change-Id: I635569178d8d9afd23f7782aeebdaed714f1a10d
2017-10-03 22:23:09 -04:00
Nathan Ridge
64709c980d Bug 513105 - Store the current lookup point in a thread-local static stack rather than passing it around everywhere
Change-Id: I3da7326d1ce6bede8d4787d98f38fb2064288338
2017-09-25 12:51:22 -04:00
Nathan Ridge
bd6da0b03d Bug 486082 - Have ProblemBindingChecker report errors of type IProblemBinding.SEMANTIC_INVALID_TYPE
Change-Id: I58f27a8783ea0dca53da5b45c2da11c6623892fd
2017-06-19 00:26:59 -04:00
Thomas Corbat
7376388a94 Bug 517405 - Marker refresh causes editor to open
Changed isApplicable to not retrieve the TU from the editor if it is not
open. Applying the quick fix will still open the editor.

Change-Id: Ib328ffa2054145eda8b2e72fe646fca2e7fc7905
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2017-05-30 09:29:48 +02:00
Nathan Ridge
cacb84e277 Bug 514423 - Ensure CodanCReconciler is installed on editors from all windows
Change-Id: I323a78fc1bd3a43270e27be7eb21c13f5a85de9f
2017-05-29 13:18:28 -04:00
Jeff Johnston
aab8c277ac Fix Codan quick-fixes
- remove plugin.properties
- move fix-it regexes to bundle.properties

Change-Id: I6d389a12348e35d98c25ae18ca4026e03ea3e41d
2017-05-26 16:35:27 -04:00
Nathan Ridge
60503efc58 Bug 512932 - Improve type checking of GCC builtins
Specifically, this patch:

  - Adds support for a new builtin, __builtin_assume_aligned.

  - Models __builtin_constant_p as a function instead of a macro.
    This inhibits constexpr evaluation, but allows for correct
    type-checking.

  - Diagnoses misuses of known builtins, instead of ingoring them like
    unknown builtins.

Change-Id: Ie5a26f2010dc5b19e6f32a8c6a1237fe88da393e
2017-05-08 23:04:17 -04:00
Rolf Bislin
a583190f52 Bug 514685 - codan: handle fallthrough attribute
and provide quickfix for adding fallthrough attribute
and add JUnit Tests
and add StandardAttributes class

Change-Id: I8cf0238771dc92bd1784b9dfb35a680d078b1db6
Depends-On: Ic09aa96f896b0a5dd998156e05930704775f695b
Signed-off-by: Rolf Bislin <romibi@bluewin.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2017-05-08 13:25:15 -04:00
Alena Laskavaia
32c2e14b80 Fixed copyright
Change-Id: I801f28d73afeba8432283eb9b5e8de3fa9b47a32
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2017-05-02 12:41:40 -04:00
Thomas Corbat
db6790d824 Bug 515814 Copyright header for CaseBreakQuickFixCommentTest
Associated with Bug 515814


Change-Id: Id32b0e8a77a774ff8922aa289a457e4f63434ecd
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2017-05-01 10:09:14 +02:00
romibi
525d8a23fb Bug 515814 - codan: add missing JUnit Test
Change-Id: I626811b33ed09bb07c947c1c491b2c04e282232b
Signed-off-by: romibi <romibi@bluewin.ch>
2017-04-26 11:35:25 -04:00
Jeff Johnston
795a90288b Bug 497670 - Support compiler provided "fix-it" hints
- add new FixitErrorParser that extends RegexErrorParser and is
  used to replace the error parser for GNUCErrorParser
- add new FixManager class to bind a fixit message with its
  problem marker
- modify ProblemMarkerFilterManager to register the last
  accepted ProblemMarkerInfo for a particular resource so
  the FixitErrorParser can find the last error marker for
  the file that precedes the fixit message
- FixitErrorParser looks for fix-it messages and binds them
  via FixitManager to the last error marker for the file
- add new Fixit class to contain the details of a gcc fix-it
- add new QuickFixForFixit which applies the gcc fix-it for the
  file
- add new (.*) regex in codan.ui.checkers patterns that will
  trigger before any other error and will look for the
  fix-it message format
- change cdt.core to expose cdt.internal.errorparsers to
  codan.checkers.ui
- change codan.core to expose codan.internal.core.model to
  codan.checkers.ui
- fix CDocumentProvider.setOverlay method to not overlay
  a CMarkerAnnotation that has a quick fix
- when deleting all C problem markers, also make a call
  to FixManager.deleteAllMarkers() so markers aren't
  left referenced

Change-Id: Ibf8ff7d8addb1bf092dc4ef35de0d92de0309589
2017-04-17 20:01:27 -04:00
Marc-Andre Laperle
0046099052 releng: Make use of Tycho POM-less functionality
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.

- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
  - One for UI tests (UI present and start in UI thread)
  - One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations

Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-13 23:19:56 -04:00
Jeff Johnston
7d0117d24e Bug 511229 - RFE: Add quick fixes for some basic gcc errors
- change codanMarkerResolution schema to support translatable
  regex statements for matching
- bump cdt.codan.ui version
- add additional codanMarkerResolution extensions to codan.checkers.ui
  to handle some basic gcc error messages with quick fixes
- add QuickFixAddSemicolon, QuickFixRenameMember,
  QuickFixUseDotOperator, and QuickFixUsePointer classes
- add new QuickFixMessages
- add plugin.properties to cdt.codan.checkers.ui to allow the quick
  fix regex matchers to be translated in the future
- change the generic error message for gcc error parser so that the
  column is reported as the problem variable (useful for certain
  quick fix resolutions)
- bump up cdt.core

Change-Id: Ibb24c1a79c4d91ead3fc629ea3d4e7425b4e7f23
2017-02-06 12:33:34 -05:00
Nathan Ridge
d45ff124e3 Bug 510722 - Handle a null AST in ExpandSelectionJob and ControlFlowGraphView
Change-Id: Iafd1b9a32833fb67554902d13955023c149a132e
2017-01-21 16:15:52 -05:00
Marc Khouzam
8cf5ed53f2 Update version to 9.3.0
Change-Id: Ic953ccc5d38ff3661ca44de21ed8c4b7dad5b246
2016-11-15 20:32:51 -05:00
Marc Khouzam
334777eb6e Update version to 9.2.0
Change-Id: I36ad4218b20b8ea70584c89f5be45c757bf4c714
2016-11-14 23:50:05 -05:00
Dominic Scharfe
56c496ba5a Bug 507148. Fixed opening/switching to editor.
- Reuse the TU from the open editor if present, otherwise load it from
workspace
- Added test plugin org.eclipse.cdt.codan.checkers.ui.test

Change-Id: I725b7b8e462ffba39dd6c9a828ab72dd58f86b1f
Signed-off-by: Dominic Scharfe <dominic.scharfe@coseda-tech.com>
2016-11-11 11:18:55 +01:00
Nathan Ridge
d77511f4c4 Bug 496720 - Respect scope filters for AST-based checkers
Change-Id: Ib96879ec50bdc5a14215abbe6d109bcf3767d4f4
2016-10-26 01:18:55 -04:00
Sergey Prigogin
64aec369e1 More robust implementation of ControlFlowGraphBuilder.isConstant method
Change-Id: I43fd84e8c374a638834be3c2aeb216b96fc6b461
2016-10-05 17:13:00 -07:00
Sergey Prigogin
ed0b384e9d Bug 504004 - ReturnChecker should treat constructors and destructors as
void functions

Change-Id: I8d957abcade86224af1e7ae1b1456f6a8e5b3813
2016-10-04 18:49:52 -07:00
Toni Suter
25d4502b80 Bug 490475. Support the evaluation of C++14 constexpr functions
Change-Id: I05029f26b6d33cbeeab8138a270b38c4018b64b5
Signed-off-by: Toni Suter <tsuter@hsr.ch>
Signed-off-by: Silvano Brugnoni <sbrugnon@hsr.ch>
2016-09-16 03:09:25 -04:00
Dan Crosscup
88df41a67f Bug 500884. Fixed ExternalToolInvoker so it starts the Build Console.
Build Console needs to be started before 
OutputStream and ErrorStream are retrieved for the Sniffer.

Change-Id: I1aea84ca9fa2e6806cb07513bb2c9cad47c11617
Signed-off-by: Dan Crosscup <tunzis@gmail.com>
2016-09-05 17:48:12 -06:00
Marc Khouzam
cd559dafaf Update version to 9.1.0
This commit used the script releng/scripts/ChangeFeaturesVersion.sh

Change-Id: I8274a6e8dd5c0f1e450f07952e138b265a441a62
2016-08-17 10:11:57 -04:00
Nathan Ridge
5344893756 Bug 496628 - Avoid codan markers that cover an entire class declaration
This fixes a regression from bug 486610 which introduced these in some cases.

Change-Id: I791528ce7f0bc061386aaa97dd9cecb7abeecd72
2016-07-06 23:16:22 -04:00
Marc Khouzam
9e1e981b4d Move the rest of the CDT plugins to java 8
This change was generated using the script:
releng/scripts/ChangeJavaVersion.sh

Change-Id: I2ad96dc682a5acb8529c3edec40de279c331b5a4
2016-06-22 14:51:43 -04:00
Alex Blewitt
6bdca5f4a2 Bug 492230 - Replace buffer.append(a+b) calls
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>
2016-04-25 11:38:47 -05:00
Alex Blewitt
2356a29c70 Bug 492200 - Replace StringBuffer with StringBuilder
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>
2016-04-21 22:17:03 -05:00
Sergey Prigogin
e901d4a7d4 Cosmetics. 2016-04-21 16:22:03 -07:00
Sergey Prigogin
9f79b897c1 Bug 492200 - Replace StringBuffer with StringBuilder where appropriate
Change-Id: Ib52b839a211e2068e56da4b62a5b9640fef55d40
2016-04-21 16:15:31 -07:00
Alex Blewitt
2114f6b108 Bug 491984 - Replace .equals("") with .isEmpty()
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>
2016-04-19 13:35:54 -04:00
Alex Blewitt
fc07efa909 Bug 491825 - Remove primitive wrapper creation
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>
2016-04-16 12:17:48 -04:00
Alena Laskavaia
26d87d7b74 removing API for custom preference listeners in codan
- this is replaced by eclipse preference listeners framework

Change-Id: Ia39041c79c643912c883d7fdf507aeb252f13ddc
2016-03-17 15:12:14 -04:00
Alena Laskavaia
d8a5d3cc0e Bug 489553 - ConcurrentModificationException below
MapProblemPreference.clone

Change-Id: If80417f386890495961745d13b3ad16040677e2e
2016-03-15 08:57:52 -04:00
Alisson Linhares de Carvalho
9ba50a9462 Bug 486610 - Fixed a highlight problem in reportProblem method
Every time we report a problem in a declaration/expression that occupies more
than one line, the codan marks the entire line as a problem - including
everything before the node. This patch solves this inconvenient behavior.

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=486610 for a complete
explanation.

Change-Id: I742cbaac8a1392676695d574355597b0cfc87385
Signed-off-by: Alisson Linhares de Carvalho <arescarv@gmail.com>
2016-02-23 16:59:59 -05:00
Sergey Prigogin
940975d7d7 Code cleanup in Codan tests.
Change-Id: Ib6fbc348ef175441029a17dd2129d95aaee3305f
2016-02-22 12:47:59 -08:00
Marc Khouzam
2ad68f7f80 Update copyright dates
Change-Id: I94ac38c37657e270f62db9bbd2859c2c6de40e5f
2016-02-11 01:50:14 -05:00
Marc Khouzam
766f66c0ab Missing copyright header.
Copyright assigned to company of the committer
who did the first commit of the file.

Change-Id: Ia133694018c798f9558258810982f5276737a0b0
2016-02-01 12:47:41 -05:00
Marc Khouzam
b745736775 Incremented CDT features version to 9.0.0
This includes bumping the standalone debugger to 9.0.0

Change-Id: I55fae1cec995b5f6865a5b174c004ed1b76e9bea
2016-01-18 16:37:47 -05:00
Alena Laskavaia
082dae21c3 codan - deprecating IProblemProfileChangeListener
deprecated IProblemProfileChangeListener in favor of eclipse preference
event listener mechanism

Change-Id: Ie89999f3baeed56a4c13f3ba70a92b59213ae43f
2016-01-11 21:47:57 -05:00
Alena Laskavaia
d310621847 Fixed codan example for pref change listener
Change-Id: I8693a4bdfd14a05ca077ec3357f82a2358bee07d
2016-01-11 21:47:56 -05:00
Alena Laskavaia
05daa126a0 Bug 383576 - Ability to ignore codan errors using line comments
Change-Id: I806e1787fb6cc3be8865cee1d397d581ae4acd8e
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2016-01-11 12:49:09 -05:00
Alena Laskavaia
1b0fe3a41e Removed deprecated method in codan.core, bumped version to 4.0
Change-Id: I1290d5388b30bd6b48663652d50f4718164b979d
2016-01-08 07:51:04 -05:00
Alena Laskavaia
aa4f014a3a fixing some comments
Change-Id: I020815ce6099d743067974a97b8b63539e408f15
2016-01-07 20:49:41 -05:00
Alena Laskavaia
d3e933501e Bug 411579 - Add a "Create new class" Quick fix.
Change-Id: I57dc46f079357de7d5c281d016a25baa3f2154a6
2016-01-07 20:35:31 -05:00
Marc Khouzam
f3ff649041 Fix copyright of all CDT plugins using the copyright tool from platform.
This commit does not add missing copyrights, just updates the date on
the existing ones.

Change-Id: I646f5afd533a1fcc539bdf2e0686b22f406ecf65
2016-01-03 20:38:31 -05:00
Nathan Ridge
b0d66aa777 Fix an "unsafe method call" error.
Change-Id: I174b14358cdf4252dfb5293c4b86ecfe873fb845
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-12-29 15:13:24 -05:00
Nathan Ridge
59de5c303f Bug 484619 - Make sure ProblemBindingChecker reports unresolved
user-defined literal operators

Change-Id: Idbb157c33b3aae06a00a10f7e7836e96db9f9b63
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-12-23 23:30:15 -05:00
Alena Laskavaia
5218c3caf9 cleanup of ControlFlowGraph view
Change-Id: Ic6be0eedc1e66867efda2b437181da081b2234c0
2015-12-18 07:59:19 -05:00
Nathan Ridge
5cd555717b Bug 479638 - Cache the result of EvalBinding.isConstantExpression()
This helps avoid infinite recursion when a variable's initializer
references itself.

Change-Id: I4667536ebbefd2008afe9003617092a0a5693db0
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-11-29 17:48:21 -05:00