Commit Graph
197 Commits
Author SHA1 Message Date
peter bc12a14cb9 extract contract checking to a separatate inspection 2014-06-06 21:53:58 +02:00
peter 5d8ee45b19 IDEA-112222 Validate @Contract annotation is related to the code 2014-06-01 17:20:57 +02:00
peter a30a74e846 fix dfa contract believing that nullable is always null 2014-05-29 21:55:46 +02:00
peter 9c29b9548a fix dfa contract IOOBE with varargs 2014-05-29 21:55:45 +02:00
peter 6b46fcf21b dfa: contracts validation should not exclude notnull validation 2014-05-27 19:20:38 +02:00
peter 68f7fad1c5 IDEA-125248 Incorrect simplify for float 2014-05-23 17:45:57 +02:00
peter 33929c5eab don't use checker.xml for dfa (but leave it there for a while, IDEA-125426) 2014-05-23 15:43:09 +02:00
peter 83a2697042 IDEA-125194 Strange control-flow inspection 2014-05-16 16:51:39 +02:00
peter 5348fc61c9 IDEA-124644 Comparison of negative zero with positive zero incorrectly marked as always false 2014-05-05 18:11:00 +02:00
peter 78dafa03c5 dfa: just don't assume initialized final fields are notnull, it doesn't help, but hurts and slows things down (IDEA-124323) 2014-04-24 17:56:38 +02:00
peter 0bd06e5e39 More on comparison that is always false due to being out of type range on implicit type conversion (IDEA-124210) 2014-04-22 14:34:31 +02:00
peter 3af306c66e IDEA-55556 Inspection suggestion: Comparison that is always false due to being out of type range on implicit type conversion 2014-04-18 22:37:32 +02:00
peter 29fec2258a IDEA-123948 Constant condition and exceptions: false positive on MappedByteBuffer.getInt 2014-04-18 22:37:31 +02:00
peter 019a68bcc8 IDEA-123289 Infer nullability of 'for each' variable from type annotations of the collection parameter 2014-04-18 22:37:31 +02:00
peter b5df84e66b IDEA-123850 incorrect "Condition is always false" warning in GemRequirementsChangeWatcher.updateAndAttach() 2014-04-12 16:38:17 +02:00
peter 7ddbfd5eed dfa: don't suggest to replace reference qualifiers with null 2014-04-09 12:56:20 +02:00
peter 3a0093d463 fix AIOOBE in dfa contract processing 2014-04-03 13:10:54 +02:00
peter 6b91f55eb7 IDEA-122414 Boolean expression simplification changes behavior of the code 2014-03-28 19:30:28 +01:00
peter 6d2412b599 dfa: a variable can't be null after dereference (IDEA-122215) 2014-03-28 19:12:00 +01:00
peter 87a2944e37 IDEA-122624 @Contract fails on vararg methods 2014-03-28 19:12:00 +01:00
peter 3627c465e4 dfa: treat different constants with same values as same (IDEA-121837) 2014-03-07 19:41:30 +01:00
peter ba09765e0a missing test data 2014-03-05 22:30:11 +01:00
peter 76591fdeca dfa: comparison with other variables shouldn't affect a variable's nullability status 2014-03-05 22:19:28 +01:00
peter 6166a0e4fb don't flush fields for pure method and getter calls (IDEA-117449) 2014-03-05 22:19:28 +01:00
Alexey Kudravtsev c7b78f76a2 IDEA-120784 "Class is public should be declared in a file named <Classname>.java" for inner interface 2014-02-18 13:55:52 +04:00
peter 404f4e3fca IDEA-119663 false positive Constant conditions & exceptions: "Argument ... might be null" 2014-01-23 09:53:53 +01:00
peter 9ffaba9293 IDEA-65566 Allow 'NotNull' as the default element behavior for a given class or package 2014-01-17 17:25:13 +01:00
peter 0c0e8867b1 dfa: don't walk equals() method argument twice (IDEA-118971) 2014-01-08 18:13:25 +01:00
peter 1dd46651c9 dfa: don't grow stack infinitely on &= (IDEA-118522) 2013-12-22 10:39:55 +01:00
peter 57cf9cefb6 control flow: visit assignment lValue only once (EA-51083 - ESE: Stack.pop) 2013-12-18 17:25:49 +01:00
peter 746901e8c5 IDEA-116947 Unqualified call NPE false positive with contracts 2013-12-18 17:25:49 +01:00
peter d255c5b10c dfa: make state merging result predictable
when removing a!=b and a!=c && b==c, don't restore a!=c
2013-12-18 14:42:54 +01:00
peter ec8b2435cb IDEA-117297 @Contract doesn't play nice with @NotNull/@Nullable 2013-12-18 10:42:49 +01:00
peter 8bca4a68df dfa: combine merge by equality and type into a generic relation-based merge
this improves dfa performance
and fixes cases when a single global != relation would prevent states from merging
2013-12-18 10:42:48 +01:00
peter cef372d03c IDEA-116944 Constant Conditions & Exceptions doesn't report if statements with literal true/false condition 2013-12-15 20:04:52 +01:00
peter 3880c45980 IDEA-118082 "Constant conditions & exceptions" warning expected inside local class 2013-12-12 22:43:10 +01:00
anna 83b6571952 check lambda return values during constant&conditions (IDEA-117420) 2013-12-03 15:30:19 +01:00
anna 16baacc368 NPE on invalid expressions 2013-11-29 12:09:07 +01:00
peter a54334794b IDEA-115330 Incorrect "condition is always false" 2013-11-09 18:19:09 +01:00
peter f92ce9af06 add "pure" attribute to @Contract (IDEA-107864) 2013-11-02 20:41:17 +01:00
anna 551579c6ef use configured @Nullable in inspection descriptions (IDEA-114884) 2013-10-22 10:59:28 +02:00
peter d7e675616d don't throw exceptions on contracts with several clauses 2013-10-18 17:39:13 +02:00
peter 99e97f3207 build constructor dfa to check final field not-nullability (IDEA-114828) 2013-10-17 21:54:34 +02:00
peter eb6455eab9 don't make var nullable if it's not equal to a constant (IDEA-114791) 2013-10-17 21:54:33 +02:00
peter 099ead0d64 dfa: exception handling reworked
no more gosub-return causing equal states differing by offset stack only
  don't visit outer finally without visiting inner one
2013-10-12 23:00:40 +02:00
peter 27df426af5 extract jdk8-specific dfa test 2013-10-02 10:28:21 +02:00
peter 0378563657 fix yet another AIOOBE caused by finally dfa 2013-10-01 13:16:18 +02:00
peter 582a31bcaf dfa: flush code block variables when leaving it via break/continue route 2013-09-30 17:52:20 +02:00
peter cebb5b8936 fix dfa offset management when handling possible exceptions in finally 2013-09-30 14:49:48 +02:00
peter f3063e6679 dfa: don't merge by type states which have different eq states 2013-09-29 11:30:30 +02:00