Commit Graph
3681 Commits
Author SHA1 Message Date
Alexey Kudravtsev 8dc1fe22e7 cleanup 2018-11-25 16:22:05 +03:00
Anna.Kozlova 1658b14f3c switch expressions: check old style breaks & switch chains during compatibility checks
IDEA-CR-40239
2018-11-22 18:31:25 +01:00
Pavel Dolgov 153535ef9a Java: Highlight switch expressions that don't produce the result on some execution path (IDEA-202621) 2018-11-22 16:13:48 +03:00
Roman Shevchenko a6338c60ec [java] value breaks: completion fixes (IDEA-196643) 2018-11-21 18:30:44 +01:00
Bas Leijdekkers e824cc5fa4 switch expression precedence 2018-11-21 18:16:14 +01:00
Pavel Dolgov 9fc8a64cd6 Java: Extend control flow analysis to support enhanced switch & switch expression, including break-with-value (IDEA-202131) 2018-11-21 18:49:01 +03:00
Anna.Kozlova b015644d7a get rid of redundant space in error message 2018-11-21 15:54:15 +01:00
Roman Shevchenko c864e9f95f [java] value breaks: corrects exited statement lookup (IDEA-CR-40172) 2018-11-21 14:50:02 +01:00
Roman Shevchenko 61df9279ff [java] value breaks: PSI improvements (IDEA-CR-40172) 2018-11-21 13:56:59 +01:00
Roman Shevchenko d50cffbf0f [java] value breaks: basic highlighting (IDEA-196643) 2018-11-20 18:57:22 +01:00
Roman Shevchenko ce161e00f3 [java] value breaks: parser/PSI (IDEA-196643) 2018-11-20 18:56:41 +01:00
Roman Shevchenko 78a4e02c9d Cleanup (minor optimization; formatting) 2018-11-20 14:15:22 +01:00
Pavel Dolgov cdee0f85e5 Java: Extend control flow analysis to support enhanced switch & switch expression. No break-with-value yet (IDEA-202131) 2018-11-19 17:26:28 +03:00
Anna.Kozlova c3bc7e3461 switch expression type: initial 2018-11-19 11:25:18 +01:00
Tagir Valeev 882322a5bf InferenceSession#isOverloadCheck: take parentheses into account 2018-11-17 14:48:24 +07:00
Tagir Valeev ef607151d0 PsiImplUtil#getSwitchLabel javadoc fixed (IDEA-CR-39949) 2018-11-16 16:32:18 +07:00
Tagir Valeev 5d9fac39d0 PsiImplUtil#getSwitchLabel reused (IDEA-CR-39949) 2018-11-16 16:21:02 +07:00
Roman Shevchenko ca16031b1c Cleanup (minor optimization; formatting) 2018-11-16 10:17:23 +01:00
Anna.Kozlova 8b768f2e94 inference: skip constraints and everything dependant above overload resolution 2018-11-15 16:31:25 +01:00
Roman Shevchenko a41d68310b Cleanup (formatting; minor optimization) 2018-11-15 13:30:25 +01:00
Roman Shevchenko e2e856f6a1 Cleanup (formatting) 2018-11-14 17:51:21 +01:00
Anna.Kozlova c4393bfa0e inference: skip constraints that depend on ignored constraints
when type of lambda parameter is calculated, the containing lambda doesn't end in the constraints set; if some other constraints depend on it's output variables, inside those constraints e.g. method calls may be cached based on incomplete inference results which would lead to blinking of highlighting
2018-11-14 15:18:08 +01:00
peter aea80b035d IDEA-CR-39679 restore useful validity check (e.g. EA-125970 - assert: PsiReferenceExpressionImpl$TypeEvaluator.fun) 2018-11-14 08:26:53 +01:00
Roman Shevchenko 2b84e80868 [java] switch expressions: basic highlighting (IDEA-196643) 2018-11-13 13:28:15 +01:00
Roman Shevchenko 72be23d3f1 [java] switch expressions: PSI corrections (IDEA-196643) 2018-11-12 19:04:23 +01:00
peter a84948269c IDEA-200807 NPE caused by NonClasspathClassFinder constructor leaking "this" 2018-11-12 18:23:21 +01:00
peter 8e3c67367e faster highlighting for many string literals in expression list 2018-11-12 17:41:08 +01:00
Roman Shevchenko ff122c3d83 [java] switch expressions: parser/PSI (IDEA-196643) 2018-11-12 16:33:23 +01:00
Roman Shevchenko a5c6050ab3 Cleanup (simpler spacing logic for lambdas/method refs/switches) 2018-11-12 15:27:47 +01:00
Roman Shevchenko 984c5ac4e0 Cleanup (duplicates; formatting) 2018-11-12 14:46:28 +01:00
Roman Shevchenko 3e1106d599 Cleanup (duplicates; formatting) 2018-11-12 13:28:09 +01:00
peter 1514583758 less isValid checks during java resolve
they're not exactly free, and we now have better ones
2018-11-12 10:41:43 +01:00
Roman Shevchenko 35ca6e9efd [java] validates container annotation "concreteness" (IDEA-201354) 2018-11-09 22:09:35 +01:00
Roman Shevchenko 14bc258e3f [java] restores multifaceted switch labels support (parser/PSI + basic highlighting) 2018-11-09 18:22:32 +01:00
peter fd57bf66f1 multi-JDK highlighting: handle a reference to a method whose super appeared in call site jdk 2018-11-09 16:24:47 +01:00
Alexey Kudravtsev 3d0c65bd23 notnull, cleanup 2018-11-09 17:16:07 +03:00
Egor Ushakov 970eed743a use PsiUtil.isArrayClass - IDEA-CR-39607 2018-11-09 16:04:56 +03:00
Alexey Kudravtsev 13a481ca2e notnull 2018-11-09 14:44:12 +03:00
Roman Shevchenko 5740f632e6 [java] reverts multifaceted switch labels support 2018-11-08 21:24:31 +01:00
Dmitry Jemerov ae971d4b88 Remove redundant overrides of navigation methods which are inherited from PsiElementBase 2018-11-08 17:53:31 +01:00
Roman Shevchenko fe38d8cf2c [java] multifaceted switch labels: parser/PSI (IDEA-196643) 2018-11-08 15:48:39 +01:00
peter 0e4c7663a5 remove duplication in PsiMember#isDeprecated 2018-11-08 12:18:57 +01:00
Roman Shevchenko c601268f15 Cleanup (minor optimization; formatting) 2018-11-08 11:34:55 +01:00
peter 5c7c18c460 PsiClass.getDocComment: don't load AST when there's no doc comment 2018-11-08 08:36:48 +01:00
peter dd57f9d123 make PsiClassReferenceListStubImpl.myTypes thread-safe 2018-11-07 16:23:00 +01:00
peter 65295ceeee LightReferenceListBuilder: less caching, don't resolve class types upon addition
because resolve might be expensive, and sometimes lead to SOE if it requests the same lazily calculated reference list on the same class
2018-11-07 16:22:59 +01:00
peter 64857e9da4 less confusing method names in ClassInnerStuffCache
getAllMethods has a different meaning in other places
2018-11-07 15:53:23 +01:00
Roman Shevchenko 3fdddc56c1 [java] corrects parameter name detection in stub builder; better tests 2018-11-07 14:52:45 +01:00
Daniil Ovchinnikov d3b39580fa [java] make InferenceSession#propagateVariables accept InferenceSession to propagate from 2018-11-07 16:13:09 +03:00
Roman Shevchenko 58f1fd39d2 [java] drops unneeded Kotlin light class compatibility hack
The stub builder now relies on 'visitAnnotableParameterCount' call for offset correction.
2018-11-07 13:01:30 +01:00