Anna.Kozlova
e75b0faed2
inference: ensure erasure flag is pushed to the container expression
...
IDEA-185316
2018-03-14 17:39:04 +01:00
Anna.Kozlova
6a9bc6782d
ensure class added to the throws list is visible outside of method
...
IDEA-187595
2018-03-14 17:39:04 +01:00
Anna.Kozlova
d2bfe3d14b
ensure name when retrieving constructors from a class (IDEA-188068)
2018-03-13 10:35:45 +01:00
Tagir Valeev
2e6232e029
StreamApiMigration tests reorganized
2018-03-13 11:21:23 +07:00
Tagir Valeev
b2d5f75a92
StreamApiMigration: support Java10 toUnmodifiableList/Set (part of IDEA-187213)
2018-03-13 11:21:22 +07:00
Daniil Ovchinnikov
47bedfb488
[jvm-lang] java: return if no method is found after reformat IDEA-188113
2018-03-12 21:40:30 +03:00
Anna.Kozlova
117f3f1d2f
ensure tailing comments doesn't break statement in the middle (IDEA-188072)
2018-03-12 18:34:26 +01:00
Tagir Valeev
c1f2c5c380
StreamToLoop: special handling of max().orElse(MIN_VALUE), etc.
2018-03-12 15:24:01 +07:00
Tagir Valeev
ebbdbbe432
StreamToLoop: special handling of skip(1)
2018-03-12 15:24:00 +07:00
Tagir Valeev
552f6fd49e
IDEA-188021 "Move assignment to field declaration" leaves comment in class initializer
2018-03-12 10:18:09 +07:00
Anna.Kozlova
acfb22157b
remove redundant type args: get rid of 2 different fixes
2018-03-09 18:44:26 +01:00
Anna.Kozlova
e3f42bdb9b
extract PsiPrecedenceUtil as read-only part of ParenthesisUtils
...
leave methods to ensure compatibility, to be inlined and deprecated in separate commit (IDEA-CR-30329)
2018-03-09 16:38:07 +01:00
Tagir Valeev
a0923d48b8
MoveFieldAssignmentToInitializerFix: keep comments when removing empty initializer
...
Fixes IDEA-187524 "Move assignment to field declaration" loses comment on class initializer
2018-03-09 19:45:31 +07:00
Tagir Valeev
350eba5000
Optional compared with null: do not warn when subsequent isPresent check is found
...
IDEA-187578 Inspection to detect when Optional is compared with null
2018-03-09 19:30:59 +07:00
Anna.Kozlova
51f6813ee3
valid static method reference on class's inheritor (IDEA-187974)
2018-03-09 11:44:47 +01:00
Anna.Kozlova
36b1e622eb
inference: skip bounds checking for captured fresh variables (IDEA-187943)
2018-03-08 19:06:30 +01:00
Roman Shevchenko
156b436799
[java] parses local-var syntax for lambda parameters (IDEA-187804)
2018-03-08 18:14:26 +01:00
Anna.Kozlova
877b2424ce
inference: don't process lambda return expressions for void return type
...
those lambda return expressions can't influence containing call inference according to lambda constraint; which means that no additional inference variables could be propagated during inference process hence exception constraints could operate with proper types which are in fact type parameters - which would lead to unhandled exceptions on the top level (IDEA-187930)
2018-03-08 11:53:52 +01:00
Anna.Kozlova
99027d3bc5
fix test data (IDEA-CR-30316)
2018-03-07 14:36:37 +01:00
Tagir Valeev
a24ad7b268
OptionalAssignedToNull: added optional (sic!) warning on optional == null comparison
...
Fixes IDEA-187578 Inspection to detect when Optional is compared with null
2018-03-07 16:20:10 +07:00
Anna.Kozlova
9bdd5f11e3
respect precedence for div as production argument (IDEA-187205)
2018-03-07 09:18:32 +01:00
Anna Kozlova
b69f886265
redundant type arguments for non-generic methods & method references
...
IDEA-187548
2018-03-07 08:02:42 +01:00
Anna Kozlova
bea45461b0
provide special colors for statically imported members (IDEA-98499)
2018-03-07 08:02:41 +01:00
Anna Kozlova
424081efe0
interface static methods in method refs by subclass error (IDEA-187330)
2018-03-07 08:02:41 +01:00
Anna Kozlova
54a49e7777
restore javadoc references for non-phisical methods, e.g. enum#valueOf
...
IDEA-187289
looks like there is no fields which can be generated, so only methods are checked through processDeclarations
2018-03-07 08:02:41 +01:00
Anna Kozlova
f295742259
interface static methods in method refs by subclass error (IDEA-187330)
2018-03-07 08:02:41 +01:00
Tagir Valeev
2c4af2781d
Inspection: Expression can be folded into Stream chain (IDEA-187123)
2018-03-05 16:35:35 +07:00
Tagir Valeev
43b86a988e
CodeEditUtil#removeChildren: fixed nextLeaf determination
...
Before when removing more than one element, nextLeaf was invalid as well. The invalidation check below did not work as parent might still exist (element might be relinked to dummy file)
Fixes IDEA-187531 "Add on demand static import" with intervening comment and an empty line breaks code
2018-03-03 15:47:21 +07:00
Tagir Valeev
aa89c3b6fa
CommentTracker: do not add a comment as a first child of PsiElement
...
Fixes IDEA-187526 "Add static import" with an intervening comment leads to exception
2018-03-02 16:22:19 +07:00
Tagir Valeev
4f854bc34a
RedundantCompareCall testdata fixed
2018-03-02 09:54:28 +07:00
Tagir Valeev
2735fd74d5
IDEA-187474 Ternary condition is not boolean: add a quick-fix for method call
2018-03-01 14:45:49 +07:00
Tagir Valeev
c4da8fdb79
IDEA-187130 Inspection: Comparison of primitives with compareTo()
2018-03-01 12:33:56 +07:00
Tagir Valeev
f6c45995d3
IDEA-187224: test fixed (beforeStringSubstringLength.java was not added mistakenly)
2018-02-28 14:15:23 +07:00
Tagir Valeev
5feb5cb75a
IDEA-187224 Add inspection for substring with String#length as second param
2018-02-27 13:05:45 +07:00
Tagir Valeev
0da4fd17f3
IDEA-187214 Stream to loop inspection: support Java 10 toUnmodifiableList/Set/Map
2018-02-27 10:57:08 +07:00
Tagir Valeev
c483ae9cd0
ControlFlowUtils#getInitializerUsageStatus fixed for do-while loops where var is declared just before the loop
2018-02-21 12:24:01 +07:00
Tagir Valeev
3b96a595b9
DeleteSideEffectsAwareFix: handle comments
2018-02-20 17:06:53 +07:00
Anna.Kozlova
bca21ba8c6
inference: substitution for captures (IDEA-186844)
2018-02-19 18:36:42 +01:00
Tagir Valeev
413aca292b
WrapWithAdapterMethodCallFix: correctly handle disjunction type
...
Fixes EA-116570 Cannot create expression for type class com.intellij.psi.PsiDisjunctionType
2018-02-18 07:54:47 +07:00
Tagir Valeev
f5975ad8a2
Variable finality highlighting fixes
...
Unreachable branches are analyzed for twice assignment, but constants are evaluated.
Fixes IDEA-186321 Bad code green: non-iterating for-loop update
Fixes IDEA-186304 good code red: field might not have been initialized in unreachable branch
Fixes (mostly) IDEA-186305 good code red: variable might already have been assigned to
2018-02-17 12:35:03 +07:00
Anna.Kozlova
8703c07861
disable add on demand static import for method reference qualifiers
...
IDEA-186826
2018-02-16 16:01:55 +01:00
Daniil Ovchinnikov
872ddb5d0e
[jvm-lang] rename create getter/setter actions
...
- _Create Getter_ -> _Create read-only property 'foo' in 'Bar'_
- _Create Setter_ -> _Create write-only property 'foo' in 'Bar'_
Action names are now consistent with _Create property 'foo' in 'Bar'_.
2018-02-15 16:00:36 +03:00
Anna.Kozlova
8d8a443512
enum, abstract and final should be an error somewhere (IDEA-186642)
2018-02-14 18:37:36 +01:00
Daniil Ovchinnikov
544ee7980f
[jvm-lang] java: port _Create getter/setter from usage_ actions
...
- extract PropertyRenderer for reusing;
- make them work with type parameter guesser.
2018-02-13 01:15:09 +03:00
Daniil Ovchinnikov
3151924a52
[jvm-lang] java: don't create private abstract methods (IDEA-186499)
2018-02-12 19:25:20 +03:00
Daniil Ovchinnikov
fbe959bf47
[jvm-lang] java: port _Create property from usage_ action
...
- make it create template for both getter and setter;
- make it work with type parameter guesser;
- add tests!
2018-02-12 17:45:12 +03:00
Tagir Valeev
63231c630d
IDEA-186381 bad code green: variable might already have been assigned
...
Fixed parentheses handling on the left-side of assignment and in unary operations
Fixed error message priority
2018-02-09 12:45:18 +07:00
Tagir Valeev
c8f3d1e20c
ControlFlowUtil#isVariableAssignedInLoop: evaluate constant conditions
...
Fixes IDEA-186306 good code red: variable might be assigned in loop
2018-02-08 13:29:49 +07:00
Tagir Valeev
4234f0d140
EffectiveFinal tests reported in IDEA-154224, IDEA-163280, IDEA-171790
2018-02-08 13:21:31 +07:00
Tagir Valeev
b9630248cd
FinalVariableMightNotHaveBeenInitializedInsideLambda: added separate initializer test
2018-02-08 12:31:34 +07:00