Commit Graph

135 Commits

Author SHA1 Message Date
anna
33a583584b do not apply substitutor twice (IDEA-101752) 2013-02-25 18:44:14 +01:00
anna
b562064e02 lambda: conditional inference updated 2013-02-25 18:44:13 +01:00
anna
a684c033a1 lambda: replace raw inference from lambda with Object when it doesn't matter (IDEA-101788) 2013-02-25 14:12:42 +01:00
anna
25220f5f46 method refs: accept generic methods in functional interfaces testdata 2013-02-21 20:21:50 +01:00
anna
6edc546e65 lambda: void compatibility guess 2013-02-20 21:30:51 +01:00
anna
a82225975a lambda/method refs: check functional interface accessibility 2013-02-20 20:41:07 +01:00
anna
9634bb390e lambda: stop inference from lambda if return type retrieval leads to second lambda inference; do not cache types during this calculation 2013-02-20 20:41:06 +01:00
anna
def5e21e6a lambda: restore void-compatibility checks 2013-02-20 20:41:05 +01:00
anna
35c349430a graph inference: infer from non-eq type bound 2013-02-20 18:09:44 +01:00
anna
65eba117da graph inference: do not infer diamonds based on graph inference 2013-02-20 16:33:51 +01:00
anna
533ca9ace4 SAM: skip allowed static methods as they are not supposed to be overridden (IDEA-101403) 2013-02-19 12:54:36 +01:00
anna
ec1fcb263f lambda: inference from formal params fixed (IDEA-101176) 2013-02-18 18:15:18 +01:00
anna
dbd2a5db98 EA-44003 - SOE: PsiResolveHelperImpl.inferBySubtypingConstraint 2013-02-18 18:15:17 +01:00
anna
43e079d97d skip inference from parent for diamond's search for constructor (IDEA-101166) 2013-02-18 11:31:58 +01:00
anna
99a14543f2 new inference: subtyping constraint (IDEA-101166) 2013-02-15 21:40:30 +01:00
anna
1bc365756b fix method hierarchy with default methods: mark method to implement if it abstract and overrides default method (IDEA-101167) 2013-02-15 18:36:24 +01:00
anna
3b4e3818e6 lambda: correct inference for vararg place > params.len (IDEA-101169) 2013-02-15 14:00:03 +01:00
anna
38ce821958 method ref: accept non parameterized receivers (IDEA-101168) 2013-02-15 14:00:02 +01:00
Roman Shevchenko
6910c2e3ab Test fixed 2013-02-14 20:15:42 +01:00
anna
7e6e59724e lambda: clear caches after usage; more testdata 2013-02-13 15:57:24 +01:00
anna
ac0f65d247 graph inference for the first arg 2013-02-13 12:20:33 +01:00
anna
b0a04ac5d2 lambda: preserve partial substitutor data during substitute 2013-02-12 17:42:24 +01:00
anna
c4eaec6655 method refs: take into account super class substitutor 2013-02-12 17:42:22 +01:00
anna
cc9724c489 graph inference: conditional expressions then/else branches inference based on context (IDEA-100453) 2013-02-11 17:32:01 +01:00
anna
b2ffa6a8d1 testdata for IDEA-100441 2013-02-11 17:32:00 +01:00
anna
a9c4a9c5ab java 8 initial graph inference: allow to infer type information from siblings and parent calls 2013-02-08 11:34:25 +01:00
anna
f9565522cb split tests according to expected language level 2013-02-08 11:34:24 +01:00
Anna Kozlova
68f7ee96f7 java8: static method with body is allowed in interface (IDEA-100334) 2013-02-04 14:07:09 +04:00
Anna Kozlova
23d936db66 method refs: attempt to use parent to infer constructor type (IDEA-98846) 2013-01-30 15:51:30 +04:00
Anna Kozlova
42d2b33230 lambda: choose more specific by return type fix (IDEA-99969); check cyclic inference when not on raw 2013-01-29 14:43:26 +04:00
Anna Kozlova
f1c1c6ee42 support @FunctionalInterface 2013-01-28 16:21:22 +04:00
Anna Kozlova
857c23caf2 method refs: wildcards treatment (IDEA-99828) 2013-01-28 14:00:10 +04:00
anna
4cbc38008a lambda: incompatible lambda parameters type check fixed according to wildcards (IDEA-99073) 2013-01-16 15:57:08 +01:00
anna
1cc7b6ee11 lambda: check unhandled exceptions for method references; disable surround with try/catch accordingly (IDEA-98966) 2013-01-14 16:51:11 +01:00
anna
c892ea7f32 java 8: resolve conflicts choosing more specific return type (IDEA-98845) 2013-01-11 18:55:34 +01:00
anna
6f2878cdf7 java 8: intersection type casts (IDEA-98843) 2013-01-11 16:09:23 +01:00
anna
5a15076bd6 lambda: check lambda return type compatibility before more specific checks (IDEA-97870) 2012-12-20 15:32:39 +01:00
anna
bd4346cea8 lambda: use incomplete substitutor when calc functional interface (IDEA-97038) 2012-12-18 20:26:31 +01:00
anna
d9fb83d631 lambda: accept raw functional interfaces when there are no params 2012-12-18 13:07:31 +01:00
anna
963b2ed293 lambda: relax incompatible return type in case of void functional types 2012-12-17 17:32:29 +01:00
anna
44ab4d534a lambda: infer functional interface from enum constants (IDEA-97596) 2012-12-17 17:32:28 +01:00
anna
788336e0ff do not treat diamonds in jdk 8 special (IDEA-97294) 2012-12-13 18:42:28 +01:00
anna
306c531544 SOE (IDEA-95955)
(cherry picked from commit d092c1363b3ae02dbfb4059f0c0cf28df575024c)
2012-11-29 11:53:09 +01:00
anna
e5a6ce555d EA-41372 - AIOOBE: JavaMethodsConflictResolver.isMoreSpecific
(cherry picked from commit 6f6a46ec1e26294e4a478fc6dee158123ccba406)
2012-11-29 11:53:02 +01:00
anna
a5f940d5e4 method reference: proceed with class type when diamond static factory is used (IDEA-93099) 2012-11-21 12:20:29 +01:00
anna
665894b44b method refs: allow unchecked conversions in default constructors (IDEA-93346) 2012-10-22 17:10:41 +02:00
anna
e775459321 lambda: nested lambda return statements exclusion 2012-10-15 16:20:57 +02:00
anna
1c0933b830 search for method references during constructor search (IDEA-92804) 2012-10-15 16:20:55 +02:00
Anna Kozlova
289ee1d04c lambda: do not override already inferred types from parent (IDEA-92733) 2012-10-12 17:31:16 +02:00
Anna Kozlova
beb2c4df54 method refs: do not warn about type args over raw types, non parameterized methods (IDEA-92851) 2012-10-12 14:56:44 +02:00