Commit Graph
832 Commits
Author SHA1 Message Date
peter fa05e3b5e4 ContractInference: faster and lazier method notnull check 2014-10-06 19:30:34 +02:00
Anna Kozlova 09e34e8d14 side effects check should process inc/dec operators (IDEA-130789) 2014-10-06 13:40:09 +02:00
Anna Kozlova 39154531ec unchecked warning: do not traverse through lambda bounds (IDEA-130810) 2014-10-06 10:39:43 +02:00
Anna Kozlova a481b867c7 EA-61303 - IAE: EffectiveLanguageLevelUtil.getEffectiveLanguageLevel 2014-10-06 08:59:55 +02:00
peter 544385ce69 IDEA-130745 Incorrect auto cast after completion
* when merging dfa states, check that they're really equal after stripping complementary facts (there might be additional info in subclasses)
* merge in separate groups in one go
2014-10-04 09:55:23 +02:00
Alexey Kudravtsev 1395914f9d enable more thorough unused members analysis if RefResolveService has up to date information 2014-10-03 14:02:36 +04:00
Ilya Klyuchnikov 1d28161995 inference of @Nullable methods in integration tests 2014-10-03 11:25:37 +04:00
peter d279e798c9 ContractInference: prevent SOE in a more obvious way 2014-10-02 18:25:02 +02:00
peter 5646998a10 @NotNull 2014-10-02 18:25:02 +02:00
Ilya Klyuchnikov 23c305834d bytecode inference: @Nullable methods are not visible by default
IDEA-130063 IDEA-130494 IDEA-130595 IDEA-130706
2014-10-02 15:38:16 +04:00
peter abc7c3eace IDEA-117626 good code yellow: variable modification inside 'try' clause
* maintain separate $exception$ variables to avoid nested try-s clash
2014-10-01 20:09:12 +02:00
peter be5e2c5a5a contract checker: relax fail result validation to accept every call as a potential hazard, and don't continue with dfa 2014-10-01 20:09:11 +02:00
peter eb332c2127 IDEA-130652 Check contract return type against method signature 2014-10-01 20:09:10 +02:00
Anna Kozlova 71e60700a2 api usage inspection: warn if old interface method was made default and class doesn't override it 2014-10-01 18:15:06 +02:00
Ilya Klyuchnikov 582239346e bytecode analysis: no inference of "true|false->..." contracts 2014-10-01 17:50:41 +04:00
Ilya Klyuchnikov 212272a485 @NotNull 2014-10-01 17:50:41 +04:00
peter 2bd002a43c EA-60995 - assert: ProblemsHolder.registerProblem 2014-09-30 20:39:13 +02:00
Anna Kozlova 9f72b14b9c lambda -> method reference: ambiguity prevented (IDEA-130126) 2014-09-30 19:18:44 +02:00
peter d51e859340 contract inference: suppress more obvious !null contracts 2014-09-30 17:23:49 +02:00
peter b0a7ab05aa contract checker: relax fail result validation to accept every call as a potential hazard 2014-09-30 17:23:49 +02:00
peter cc67dc5527 Objects.requireNotNull(,Supplier) is not pure 2014-09-25 17:46:36 +02:00
peter 5b9145fffd don't infer method contracts when there is already an explicit @Contract annotation 2014-09-25 16:34:52 +02:00
peter 30beb70ce4 honor super method contracts 2014-09-25 16:34:51 +02:00
peter 853f21d9b1 dfa: flush variables immediately when they're not used anymore to reduce the number of different memory states 2014-09-25 16:34:50 +02:00
Ilya Klyuchnikov bc72b6719c bytecode analysis index version +1
(IDEA-129645)
2014-09-25 17:03:41 +04:00
Ilya Klyuchnikov 515e504531 bytecode analysis: this.someMethod() is not stable
IDEA-129645
2014-09-25 17:01:48 +04:00
peter 141f3f059c contract inference: support type casts 2014-09-24 14:19:53 +02:00
peter 56f6a73de7 purity inference: take into account constructor calls 2014-09-24 14:19:52 +02:00
peter b315ca0ed5 don't infer contracts for library source (getOriginalElement doesn't work well for anonymous classes) 2014-09-24 11:57:38 +02:00
peter 93283c8255 System.exit is not pure 2014-09-24 11:57:38 +02:00
peter f8827da0ff show comma between external/inferred annotation attributes on the gutter 2014-09-24 11:42:45 +02:00
peter 9d57b07c32 dfa: perform expensive state merge only after method calls that have chances to produce mergeable states, i.e. have contracts 2014-09-24 11:19:10 +02:00
peter 66e2d53805 dfa: don't forget facts coming from boxed booleans after they're flushed 2014-09-23 18:42:57 +02:00
Alexey Kudravtsev e9c1a15ee7 stress tests crash with PCE 2014-09-23 19:01:27 +04:00
Alexey Kudravtsev a03297df6b do not highlight method unused if referenced via overridden 2014-09-23 16:00:58 +04:00
peter 12553cb3de IDEA-130111 "Constant conditions & exceptions" inspection: false positive for possible NPE 2014-09-22 12:44:45 +02:00
peter db95c2203d add hardcoded contracts for spring's Assert.notNull (IDEA-130145) 2014-09-22 12:44:45 +02:00
Bas Leijdekkers 05cc19b7fa remove fault @NotNull annotation 2014-09-22 11:50:21 +02:00
peter a8e3f571c2 cache costly dfa analysis results for dataflow to this 2014-09-21 14:05:51 +02:00
peter 5bd3b58cd5 twice as less instances of DfaTypeValue 2014-09-21 14:05:50 +02:00
peter 1625b70c40 dfa: avoid reflective array creation 2014-09-21 14:05:50 +02:00
Alexey Kudravtsev a56e9cf71d number of moves to make processElementUsages() available in java-analysis 2014-09-21 14:22:16 +04:00
Alexey Kudravtsev 7d8fca018b moved to analysis 2014-09-21 14:22:13 +04:00
peter 219258fb8c dfa: revert accidentally committed changes 2014-09-19 11:33:14 +02:00
peter dab0ab9f8f DfaVariableState: cache hashCode 2014-09-19 11:30:05 +02:00
peter 0eeb1e65fb DfaVariableState: avoid superfluous instanceof facts 2014-09-19 11:30:04 +02:00
Anna Kozlova e49a3a28f8 EA-60452 - assert: AnonymousCanBeLambdaInspection.hasForbiddenRefsInsideBody 2014-09-17 20:50:37 +04:00
Anna Kozlova 3e13cddf2b lambda -> method reference: exclude receiver/non-receiver ambiguity (IDEA-129924) 2014-09-17 20:45:43 +04:00
peter 118cb9f6cd add hardcoded contracts for apache Validate.notNull 2014-09-16 15:18:55 +02:00
peter 7e061f5eef consider non-annotated method parameters also nullable in paranoid dfa mode (IDEA-129898) 2014-09-16 15:10:50 +02:00