Anna.Kozlova
27ca3fe565
ensure enum constants resolved inside enum class
...
EA-83687 - assert: PsiEnumConstantImpl.resolveMethodGenerics
2017-02-17 19:37:21 +01:00
Anna.Kozlova
e794bbcb0f
erasure return type when unchecked conversion was required deep inside (IDEA-168316)
2017-02-17 10:57:30 +01:00
Anna.Kozlova
e0afb738e7
revert additional applicability checks due to captures inside subst
2017-02-15 13:38:12 +01:00
Anna.Kozlova
770bd344ea
ensure assignability for standalone expressions during applicability check (IDEA-159086)
2017-02-13 18:30:53 +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
e88322304e
inference: deep nested session based on existing initial substitution (IDEA-167713)
2017-02-10 10:04:15 +01:00
Anna.Kozlova
2fc0560169
inference: ensure don't walk through explicitly specified type
2017-02-09 10:14:07 +01:00
peter
abeb3aae84
IDEA-167777 Code completion (ctrl+space) ignores static imports from interfaces.
2017-02-08 18:49:11 +01:00
Anna.Kozlova
07a332598a
ensure additional constrains are collected based on ground functional type (IDEA-167277)
2017-02-01 19:12:26 +01:00
peter
4e71366f3b
prefer local variables over static method references in completion
2017-02-01 17:53:15 +01:00
Anna Kozlova
8913e40ed1
ground type for explicitly typed lambda: add sam to target class substitution (IDEA-166662)
2017-01-18 12:11:17 +03: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
f6364fbc68
method hierarchy with generics methods: fix adapting substitutor (IDEA-165969)
2016-12-28 14:20:06 +01:00
Anna.Kozlova
8f533a3edc
overload resolution: don't ignore method with incorrect number of parameters when it overrides vararg method (IDEA-165829)
2016-12-27 11:29:37 +01:00
Anna.Kozlova
341b97a5b2
exact method refs: mark as not exact if on raw type
2016-12-23 19:37:48 +01:00
peter
8d4406a15e
IDEA-165594 Auto completion adds unnecessary spaces before and after colon in case of method reference
2016-12-19 15:47:42 +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
4290a37a08
new inference: check intersection type of upper bound to detect substitution (IDEA-165011)
2016-12-07 18:44:34 +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
382b78aeca
unrelated defaults: check if current class contains explicit method (IDEA-164732)
2016-12-02 11:51:07 +01:00
Anna.Kozlova
936294e05d
allow functional expressions in nested conditional expressions (IDEA-164828)
2016-12-01 16:52:02 +01:00
Anna.Kozlova
a17be30b79
include package local methods into method hierarchy (IDEA-164557)
2016-12-01 10:39:31 +01:00
Anna.Kozlova
049a253fdf
inference: don't erase types when target type is parameterized with unbounded wildcards only, in this case no unchecked warning would be generated and the types won't be affected by unchecked warning clause
2016-11-23 11:53:29 +01:00
Anna.Kozlova
becb6c7387
inference: mark call unchecked required when proper types are compared (IDEA-164243)
2016-11-21 19:33:20 +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
ccb61093af
overload resolution: don't choose most specific method based on boxing property for vararg position (IDEA-163597)
2016-11-17 17:10:53 +01:00
Anna.Kozlova
39aa837db3
inference: don't distinguish parameterizations with 2 different interfaces (IDEA-163950)
2016-11-15 18:11:31 +01:00
Anna.Kozlova
b8e4985205
don't erase method invocation type iff unchecked conversion was required during additional constraints processing (IDEA-163503)
2016-11-03 16:38:40 +01:00
Anna.Kozlova
bf259fed79
unrelated defaults when one interface overrides 2 unrelated (IDEA-163469)
2016-11-02 15:51:14 +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
12554167e7
inference on incomplete code (EA-90195 - AIOOBE: PsiTypesUtil.getParameterType)
2016-10-20 19:04:25 +02:00
Anna.Kozlova
41c2429966
new inference: postpone unresolved variables in favor to variables with proper equals bound
2016-10-11 10:27:29 +02:00
Anna.Kozlova
98094c72de
lambda: ensure deep nested lambdas get target types from top level inference (IDEA-157314)
2016-10-07 13:55:01 +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
031f71c5b3
redundant cast: don't highlight conditional with functional branches (IDEA-161971)
2016-10-04 18:45:14 +02:00
Anna.Kozlova
3332a677a6
allow functional interfaces in conditionals inside assignment or invocation contexts only
2016-10-04 18:45:14 +02:00
peter
53867e057f
IDEA-161862 Lambda Expressions not showing as implementations of an interface
2016-09-29 11:31:20 +02:00
Anna Kozlova
c95ba9968d
testdata
2016-09-22 17:25:47 +03:00
Anna Kozlova
926d7063f5
fix testdata
2016-09-19 18:50:55 +03:00
Anna Kozlova
b8f0e626b9
java 8 diamonds: include constructor's type parameters in inference constraints (IDEA-160918)
2016-09-19 17:43:55 +03: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
peter
d408fdc798
IDEA-161250 Semicolon added in the middle of code
2016-09-15 12:03:42 +02: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
1bece25b95
inference: when unchecked conversion was applied, resolve variables against raw substitutor
2016-08-17 13:53:02 +03:00
peter
9776d5a28d
speedup functional expression search (IDEA-159107)
...
* filter inapplicable expressions without loading AST if possible, via approximate resolve
* for that, store the approximate call chains in index
* iterate over files once, not for each empty marker Runnable interface separately
* don't rely on generic method parameter index: it's huge, memory-hungry and works only in Java
2016-08-13 12:12:19 +02:00
peter
e8ea2598f3
fun expr search: minor improvements after reviews
2016-08-13 12:12:19 +02:00
Anna.Kozlova
369c9a24b4
diamonds: fix conflicting names between constructor and class type parameters (rename the constructor type parameters)
2016-08-09 15:52:11 +02:00