Commit Graph
7162 Commits
Author SHA1 Message Date
Tagir Valeev 7f2549213d LongRangeKnownMethods: LocalDateTime test replaced with Integer/Long tests
LocalDateTime is not mocked in mockJDKs. Mocking it in source code results does not allow to use external annotations (see f8ad50f3). Instead Integer.bitCount and Long.numberOfLeadingZeroes are tested which are also annotated externally.
2018-01-15 17:44:49 +07:00
Eugene Zhuravlev c022771c55 usage constrains fixes and optimizations for 'added' fields; more tests added 2018-01-15 10:44:31 +01:00
Tagir Valeev b414748d24 BytecodeAnalysis: force purity of enum.ordinal() and array.clone() 2018-01-15 16:29:57 +07:00
Tagir Valeev eb10c8bc24 DFA test ReassignedVarInLoop 2018-01-15 14:08:27 +07:00
Tagir Valeev 128e018b9c SimplifyBooleanExpressionFix: preserve comments during simple replacement 2018-01-15 13:08:37 +07:00
Eugene Zhuravlev fd1c5c24f2 Correctly handle removal of 'protected' access flag on fields (IDEA-184854);
Fix InheritanceConstraint: when member access is changed to protected or package-private, more precise calculation of affected files
2018-01-13 16:33:14 +01:00
peter 835ad7e380 java parameter info: revert unsafe fix for IDEA-184821, add a test (IDEA-CR-28480) 2018-01-12 19:24:07 +01:00
Anna.Kozlova 8ce7fac354 hide fixes which expose unresolved type parameters; add fixes for boxing
IDEA-150081
2018-01-12 18:53:17 +01:00
Anna.Kozlova 87d3106a1a invert boolean: invert assignment if used as expression (IDEA-152284) 2018-01-12 16:16:33 +01:00
Petr Kudriavtsev 0a419eb1c0 Implemented IDEABKL-4743 Automatic placement of 2018-01-12 17:35:01 +03:00
Anna.Kozlova 5f5513c966 LVTI: SOE for var with conditional initializer
EA-114618 - SOE: CachedValueBase.getValueWithLock
2018-01-12 10:49:32 +01:00
Tagir Valeev 4eb8fa52f3 DFA: support subtraction and unary negation (IDEA-184800) 2018-01-12 12:37:38 +07:00
Tagir Valeev 30b3d4a558 IDEA-184825 "Redundant String operation" inspection - rename 'Delete element' to 'Delete argument' 2018-01-12 11:44:40 +07:00
Anna.Kozlova d74021cd16 highlight enum with abstract methods until enum initializer is added
IDEA-184704
2018-01-11 19:31:43 +01:00
Anna.Kozlova 33b7508756 same param: ignore native methods in on-the-fly mode (IDEA-184738) 2018-01-11 13:34:41 +01:00
Anna.Kozlova 5f3f0f81a5 method return type in not used: fix for literal expressions(IDEA-184798) 2018-01-11 13:34:40 +01:00
Tagir Valeev 8c9022ae73 Test for range addition tracking: February31 2018-01-11 17:55:52 +07:00
Tagir Valeev 9020534b91 Dataflow: perform ranges addition (part of IDEA-184800) 2018-01-11 17:53:15 +07:00
Roman Ivanov b77e1f16be EndlessStreamInspection created: IDEA-155216 2018-01-11 17:34:23 +07:00
Roman Ivanov 52ffac3745 MoveConditionToLoopInspection inspection created: IDEA-117791 2018-01-11 17:34:22 +07:00
Anna Kozlova 8758030cf7 don't add make enum abstract fix (IDEA-184788) 2018-01-11 09:36:24 +01:00
Tagir Valeev 83c6c5222e IDEA-184240 Unnecessary array-to-collection wrapping should be detected 2018-01-11 13:51:16 +07:00
Tagir Valeev 61ae918e40 Fixes IDEA-184723 "Data flow algorithm complexity" removing excessive temp variables 2018-01-11 12:19:53 +07:00
Tagir Valeev d7fba34d4c Revert incorrect fixes for IDEA-184723 Data flow algorithm complexity
This reverts commits 9a837e70d3 and 6d52b5462e.
2018-01-11 10:21:08 +07:00
Tagir Valeev 3108674de2 handleFlush: do not use inherent nullability for unknown values
Fixes IDEA-172844 False positive "Method invocation 'methodName' may produce NPE" in while loop condition
2018-01-11 09:45:20 +07:00
peter 80875741b8 IDEA-174659 Autocomplete generic parameters according to type restriction 2018-01-10 15:11:03 +01:00
peter e230b13716 java completion: improve constructor reference suggestions
show class qualified name (IDEA-182806)
add navigation to the class
as a result, sorting by proximity now works, and so lambdas have to be preferred explicitly
2018-01-10 12:38:47 +01:00
Tagir Valeev 6d52b5462e Better fix for IDEA-184723 Data flow algorithm complexity
"x==null" & "x!=null" facts are merged into "x is NULLABLE"
2018-01-10 17:19:02 +07:00
Tagir Valeev 9a837e70d3 DFA: remove CAN_BE_NULL fact in removeEquivalenceRelations to allow merging null and not-null vars
Fixes IDEA-184723 Data flow algorithm complexity
2018-01-10 15:07:39 +07:00
Tagir Valeev af97567674 IDEA-184733 Better array access tracking in DFA 2018-01-10 12:26:47 +07:00
peter 1712207c49 IDEA-126898 Auto-complete for places where exceptions are expected should favor subclasses of Throwable and should also analyze method body for runtime exceptions thrown. 2018-01-09 23:22:33 +01:00
Anna.Kozlova ee559693e0 add static import: don't suggest private inner by default (IDEA-158284) 2018-01-09 17:32:57 +01:00
Alexey Kudravtsev 1021f8e0c1 IDEA-184196 No "Implements via subclass" icon when a method is final 2018-01-09 17:59:00 +03:00
Anna.Kozlova ea70b60884 replace duplicate (IDEA-CR-28262) 2018-01-09 11:27:17 +01:00
peter d4ab5f0efb java completion: don't delete everything if class name coincides with package (IDEA-180284) 2018-01-08 20:52:44 +01:00
peter 9d1de0c271 IDEA-179871 Automatically use nullable annotations in constructor generation 2018-01-08 20:52:44 +01:00
Roman Shevchenko 0c60dfb4a6 [java] handling for automatic modules with invalid names (IDEA-184590)
Shows a descriptive error, doesn't suggest "add requires" quick fix, and excludes such modules from completion.
2018-01-08 18:57:45 +01:00
peter 9c671df7d1 complete Collectors methods inside collect() call (IDEA-181449) 2018-01-08 18:52:37 +01:00
peter 9cffe95fa7 hardcode Map.remove as having unknown nullity (IDEA-CR-28277, IDEA-183875) 2018-01-08 18:52:37 +01:00
Anna.Kozlova 52bd45c9b2 reject functional expressions as conditional condition (IDEA-184667) 2018-01-08 17:05:50 +01:00
Roman Shevchenko a61c8ba9e8 [java] clear deletion of reference expression qualifiers (IDEA-184557) 2018-01-08 15:58:42 +01:00
Tagir Valeev 34ae3706ab ReadOnly -> Unmodifiable; introduced UnmodifiableView distinguish between unmodifiable and unmodifiable view 2018-01-08 12:12:26 +07:00
Tagir Valeev fd12754e17 IDEA-184278 Track relations like "greater than", "less than" in data flow 2018-01-07 12:27:39 +07:00
Tagir Valeev 5e423625d0 PrimitiveNull test 2018-01-06 15:22:37 +07:00
Anna Kozlova bd49d9f065 add static import: check all expected types (IDEA-153378) 2018-01-05 20:05:51 +01:00
Anna Kozlova 3430c6e7f1 disable parameter can be local for overridden methods (IDEA-159001) 2018-01-05 20:05:50 +01:00
peter e1036c438c java completion: use a single way to find previous interesting PSI (IDEA-184555) 2018-01-04 16:14:50 +01:00
Anna Kozlova ba0c345397 fix testdata 2018-01-03 22:32:45 +01:00
peter 41d78cd086 IDEA-182501 Unwrap 'if' generates unreachable code 2018-01-03 21:47:57 +01:00
Anna Kozlova 2dd4d855fb compilation error fix: transform getClass()->.class (IDEA-117106) 2018-01-03 21:10:47 +01:00