Commit Graph
8510 Commits
Author SHA1 Message Date
Tagir Valeev 61ac76cf48 IDEA-211702 Incorrect inspection "Can be replaced with single expression in functional style" when types differ
GitOrigin-RevId: 4006edb212486fa38b31b26ecbed881e6079f6e6
2019-04-29 13:28:39 +03:00
Tagir Valeev a175181df4 IDEA-209947 Explain possible NPE
GitOrigin-RevId: dab1e1bfa33e2cdc0f1ab833f943bd24d171b882
2019-04-29 11:04:15 +03:00
Roman Shevchenko 4ebf2bcc77 [java] suppressable "redundant requires statement" inspection (IDEA-205523)
GitOrigin-RevId: a7591c521a9bd80f7442fa9e9e0f0d3dc2c236f6
2019-04-28 19:43:32 +03:00
Anna Kozlova 7a03a2be5c method references overload resolution: skip static methods of interfaces called on inheritor (IDEA-209920)
GitOrigin-RevId: 9e7889def32913679fa867f9dd2a80f8d187964e
2019-04-28 19:25:43 +03:00
Anna Kozlova d3928de54b change method return type: avoid changes in hierarchy when assignable (IDEA-209931)
GitOrigin-RevId: 43166bdd806d2a0b6ed2e72e6630c9cf53fba7b4
2019-04-28 19:25:11 +03:00
Anna Kozlova 7f603ae6b1 redundant cast: check binary comparison assignability (IDEA-209944)
GitOrigin-RevId: 4276128fb33224de60afc7661e478ca172205f51
2019-04-28 19:24:39 +03:00
Tagir Valeev 7786fe9165 IDEA-209947 Add and/or when several children are displayed (IDEA-CR-46720)
GitOrigin-RevId: 2556ab90f89dccbf9f2b3a820e5894c2b0fcf9a6
2019-04-28 18:04:06 +03:00
Anna Kozlova 64520feaa1 rename field: replace qualified names with field qName (IDEA-210056)
GitOrigin-RevId: 8ae6037597a183c843d89f5b8870a4162ddf73e3
2019-04-28 17:48:34 +03:00
Tagir Valeev 0eacb8621a IDEA-209947 Explain &&/||-chains, minor fixes
GitOrigin-RevId: 074ea99bdc28c9f026e097ee5630c3a8c0614dd6
2019-04-28 17:44:51 +03:00
Tagir Valeev 3368f8e2d5 ParenthesesUtils#removeParensFromPolyadicExpression: check operand validity
As processing the previous operands may completely rewrite the whole polyadic expression, we have to stop if this happens
No need to find the replacement and process the tail: it's already processed in removeParensFromParenthesizedExpression
Fixes EA-141996 - PIEAE: CompositePsiElement.getContainingFile

GitOrigin-RevId: 64162346a612e2d95eec426419bef51d6c5d46a3
2019-04-28 17:44:13 +03:00
Tagir Valeev c11388a534 IDEA-209947 Explain CCE warnings; merge explanations from different states
GitOrigin-RevId: b83e85b4712257fd536bca806790e2878bbf89a8
2019-04-28 17:42:59 +03:00
Roman Shevchenko 5146c45ba8 [java] makes "convert to basic latin" action tolerable to unclosed doc comments (IDEA-211695)
GitOrigin-RevId: afe4cff35979b4f3ec0c72512d0e555b3f21ac78
2019-04-28 17:40:30 +03:00
Rustam Vishnyakov c0911cb9bb Allow dots in EditorConfig values for IntelliJ properties
enables imports layout and packages to use imports on demand

