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