Commit Graph

161 Commits

Author SHA1 Message Date
Anna Kozlova
afa0706bfc java highlighting: provide better incompatible types message on failed inference
GitOrigin-RevId: 5f97ec808f753d9ca40c417704ec93a802512745
2019-07-08 12:04:21 +03:00
Rustam Vishnyakov
123242c4b2 EditorConfig documentation test
GitOrigin-RevId: fd52ace3d7a32ecd02c2c5ab90e077967604c15e
2019-06-16 04:03:21 +03:00
Egor Zhdan
c1813cfb52 Cleanup: NotNull/Nullable
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
2019-06-16 04:02:08 +03:00
Anna Kozlova
91f7445298 constructor reference: don't ignore constructor parameters during method reference inference (IDEA-185578)
GitOrigin-RevId: e836468e05db28157713e9edd3c70382f8ecdebc
2019-06-13 03:15:49 +03:00
Egor Zhdan
39d2d77155 Cleanup: NotNull/Nullable
GitOrigin-RevId: b8e892f32ea84c2115973155dba7127b892cc36e
2019-06-13 03:14:35 +03:00
Aleksey Rostovskiy
185284cee6 get rid of intellij.build.toolbox.litegen parameter and use BuildOptions.TOOLBOX_LITE_GEN_STEP to skip it instead
GitOrigin-RevId: 9aac8ee4ed1ebf2a29de18a238825fafb1ab88f9
2019-05-27 15:08:08 +03:00
Alexandr Suhinin
9215f4240b [duplicates] enable duplicates analysis in PyCharm/WebStorm/PhpStorm/RubyMine
GitOrigin-RevId: 1545b79fdca4888f4b94f47f22703fd37694fa7a
2019-05-27 15:07:30 +03:00
peter
000ccd1dbc java: prohibit caching when using thread-local types imposed on expressions and declarations in complex nested inference scenarios
GitOrigin-RevId: a767826dedb5d1879009ee5804e1c675d1b863ac
2019-05-27 09:04:05 +03:00
Anna.Kozlova
b015644d7a get rid of redundant space in error message 2018-11-21 15:54:15 +01:00
Anna.Kozlova
51a2d549b2 highlight only method name on unhandled exception (IDEA-190912) 2018-04-25 21:11:38 +02:00
Tagir Valeev
4234f0d140 EffectiveFinal tests reported in IDEA-154224, IDEA-163280, IDEA-171790 2018-02-08 13:21:31 +07:00
Anna.Kozlova
1fc76eb779 calc types by applicability constraints if inference fails
include all inference variables for resolve and ignore additional constraints checks if the inference is going to failure; this way if (expr()) would get type of the 'standalone' expression instead of expression with boolean as expected type
2017-12-07 15:51:06 +01:00
Anna.Kozlova
3d1ba95725 unhandled exception: shrink the highlighted range (IDEA-177234) 2017-08-09 18:38:29 +02:00
Anna.Kozlova
9e0394a757 lambda constraints: proceed with return expressions (IDEA-175426)
lambda with formal types won't lead to additional constraint after return type constraint processing, thus it need to be processed additionally
2017-07-05 16:48:52 +02:00
Anna Kozlova
77f4894aae inference errors: make applicability error thread safe so multiple threads can perform overload resolution of parent method calls independently, save presentable error when substitutor cached only 2017-05-08 12:12:13 +03:00
Anna.Kozlova
bdd3f7f3d6 pertinent to applicability: process return statements inside block lambda 2017-04-28 20:23:23 +02:00
Roman Shevchenko
6bd1b92c6e [tests] prepares Java tests for the language level raise 2017-03-24 13:19:01 +01:00
Anna.Kozlova
e55fbf3f1d isEffectivelyFinal: disallow effectively final variables to be initialized twice (IDEA-165060) 2016-12-06 17:54:19 +01:00
Anna.Kozlova
936294e05d allow functional expressions in nested conditional expressions (IDEA-164828) 2016-12-01 16:52:02 +01:00
Anna.Kozlova
3797d3ea1c ensure ambiguity error presentation doesn't depend on previous calls to getSubstitutor() 2016-10-21 18:07:07 +02:00
Anna.Kozlova
b560ee5910 lambda highlighting: if return statement has problem, try to highlight only corresponding return even if containing inference failed 2016-10-07 13:55:01 +02:00
Anna.Kozlova
62d25f9d05 new inference: provide incomplete inference results for lambda (IDEA-162035; IDEA-155230) 2016-10-06 16:21:05 +02:00
Anna.Kozlova
3332a677a6 allow functional interfaces in conditionals inside assignment or invocation contexts only 2016-10-04 18:45:14 +02:00
Anna Kozlova
c95ba9968d testdata 2016-09-22 17:25:47 +03:00
Anna.Kozlova
9150e6fd4a clear error message (IDEA-154419) 2016-04-08 18:44:25 +02:00
Anna Kozlova
c16a53a9fb do not open capture when method call type is calculated 2015-12-03 12:18:25 +01:00
Anna Kozlova
3a669178f5 do not open captured wildcards on substitution; don't capture wildcards on getExtendsTypes for type parameters and their consequences 2015-12-02 10:17:29 +01:00
Anna Kozlova
621795bbee isApplicability check based on pertinentToApplicability 2015-11-30 15:11:41 +01:00
Anna Kozlova
49dfdded70 new inference: don't push resolved vars in case of failed substitution 2015-11-24 10:30:21 +01:00
Anna Kozlova
138bd5a034 new inference: provide diagnostics on failed inference (strict subtyping constraints); don't resolve vars before incorporate - this way captures won't be opened too early 2015-11-24 10:30:21 +01:00
Anna Kozlova
e7d095d85f new inference: provide diagnostics on failed inference (checked exceptions) 2015-11-24 10:30:21 +01:00
Anna Kozlova
be2db1f940 new inference: report inference errors of containing call for lambdas 2015-11-20 21:47:13 +01:00
Anna Kozlova
61f120b30e new overload resolution: first check that collected methods are potentially compatible with args; for generic methods without specified type arguments this already means that they are applicable; for non generic methods (or raw method calls) expressions should be compatible with parameter types (formal parameter types = actual types as substitutor is known) (IDEA-147798) 2015-11-20 18:22:02 +01:00
Anna Kozlova
773e192f1a recursive getLambdaParameterType problem: don't check nested lambda body for unchecked exceptions, that's impossible anyway (IDEA-146161) 2015-10-09 17:17:09 +02:00
Roman Shevchenko
32a6761ede Cleanup (i18n; text corrected) 2015-07-20 12:06:25 +03:00
Anna Kozlova
30a12275a2 lambda: highlight containing method ambiguity on method name: this avoids lots of lines of lambda body to be highlighted and it would show errors even if lambda body contains errors actually caused by the ambiguity on the parent level (IDEA-141580) 2015-06-18 17:54:23 +03:00
Anna Kozlova
553ad77e46 overload resolution: reject java 8 varargs methods when they are checked by fixed arity and number of parameters doesn't match 2015-04-24 20:33:40 +02:00
Anna Kozlova
9fc640a8f0 ensure correct expression is checked during read before write variable check (IDEA-135937) 2015-02-20 21:37:28 +01:00
Anna Kozlova
925e9d1610 pertinent to applicability: reject nested lambdas if they target non proper type 2015-02-13 18:54:02 +01:00
Anna Kozlova
af7da7a8f4 incompatible parameter types in lambda expression message expanded (IDEA-134941) 2015-01-07 17:10:09 +01:00
Anna Kozlova
8ce9831489 bad return type in lambda expression: requited type added; range corrected (IDEA-134942) 2015-01-07 16:07:27 +01:00
Anna Kozlova
145f701bc1 new overload resolution: integrate isPotentiallyCompatible in isApplicable checks 2014-11-26 17:42:30 +01:00
Anna Kozlova
ddbaef9462 fix message for final locals used inside local/anonym classes in java 8 (IDEA-131949) 2014-10-29 18:05:52 +01:00
Anna Kozlova
33f7cb51f2 new inference: most specific check according to spec, fixed testdata after JDK-8043734 2014-09-04 13:45:03 +04:00
Anna Kozlova
83c2d36544 testdata for assignment to final vars inside lambda 2014-09-03 16:54:32 +04:00
Anna Kozlova
44253d03be forbid assignment to final variable inside lambda 2014-09-03 16:54:31 +04:00
Anna Kozlova
457091952f effectively final check (IDEA-128196) 2014-08-04 15:08:27 +02:00
Anna Kozlova
53cf6f6905 wording: warn about self references instead of "forward" ones 2014-07-02 12:26:17 +02:00
Max Medvedev
319bbf28a0 IDEA-125909 Groovy: trait methods accessed via 'super' are not resolved.
Use LinkedHashSet for PsiIntersectionType for order forcing.
2014-06-18 14:02:40 +04:00
Anna Kozlova
896c488a2f testdata to expression lambda 2014-05-01 15:33:11 +04:00