GitOrigin-RevId: bb6f1b88d15b57f6d542ad5692bccb9ced8b59a1
2019-04-28 17:33:42 +03:00
peter 28a5a5765f IDEA-211449 IDEA is unable to find lambda implementations when invoked on library class source
GitOrigin-RevId: 8fd904e0dae62c5b15f9b85fe2086860bf89b4d0
2019-04-28 17:13:28 +03:00
Sergey Patrikeev 604b4b2ba8 IDEA-211443: Deprecation inspection must report links to deprecated elements in Javadoc.
GitOrigin-RevId: 512187024d767acaef4db482e7fa5ee85a068036
2019-04-28 16:47:44 +03:00
Tagir Valeev e12a1970e4 IDEA-209947 Report obviously not-null values; better propagation through assignment
GitOrigin-RevId: 2f6cd06b9750e8f080ab543af40b522f4c2bfefa
2019-04-28 16:47:05 +03:00
Tagir Valeev efcbb20422 IDEA-209947 Better type constraint explanation
GitOrigin-RevId: bc97ff49908ffee155459fb81dc5e46e4fb12c59
2019-04-28 16:46:26 +03:00
Tagir Valeev 137792b1c3 IDEA-209947 Basic explanations for instanceof
GitOrigin-RevId: 86697e1b8f0a1d905c8b17b732bb01f045e4d4b6
2019-04-28 16:36:05 +03:00
Anna Kozlova 38f5055d00 replace type with var: allow anonymous type replacement (IDEA-210534)
though interface to implementation replacement may lead to implementation type propagation, anonymous type can't be propagated so it's safe to be used as var

GitOrigin-RevId: cae306614efcb92551f2aa907f8d66e1bd2db930
2019-04-28 16:02:06 +03:00
Tagir Valeev 364d5bc833 IDEA-211549 Inline method: support negation at the call site
GitOrigin-RevId: d9afdc05a45b153ce23bf5f6e091606f43b050f6
2019-04-28 15:00:48 +03:00
Anna Kozlova 85fa5fa5d5 dummy constructor resolution: don't insert access object (IDEA-211203)
GitOrigin-RevId: 8b9184a572a263ec43e0e9c1a7d4af3b9151eb75
2019-04-28 14:58:28 +03:00
Anna Kozlova 00fbf3d133 lambda potential compatibility: don't treat array creation as void compatible
array creation can't be used as expression statement thus corresponding lambda body is value compatible but not void compatible

GitOrigin-RevId: b0ddccad13c8699de64c4ce3e584214fe08a2353
2019-04-28 14:57:53 +03:00
Tagir Valeev 9af3284048 StreamToLoopInspection: simplify getEffectiveQualifier usage; support unqualified Iterable.forEach, Map.forEach
Review ID: IDEA-CR-46452

GitOrigin-RevId: 7622f0f1274d9f23bfaef88096b3eedd2b4d18a6
2019-04-28 14:53:13 +03:00
Tagir Valeev be046cd63b CastLongLiteral: remove unused import
GitOrigin-RevId: 17b254c55a16d7be7462aef9bab7d57b00bd6f2b
2019-04-28 14:50:53 +03:00
Anna Kozlova 8e2bf508e0 normalize array of captures type (IDEA-211139)
GitOrigin-RevId: bfb2392bd4cd5e435ad6a3e8a825b068e17fb5fc
2019-04-28 14:45:38 +03:00
Alexey Kudravtsev 28541d269e When invoking Find Usages on a method which is sibling-inherited, include the method itself (along with found super-sibling) to the primary elements because otherwise it can't sometimes be found by super-sibling alone.
GitOrigin-RevId: 2be6da78182c7b52527eaa7df5f64b8522d94bee
2019-04-28 14:16:24 +03:00
Rustam Vishnyakov 72b82e2827 Use block_brace_style instead of brace_style
The latter may be interpreted as applicable to any kind of braces

