Commit Graph

82 Commits

Author SHA1 Message Date
Leonid Bushuev
9f35a30458 SQL code style per dialect: UI
GitOrigin-RevId: 72cca4d6a23a5e2aa2089c03932ab2e9d08bfa48
2019-05-03 01:36:24 +03:00
Anna Kozlova
7a03a2be5c method references overload resolution: skip static methods of interfaces called on inheritor (IDEA-209920)
GitOrigin-RevId: 9e7889def32913679fa867f9dd2a80f8d187964e
2019-04-28 19:25:43 +03:00
Anna Kozlova
00fbf3d133 lambda potential compatibility: don't treat array creation as void compatible
array creation can't be used as expression statement thus corresponding lambda body is value compatible but not void compatible

GitOrigin-RevId: b0ddccad13c8699de64c4ce3e584214fe08a2353
2019-04-28 14:57:53 +03:00
Anna.Kozlova
d2042376d2 overload resolution: erase type of parameter when site substitutor is raw (IDEA-203450)
similar to erasure of call type when inferred substitutor is raw
2018-12-03 15:21:12 +01:00
Anna.Kozlova
b015644d7a get rid of redundant space in error message 2018-11-21 15:54:15 +01:00
Anna.Kozlova
50b66d9d4b method reference overloads: second search should provide actual parameter types with 1 offset (IDEA-200218) 2018-10-22 17:02:20 +02:00
Anna.Kozlova
9aa64b30d9 inference: allow child session inference if containing method is not generics 2018-10-19 17:52:43 +02:00
Anna Kozlova
04b7efb5cd don't calculate substitution for overload resolution applicability checks 2018-01-22 17:07:38 +03:00
Anna.Kozlova
1d6641db80 overload resolution: check method hiding for static only (IDEA-183712)
non-static methods should already be covered by same signatures check
2017-12-13 14:10:59 +01:00
Anna.Kozlova
6bb976899e overload resolution: resolve conflicts with static methods in super interfaces 2017-10-24 10:57:06 +02:00
Anna.Kozlova
14cb19fa39 overload resolution: accept unqualified calls of static interface methods (IDEA-180236) 2017-10-09 15:00:48 +02:00
Anna.Kozlova
dec0d16597 overload resolution: adapt return types before comparing (IDEA-177065) 2017-08-07 18:28:03 +02:00
Anna Kozlova
d31ca80cac testdata for IDEA-158047 2017-05-10 20:35:34 +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
b893701408 overload resolution: same signatures should not check return types, etc already processed in hierarchical signatures (IDEA-172129) 2017-04-28 20:23:23 +02:00
Anna.Kozlova
16b0cce4f6 overload resolution: don't skip static method conflicts in classes in hierarchy (IDEA-171617) 2017-04-19 14:01:07 +02:00
Anna.Kozlova
9dfdd49e17 find class or interface to search the method: stop when accessible method is found even with static problem (IDEA-169504) 2017-03-15 10:41:42 +01:00
Anna.Kozlova
af3deb08fe overload resolution: ensure cleanup both branches of conditional (IDEA-169142) 2017-03-06 15:14:54 +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
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
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
1bece25b95 inference: when unchecked conversion was applied, resolve variables against raw substitutor 2016-08-17 13:53:02 +03: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
99fe682d0b Revert: overload resolution: don't prefer concrete over abstract if the signatures are not override-equivalent (2bedb80d81) 2016-05-31 11:44:10 +03:00
Anna Kozlova
2bedb80d81 overload resolution: don't prefer concrete over abstract if the signatures are not override-equivalent 2016-05-30 11:28:01 +03:00
Anna.Kozlova
1bc380f6fd overload resolution: skip static correctness check during overload resolution (IDEA-154187) 2016-04-06 12:51:57 +02:00
Anna.Kozlova
cc72bd0319 inference: restore probably partial raw inference as this way expected raw types are preserved and Objects won't be inferred in place where raw types were expected 2016-03-30 12:15:25 +02:00
Anna.Kozlova
bf5cd076c1 new inference: avoid inferring partly raw types (in case of unchecked conversion resolve to eq/low bound or null if only upper is present) as these types won't be treated as wildcard parameterized ever (IDEA-150167) 2016-03-24 11:48:06 +01:00
Anna.Kozlova
c5c96608b7 most specific check for proper functional types fixed 2016-03-21 19:35:58 +01:00
Anna.Kozlova
a3aca75748 overload resolution: testdata for java 8 bug 2016-03-21 19:35:58 +01:00
Anna.Kozlova
dcbb728074 testdata for IDEA-153076 2016-03-16 15:35:39 +01:00
Anna Kozlova
7cfcb1bb69 testdata based on IDEA-152768 2016-03-14 17:48:06 +01:00
Anna Kozlova
8b16402ca3 overload resolution: proceed with additional constraints when qualifier type is calculated (IDEA-151409) 2016-02-19 19:18:43 +01:00
Anna Kozlova
779d43a6df testdata for IDEA-151823 2016-02-19 19:18:43 +01:00
Anna Kozlova
a6625994fb overload resolution: don't skip errors from another context (IDEA-151119) 2016-02-02 14:38:40 +03:00
Anna Kozlova
a035c14d75 overload resolution: don't include constraints on functional expressions into applicability check during overload resolution (IDEA-150745) 2016-01-26 17:30:03 +03:00
Anna Kozlova
a166bd1059 overload resolution: infer most specific agains formal param types substituted against site substitutor, including param bounds (IDEA-150773) 2016-01-25 18:52:15 +03:00
Anna Kozlova
883f7f3f39 overload resolution: apply site substitution before potential compatibility check (IDEA-150807) 2016-01-25 18:52:15 +03:00
Anna Kozlova
3baa03058b overload resolution: ensure all list of parameters is checked during most specific check of varargs methods (IDEA-150224) 2016-01-11 16:36:11 +01:00
Anna Kozlova
d9aeacbf48 overload resolution: don't prefer generic to raw substitution (IDEA-149289) 2015-12-28 10:27:00 +01:00
Anna Kozlova
c81d887251 ensure potential compatible for pertinent to applicability: when number of parameters is wrong methods which are not potentially compatible are not filtered (IDEA-149103) 2015-12-09 19:28:03 +01:00
Anna Kozlova
b580d8eccb AIOOBE 2015-12-03 19:11:09 +01:00
Anna Kozlova
e8111b751e new overload resolution: don't treat array type of functional interfaces as functional interface (IDEA-148726) 2015-12-02 17:56:08 +01:00
Anna Kozlova
878ac5560e overload resolution: boxing should ignore null types (IDEA-148692) 2015-11-30 19:45:19 +01:00
Anna Kozlova
621795bbee isApplicability check based on pertinentToApplicability 2015-11-30 15:11:41 +01:00
Anna Kozlova
169b42916e new inference: don't treat void as primitive type to boxing 2015-11-25 12:25:02 +01:00
Anna Kozlova
2d21b7777e method reference: don't start containing class parameter type inference for receiver-reference; corresponding substitutor should be already known (IDEA-146604; IDEA-147223) 2015-11-03 17:10:58 +01:00
Anna Kozlova
d13663483d overload resolution: choose one of overload equivalent abstract methods arbitrarily (IDEA-146261) 2015-10-12 20:15:40 +02:00
Anna Kozlova
c000624704 overload resolution: treat default methods as abstract; don't include static interface methods in conflict resolution when target expression type does not correspond to the containing interface (IDEA-146055) 2015-10-07 19:36:05 +02:00