Commit Graph

103 Commits

Author SHA1 Message Date
Anna Kozlova
a530fe132f inference: don't erase inference variables (IDEA-151750) 2016-02-16 15:57:18 +01:00
Anna Kozlova
1f640238e0 inference: retrieve type from containing call if the corresponding method is not generics (IDEA-151443) 2016-02-09 20:09:10 +01:00
Anna Kozlova
ff21fd0ea5 calculate transitive inference variable's dependencies (IDEA-151170) 2016-02-03 16:10:26 +03:00
Anna Kozlova
c06f66ab26 SOE with numeric conditional expressions when expression inside is not standalone
EA-78419 - SOE: InferenceSessionContainer.infer
2016-01-27 13:57:06 +03:00
Anna Kozlova
7b2e554b0a inference: cache erasure flag together with partial inference (IDEA-150802) 2016-01-25 18:52:15 +03:00
Anna Kozlova
15f3eac8a2 inference:incorporation optimization: skip variable's bound incorporation if the phase didn't change these bounds 2016-01-19 12:56:50 +01:00
Anna Kozlova
ae64c30eb9 inference: ensure to convert disjunction type to lub (IDEA-150364) 2016-01-14 16:18:20 +01:00
Anna Kozlova
46ce9ed914 testdata for IDEA-149774 2015-12-28 19:07:22 +01:00
Anna Kozlova
adaa0f09b7 new inference: pull erased flag through nested calls (IDEA-133613) 2015-12-28 19:07:22 +01:00
Anna Kozlova
2be1c64a13 new inference: correct capture incorporation (IDEA-149807) 2015-12-28 19:07:22 +01:00
Anna Kozlova
a15905ae13 conditional expression type: check poly expression first (IDEA-148965) 2015-12-08 09:37:18 +01:00
Anna Kozlova
5dad1d7009 new inference: process captured wildcard with array type bound 2015-12-02 10:57:27 +01:00
Anna Kozlova
621795bbee isApplicability check based on pertinentToApplicability 2015-11-30 15:11:41 +01:00
Anna Kozlova
e43fad4277 captured wildcards: don't open unpredictably, treat as type, not type argument (IDEA-148348) 2015-11-26 19:23:09 +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
d32e6ec080 new inference: start inference from top to bottom; ensure getTargetType doesn't perform any inference; cache intermediate results 2015-11-19 10:47:21 +01:00
Anna Kozlova
fcf8e6f373 move inference error from element to method candidate to avoid overload method pollution; show inference error in the editor if applicability check was successful; register inference error if variable has incompatible upper bounds (IDEA-145106) 2015-11-16 10:05:50 +01:00
Anna Kozlova
03d4334430 eliminate wildcards elimination in flattening intersection types (IDEA-143194); fully follow specification in determining target type - javac would be fixed (JDK-8142876), eclipse already obeys the spec 2015-11-12 20:14:15 +01:00
Anna Kozlova
59b55c3c00 new inference, incorporation step: ignore type arguments in bounds, retrieve upper bounds of captured wildcards (IDEA-145244) 2015-11-11 17:35:32 +01:00
Anna Kozlova
99338ada50 incorporation: deal with PsiType.NULL (IDEA-147529) 2015-11-10 18:45:36 +01:00
Anna Kozlova
c798f3ab6b inference variables: ensure variable is not mixed with type parameter for recursive calls (IDEA-147639) 2015-11-09 19:08:30 +01:00
Anna Kozlova
289aea179d isPertinentToApplicability: check class type parameters if constructor is called with diamonds (IDEA-147619) 2015-11-09 19:08:30 +01:00
Anna Kozlova
6e853bf571 new inference: stop at first common supertypes pair during incorporation of upper bounds (IDEA-147393) 2015-11-05 15:24:18 +01:00
Anna Kozlova
ec5f440e09 subtyping constraint: accept array types if left type is assignable from array, e.g Serializable (IDEA-146592) 2015-10-20 20:58:49 +02:00
Anna Kozlova
d5a31ea205 inference: incorporation with capture and fresh variables (IDEA-145566) 2015-09-28 20:18:34 +02:00
Anna Kozlova
a811f9668e new inference for enum constants (IDEA-144973) 2015-09-10 15:55:05 +03:00
Anna Kozlova
984b65ef65 new inference: incorporation with capture: treat type param's extends bounds as one as glb (IDEA-142145) 2015-09-02 17:04:31 +03:00
Anna Kozlova
c0de8d22c6 new inference: reject array upper bounds which contradict with another class type bound (IDEA-144159) 2015-08-20 19:31:03 +02:00
Anna Kozlova
8c2a945f80 testdata for IDEA-143390 2015-08-12 08:14:31 -07:00
Anna Kozlova
1df6b8e711 new inference: ensure erased target type if substitutor was raw (IDEA-143183) 2015-07-29 10:02:59 +02:00
Anna Kozlova
fb0495e4a4 nested conditional expressions: don't require nested to be poly if outer is not 2015-05-13 11:41:23 +02:00
Anna Kozlova
8b320ba8a7 disjunction type equals/hashCode, essential for new inference (IDEA-140150) 2015-05-12 11:39:47 +02: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
3f27bb4d63 new inference: proceed nested calls of the same method with dependencies between inference variables from different calls (IDEA-136716; IDEA-135286) 2015-02-25 17:32:10 +01:00
Anna Kozlova
0c76e675ec testdata for IDEA-134277 2015-02-20 22:12:23 +01:00
Anna Kozlova
7bdb789b45 new inference:
reject inference if lower and equals bounds do not agree;
 -> inference variable should fill extends list types with it's upper bounds as they are correctly substituted with session's inference variables, otherwise incorporation up-up rule could get refs to initial type parameter instead of correct inference variable
2015-02-19 18:07:54 +01:00
Anna Kozlova
1ed0901d4b new inference: reject equals bounds contradicting lower bounds 2014-12-17 09:57:48 +01:00
Anna Kozlova
983808535d testdata for IDEA-132725 2014-11-12 19:37:58 +01:00
Anna Kozlova
66cd10b00c new inference: unchecked conversion detection in case of inference variables (IDEA-122932) 2014-10-31 13:24:40 +01:00
Anna Kozlova
5136167d8b new inference: use site substitution inside one level of inference only so calls with different site substitutions are possible in one expression (IDEA-131723; IDEA-131562) 2014-10-24 18:36:20 +02:00
Anna Kozlova
892fe777b0 testdata for IDEA-130547 2014-09-30 19:18:49 +02:00
Anna Kozlova
e6483ac10c testdata for IDEA-130549 2014-09-30 19:18:48 +02:00
Anna Kozlova
38087e7f3b do not erasure methods from non generics super types of raw types (IDEA-129646) 2014-09-18 15:02:23 +04:00
Anna Kozlova
cbb22b8c9f new inference: process fresh variables depending on resolved vars (IDEA-56775) 2014-09-08 20:29:29 +04:00
Anna Kozlova
8e353cebff testdata for IDEA-106985 2014-09-04 15:07:13 +04:00
Anna Kozlova
281546ac00 fix testdata imports 2014-08-28 15:20:58 +04:00
Anna Kozlova
d587b25852 testdata for IDEA-126163 2014-08-28 15:20:58 +04:00
Anna Kozlova
daae222bd0 testdata for IDEA-127285 2014-08-28 15:20:57 +04:00
Anna Kozlova
426836c303 testdata for IDEA-124151; IDEA-128245 2014-08-28 15:20:57 +04:00
Anna Kozlova
495e455ded new inference: infinite types 2014-08-28 14:28:50 +04:00