Commit Graph

162 Commits

Author SHA1 Message Date
Anna Kozlova 07fe5de1ce [java inference] treat intersection type in one more place (IDEA-274350)
GitOrigin-RevId: d31b30aab900748010f28b02c483c56982d26040
2021-07-27 06:56:28 +00:00
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