GitOrigin-RevId: 94860a07937eb661fa6e111b90cb8cbf59431048
2019-04-23 13:28:33 +03:00
Tagir Valeev 92507ef9b6 IDEA-211473 Inline method: process some boolean methods with multiple exits specially
GitOrigin-RevId: 5e3bc7e8577a346059192cb7d68bef7eef818ffd
2019-04-23 13:20:13 +03:00
Tagir Valeev 8f4ed82473 Merge remote-tracking branch 'origin/master'
GitOrigin-RevId: 4aa2198b0e40383875028553977a5721ba77766d
2019-04-23 13:19:45 +03:00
Tagir Valeev 3840db2736 RedundantCastUtil: do not report false-positive in code like Object x = (long)intValue;
GitOrigin-RevId: c290213db44e67f5c8949da0b9dce58a7cb9323a
2019-04-23 13:19:17 +03:00
Tagir Valeev 7bc2b6c529 Restore cast in possibly important context; fix ReplaceInefficientStreamCount tests
GitOrigin-RevId: 84ef59c2941462b3060c31cfea85f90ee6d39af8
2019-04-23 13:16:29 +03:00
Tagir Valeev bec9b23504 IDEA-146649 "Redundant type cast" warning expected when casting primitive to the same type
GitOrigin-RevId: 1ee7941e5f78e525a3edd92f539e21bd720b096e
2019-04-23 13:16:01 +03:00
Tagir Valeev bfde8b00af RedundantCastUtil: report safe widening primitive casts
Fixes IDEA-154832 IDEA add unnecessary cast to double on method inline

GitOrigin-RevId: 1e8dbd1466f74bdab9584a860f4e188b025fba1c
2019-04-23 13:15:33 +03:00
Tagir Valeev 505bdd1c87 IDEA-178890 "Inline" Foo.class.getName(), Foo.class.getSimpleName()
GitOrigin-RevId: 12c063d4e41ba8f5244a9c0609ebf016980c97c8
2019-04-23 13:15:05 +03:00
Tagir Valeev 3180debb4b IDEABKL-4394 Automatically remove redundant result variable when inlining the method 2019-04-19 17:38:22 +07:00
Artemiy Sartakov 861d2c1dde ExplicitArrayFillingInspection: detect cases when for loop can be replaced with Arrays.fill call (IDEA-185394) 2019-04-19 17:12:13 +07:00
Tagir Valeev 0aac1b7ed7 InlineMethod: better transformation when return value is unused 2019-04-19 15:02:32 +07:00
Tagir Valeev 3345967b85 Parameter mapping fixed in case if two vars introduced 2019-04-19 15:02:32 +07:00
Tagir Valeev 723c055455 FinishMarker: use the first movable value when mayNeedMarker is true (may generate shorter code) 2019-04-19 15:02:32 +07:00
Tagir Valeev 179a83f60e TrivialFunctionalExpressionUsageInspection: support parentheses for anonymous class 2019-04-19 11:55:23 +07:00
Tagir Valeev e13567df50 Better comment handling in ternary->if conversion & stream-to-loop 2019-04-19 11:45:55 +07:00
Sergey Patrikeev 95cc10cd5e IDEA-210618: Reference implementation of PSI visitor for UAST-supporting languages that detects usages of APIs in source code. 2019-04-18 19:58:17 +03:00
Pavel Dolgov aa1b72ba7a Java: Fixed modifiers when extracting method from default or private method in interface (IDEA-211141) 2019-04-18 16:28:01 +03:00
Tagir Valeev 9e1982a819 ExpressionUtils#getQualifierOrThis -> getEffectiveQualifier, nullable now (cannot construct this expression for outer anonymous class)
Fixes EA-140652 - assert: JavaParserUtil.parseFragment
2019-04-18 13:04:43 +07:00
Tagir Valeev 6495bd1cdd ExpressionUtils#getQualifierOrThis: support local classes (partial fix for EA-140652) 2019-04-18 11:55:45 +07:00
Anna Kozlova 543f3ad609 junit: ensure class methods are filtered by patterns (IDEA-210882) 2019-04-17 14:21:09 +02:00
Pavel Dolgov 2f8ed67c62 Java: Recognize @systemProperty tag in Javadoc (IDEA-210273) 2019-04-17 14:52:11 +03:00
Tagir Valeev e974f34ddc Better human-readable presentation of ranges 2019-04-17 14:47:11 +07:00
Tagir Valeev 07f104c16f FindDfaProblemCauseFix: display line number in popup (IDEA-CR-45717) 2019-04-17 14:47:11 +07:00
Tagir Valeev 4a249e6de6 Dataflow warning explanation (IDEA-209947) first draft
Only for constant expressions now (condition is always true/false/null); explain only in some cases (see TODO list in TrackingRunner.java)
2019-04-17 14:47:11 +07:00