Anna Kozlova
c9d3d04e73
method ref: ensure capture conversion on first arg of second search
2018-05-22 15:48:15 +03:00
Anna.Kozlova
c4ada244b2
method refs: don't ignore applicability errors (IDEA-191467)
2018-05-17 11:28:24 +02:00
Anna.Kozlova
74f6d68ea3
inference for method references: register new variables for raw access
...
IDEA-189883, IDEA-188976: according to the 15.13.1 search for member is performed in the parameterization (non-raw) type which is a subtype of the first parameter type, in this case no additional variables are required as the type contains type arguments
2018-04-11 10:19:16 +02:00
Anna.Kozlova
aad9fe81c2
show error for type arguments on array creation (IDEA-189766)
2018-04-09 15:07:49 +02:00
Anna.Kozlova
9e20e117d6
skip inference for incompatible method references
...
EA-103416 - assert: PsiMethodReferenceCompatibilityConstraint.getSubstitutor
2017-12-14 18:45:49 +01: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
e67bf2488b
method references: do not prefer varargs from first search (IDEA-182018)
2017-11-13 16:41:50 +01:00
Anna.Kozlova
9728678ff4
method references: don't swallow errors during method ref inference (IDEA-179706)
2017-09-29 14:31:21 +02:00
Anna.Kozlova
643e046c85
EA-107704 - assert: InferenceSession.<init>
2017-09-26 14:33:30 +02:00
Anna.Kozlova
1699697000
testdata for IDEA-175280
2017-07-03 16:53:16 +02:00
Anna Kozlova
088510d098
skip warnings for constructor refs with varargs (IDEA-174074)
2017-06-27 19:47:53 +03:00
Anna Kozlova
12c350758d
Interface.super method calls: ensure valid qualifier (IDEA-173888)
...
forbid calls to super methods which are overridden in direct superinterfaces
2017-06-05 14:34:18 +03:00
Anna Kozlova
011b8e4e10
checked exception constraints: ensure ground type (IDEA-173200)
2017-05-22 11:25:29 +03:00
Anna Kozlova
728ed62ed0
testdata for IDEA-157350
2017-05-10 20:35:34 +03:00
Anna Kozlova
ee0e90d92c
provide applicability substitutor when inference fails for parent expression
2017-05-08 22:58:02 +03: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
c4d213ba26
method references: don't infer Object when no constraint exist for 'raw' reference (IDEA-171922)
2017-04-26 16:28:04 +02:00
Anna.Kozlova
c322dd3807
method reference: registry option to skip unsound capture conversion specified in the spec but ignored by the javac, to be changed in the next spec version (IDEA-171488)
2017-04-18 15:03:44 +02:00
Anna.Kozlova
a3dca1423c
method references: exclude type parameter used in return types only (IDEA-171480)
2017-04-18 15:03:44 +02:00
Anna.Kozlova
3da240cba6
method reference: distinguish captured wildcards by target parameters (IDEA-170340)
2017-03-28 10:09:30 +02:00
Roman Shevchenko
6bd1b92c6e
[tests] prepares Java tests for the language level raise
2017-03-24 13:19:01 +01:00
Roman Shevchenko
1abffecba5
Cleanup (warnings, formatting)
2017-03-24 13:18:59 +01:00
Anna.Kozlova
9c3ebf16aa
method reference: include super substitutor into method reference substitutor when referenced method has no type parameters (IDEA-169134)
2017-03-07 09:15:29 +01:00
Anna.Kozlova
abfa41efdf
applicability error: check inferred types by applicability substitutor (IDEA-167275)
2017-02-13 14:10:51 +01:00
Anna.Kozlova
178e834fb9
checked exception compatibility constraint: don't substitute with inferred variables as types are already constructed based on substituted values, so avoid dbl substitution which leads to errors in case of references to the containing method (IDEA-166104)
2017-01-02 12:27:12 +01:00
Anna.Kozlova
341b97a5b2
exact method refs: mark as not exact if on raw type
2016-12-23 19:37:48 +01:00
Anna.Kozlova
575a0740a9
method refs: ensure raw substitutor is not used for second search case to build return type constraints (IDEA-165239)
2016-12-14 11:31:36 +01:00
Anna.Kozlova
ec82847b4e
resolve for method reference qualifier should prefer classes in case of constructor refs (IDEA-164165)
2016-11-18 17:58:54 +01:00
Anna.Kozlova
80a5866b23
super expression rules should not apply to this expressions (IDEA-163303)
2016-10-28 18:23:21 +02:00
Anna.Kozlova
9bcbdb68cb
inference: register inference error when nested inference don't start as cached session already had errors
2016-10-21 18:07:07 +02: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
f4dae32d7f
overload resolution: prefer candidates with functional formal type if lambda is passed; this way conflict would be resolved and nested error would be shown instead
2016-09-16 08:34:15 +03:00
Anna Kozlova
2ec75e05a1
method refs: prefer unhandled exception to wrong return type error (IDEA-160251)
2016-08-25 17:36:03 +03:00
Anna.Kozlova
3ee60dba1d
method ref: ensure top substitutor is not overridden with raw replacement from second method ref search (IDEA-158636)
2016-07-18 14:57:04 +02:00
Anna Kozlova
1193a54876
warn about unused parameter if method is used locally as method reference as it could be transformed to equivalent lambda (IDEA-157988)
2016-06-29 20:32:32 +03:00
Anna.Kozlova
f64bd14441
method refs: site substitution should not replace session setup (IDEA-154722)
2016-04-14 12:28:44 +02:00
Anna.Kozlova
d780e31bdf
inference: ensure foreign variables do not participate in inference process, e.g. variables from method reference overload resolution (IDEA-154622)
2016-04-13 21:11:02 +02:00
Anna.Kozlova
9086115347
method ref: type parameter instantiation (IDEA-154645)
2016-04-13 12:30:54 +02:00
Anna.Kozlova
f139c4cef4
new inference: check provided lower bounds on type parameters, in case of fresh variables they declare the type hierarchy and otherwise constrains won't agree (IDEA-153642)
2016-03-29 16:51:50 +02:00
Anna Kozlova
119449501b
testdata for IDEA-152659
2016-03-09 14:23:53 +01:00
Anna Kozlova
1e764c9961
inference: skip lambda content and all its dependants when lambda type parameter type is calculated
2016-03-03 11:39:53 +01:00
Anna Kozlova
3434d9cc47
method reference: capture wildcards of new expressions (IDEA-152115)
2016-02-25 19:42:52 +01:00
Anna Kozlova
ea9e4ba63c
method reference on getClass: fix method reference constraint
2016-02-01 16:53:20 +03:00
Anna Kozlova
e6357ca1dd
method refs: fix getClass() return type in case of method references
2016-02-01 16:53:20 +03:00
Anna Kozlova
0d1cca1cd1
inference: force incorporation after reduce
2016-01-19 20:46:08 +01:00
Anna Kozlova
0926ee29c1
TypeName.super checks for classes fixed (IDEA-150141)
2016-01-14 18:42:40 +01:00
Anna Kozlova
88586f6ab9
method refs: captured wildcard at receiver position
...
EA-77434 - assert: PsiMethodReferenceCompatibilityConstraint.getParameterizedTypeSubstitutor
2016-01-04 19:25:03 +01:00
Anna Kozlova
105f33870f
method references with qualifier with captured wildcard type: retrieve upper bound as it is done for method calls
2015-12-30 18:56:58 +01:00
Anna Kozlova
6aa61227df
method reference: replace raw substitutor from second search with inferred substitutor and don't forget super class substitution (IDEA-149488)
2015-12-30 15:29:56 +01:00
Anna Kozlova
242cd356a7
method reference: additional diagnostics for invalid method references (IDEA-149688)
2015-12-29 16:46:58 +01:00