Roman.Ivanov
6d37214f4d
AddExceptionToExistingCatch: fix non replacement intention text
2019-04-03 12:24:01 +07:00
Roman.Ivanov
7f160662a5
AddExceptionToExistingCatch: supply more concrete intention text
2019-04-03 11:59:52 +07:00
Bas Leijdekkers
fc1cc50ff9
IG: merge two inspections and enable at INFORMATION level (IDEA-30715)
...
merging "Multiple variables in one declaration" and "Multiple typed variables in one declaration" inspections
2019-04-02 19:55:05 +02:00
Roman.Ivanov
ed9d67604e
AddExceptionToExistingCatch: support language levels < 7
2019-04-02 17:30:17 +07:00
Roman.Ivanov
5c55f93cd1
AddExceptionToExistingCatch: do not suggest catches if its successors are assignable to exception type: IDEA-208457
2019-04-02 16:10:45 +07:00
Roman.Ivanov
60dc045f65
EnhancedSwitchMigration: generate proper assignment, skip default branch if exists: IDEA-208192
2019-04-02 11:27:12 +07:00
Tagir Valeev
4af91368ca
ControlFlowAnalyzer: assign initialized array elements to unknown to drop locality if necessary
...
Fixes IDEA-210027 Variable in dataflow remains local when used inside array initializer
2019-04-02 11:24:34 +07:00
Tagir Valeev
90cfb46930
IDEA-209618 NotNull annotated method might result in null inspection disappears with pure Contract annotation set.
2019-04-02 10:43:27 +07:00
Roman.Ivanov
be87aa1df8
OverflowingLoopInspection: do not highlight in case of -=- 1
2019-04-02 10:05:11 +07:00
Tagir Valeev
4ba1315514
IDEA-210123 BoxedLong.equals(BoxedInteger) is incorrectly reported as 'always true' when their unboxed value is the same
2019-04-02 09:58:29 +07:00
Rustam Vishnyakov
08b64ee05c
More code style descriptions, renamed "align_multiline_method_brackets" to "..._parentheses"
2019-04-01 13:10:43 +03:00
Willem Verstraeten and peter
f15d0a899d
[by Willem Verstraeten] dfa: support @AutoValue and other immutable annotations from ConcurrencyAnnotationsManager (IDEA-208913)
...
adapted from https://github.com/JetBrains/intellij-community/pull/1090
2019-03-26 16:39:57 +01:00
peter
0a4514d50f
java: fix completing class name in its supertype's second generic type argument
2019-03-26 16:10:32 +01:00
peter
a3f7fc805c
IDEABKL-6585 Completion: suggest variants for mistyped pattern
2019-03-26 12:07:25 +01:00
Artemiy Sartakov
90e947855d
Java8MapApiInspection: added tests for non-final map usage as value and map method call as value (IDEA-CR-44452)
2019-03-26 13:49:09 +07:00
Tagir Valeev
65cff5c8b2
GenericsUtil: LUB(Object[], int[]) = Object & Cloneable & Serializable type (not Object[])
...
Part of IDEA-209568
2019-03-26 11:18:21 +07:00
Tagir Valeev
e85e0ebdfb
LambdaCanBeMethodReferenceInspection: fix EA-140341 CCE; cleanup
2019-03-26 10:42:03 +07:00
Roman.Ivanov
ea4658ffe2
SimplifyOptionalCallChainInspection: fix review issues
2019-03-25 11:49:59 +07:00
Roman.Ivanov
0ce61f1ee1
SimplifyOptionalCallChainInspection: support 2 map to flatMap conversions: IDEA-205744
2019-03-25 11:49:58 +07:00
Roman.Ivanov
21b68aeeed
Refactor SimplifyOptionalCallChainMigrationInspection: split into case classes
2019-03-25 11:49:57 +07:00
Tagir Valeev
8fa34c7dbe
LambdaCanBeMethodReferenceInspection: allow parenthesized qualifier
2019-03-25 10:57:30 +07:00
Tagir Valeev
8f661ca04b
DfaValueFactory: evaluate comparison with sentinel in createCondition()
...
This allows to evaluate conditions like "<unknown> = SENTINEL" to "false", rather than "<unknown>" like it was before.
Fixes EA-136821 - ESE: Stack.peek
2019-03-22 13:07:59 +07:00
Tagir Valeev
1327600ef4
IDEA-205881 Remove redundant cast leads to incompilable code
2019-03-22 10:44:54 +07:00
Tagir Valeev
31298c2000
IDEA-209300 Split into 2 if's doesn't work when I'm staying on the last symbol of &&
2019-03-21 13:27:00 +07:00
Tagir Valeev
2d37171a79
Better AssertJ matchers support: isNull/isPresent/isEmpty/isNotPresent/isNotEmpty/isTrue/isFalse
...
IDEA-209351 Support more AssertJ matchers in hardcoded contracts
IDEA-209246 Checking Optional with AssertJ assertions still triggers 'Optional.get()' without 'isPresent()' check
2019-03-21 12:54:35 +07:00
peter
6342196c31
IDEA-209230 No new keyword completion inside negation
2019-03-20 10:12:26 +01:00
Tagir Valeev
a26ebd6de8
Convert to single return: fix for incorrect code
2019-03-20 10:47:52 +07:00
Tagir Valeev
38f4026184
IDEA-209056 Switch, try-catch, synchronized support; avoid conflicting var names; fix reads of uninitialized vars
2019-03-19 17:35:03 +07:00
Tagir Valeev
5b3d311505
IDEA-209056 Action to transform method with multiple returns into the method with single exit point
...
First implementation
2019-03-19 15:02:38 +07:00
Pavel Dolgov
79022c29ce
Java: Intention that wraps list/set/map with Collections.unmodifiable - don't suggest on the left-hand side of assignment (IDEA-208885)
2019-03-15 13:16:09 +03:00
Tagir Valeev
2c67b41839
StringRepeatCanBeUsedInspection: use dataflow after Math.max replacement is performed to cover more cases
2019-03-15 11:40:11 +07:00
Tagir Valeev
62bbfeaa3c
JavaFunctionalExpressionIndex: support array initializers
2019-03-15 10:45:43 +07:00
Bas Leijdekkers
65fb327b93
fix NPE in Java Extract Method (IDEA-199784)
2019-03-14 17:59:35 +01:00
Bas Leijdekkers
5f578b9250
Java: fix "Move into anonymous object" quick fix problems (EA-139632)
2019-03-14 17:59:35 +01:00
Tagir Valeev
ba3791e5de
IDEA-208770 Inspection OptionalGetWithoutIsPresent doesn't recognize check in stream
2019-03-14 11:55:48 +07:00
Tagir Valeev
5222cb45b3
DFA: fix xor support
2019-03-14 11:26:05 +07:00
Tagir Valeev
6bef676307
CollectMigration: do not wrap nullable values with toUnmodifiableList/Set (IDEA-207976)
2019-03-14 11:10:38 +07:00
Artemiy Sartakov
c0ba70d70c
Merge remote-tracking branch 'origin/master'
2019-03-13 16:19:05 +07:00
Artemiy Sartakov
a51223e114
Java8MapApiInspection: check if rhs has no map usages (except map.get(key)) for key set based loop (IDEA-CR-44452)
2019-03-13 16:18:36 +07:00
nik
e1c867fe8e
platform: load components from optional descriptors in deterministic order (IDEA-203089)
2019-03-13 12:02:11 +03:00
Tagir Valeev
77b6a04c45
IDEA-207874 Inspection to replace Map.keySet().contains(K) with Map.containsKey(K)
2019-03-12 13:54:25 +07:00
Tagir Valeev
7906dd0dcd
RedundantCastUtil: fix isCastRedundant (avoid checking another cast)
2019-03-11 17:53:32 +07:00
Tagir Valeev
3f3f575d07
InlineMethodProcessor: cover weird case with enum constant, lambda and explicit return with another call
2019-03-11 17:11:20 +07:00
Tagir Valeev
c48baf0d0f
IDEA-208497 Magic constant inspection shows warning for xor
2019-03-11 11:37:21 +07:00
Bas Leijdekkers
27c17db32b
IG: make ExpressionUtils.resolveLocalVariable() skip parentheses
2019-03-08 11:32:41 +01:00
Sergey Patrikeev
80f520457a
API Usages Visitor: handle empty (no args or default) constructor explicit invocation via super().
2019-03-08 00:30:41 +03:00
Artemiy Sartakov
63c61a12d1
Java8MapApiInspection: cr fixes (IDEA-CR-44452)
...
1. VariableNameGenerator instead of codeStyleManager#suggestUniqueVariableName
2. use tracker for inner comments
3. simplified references search using various util methods
4. added option to disable replaceAll suggestion
2019-03-07 13:48:57 +07:00
Roman.Ivanov
e80cc3eb46
EnhancedSwitchMigrationInspection: generate default branch anyway: IDEA-207774
2019-03-06 17:24:10 +07:00
Roman.Ivanov
9a34c6e1e8
EnhancedSwitchMigrationInspection: generate assignment if declaration is not previous statement: IDEA-208192
2019-03-06 17:01:10 +07:00
Tagir Valeev
43b636f63f
UiInterceptors: ability to intercept UI components in tests and emulate user action
...
Currently only popup chooser is supported
A usage example added for AddExceptionToExistingCatchTest
2019-03-06 13:37:43 +07:00