Commit Graph
8437 Commits
Author SHA1 Message Date
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 Verstraetenandpeter 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