Commit Graph

68 Commits

Author SHA1 Message Date
Anna Kozlova d2c76135df testdata for IDEA-67592 2015-05-21 10:00:45 +02:00
Anna Kozlova e529861e4a testdata for IDEA-67746 2015-05-21 10:00:44 +02:00
Anna Kozlova 4afc0327aa testdata for IDEA-57502 2015-05-21 10:00:41 +02:00
Anna Kozlova c0258b3e2d testdata for IDEA-139090 2015-05-21 10:00:39 +02:00
Anna Kozlova 5eb8d5a8e6 testdata for IDEA-57320 2015-05-21 10:00:38 +02:00
Anna Kozlova d64ec6f997 testdata for IDEA-57362 2015-05-21 10:00:36 +02:00
Anna Kozlova eb0904cfd9 testdata for IDEA-57322 2015-05-21 10:00:34 +02:00
Anna Kozlova 97d8c99958 testdata for IDEA-57314 2015-05-21 10:00:33 +02:00
Anna Kozlova 78fe89e6c2 testdata for IDEA-57315 comment 2015-05-21 10:00:31 +02:00
Anna Kozlova 819f620cc8 testdata for IDEA-57387 2015-05-21 10:00:28 +02:00
Anna Kozlova 59f4b04154 testdata for IDEA-57313 2015-05-21 10:00:26 +02:00
Anna Kozlova 6f657b665f testdata for IDEA-67745 2015-05-21 10:00:25 +02:00
Anna Kozlova 6b65d86df3 testdata for IDEA-139069 2015-05-20 10:47:25 +02:00
Anna Kozlova fdbfd64350 ensure enum constructors are private (IDEA-139065) 2015-05-12 17:07:08 +02:00
Anna Kozlova 21f187bd44 separate capture conversion from substitution 2015-04-27 09:32:20 +02:00
Anna Kozlova f5cec5e24a intersection in cast type: repeat interface, different parameterization checks 2015-04-20 10:19:22 +02:00
Anna Kozlova 2318a3a58c capture conversion: collect all type parameter's bounds during capture conversion; make sure collected upper bound is used after capture type is normalized 2015-04-20 10:19:20 +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 b06817081b new inference: reject to infer variables if it's upper bound doesn't agree with lower/equal bound (when present) 2015-02-19 18:07:55 +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 e315ef4b41 TypeName.super.foo() when TypeName denotes interface 2015-01-31 21:29:22 +03:00
Anna Kozlova 1ed0901d4b new inference: reject equals bounds contradicting lower bounds 2014-12-17 09:57:48 +01:00
Anna Kozlova f217ed47c4 new inference: reject contradicting equals bounds 2014-12-17 09:57:47 +01:00
Anna Kozlova e0b2d2d8f0 new inference: process wildcards captured bounds 2014-12-17 09:57:45 +01:00
Alexey Kudravtsev 6ce8da783c fix RefCountHolder to avoid "all yellow" syndrome, highlighting cleanup 2014-11-28 14:26:06 +03:00
Anna Kozlova 8dd8f509f6 substitution: do not open unbounded capture during substitution (IDEA-125423)
(cherry picked from commit 1a8180cabca79b6ab2972a759aaffaa043f60c57)
2014-10-17 21:05:53 +02:00
Anna Kozlova bc8a70e89f fix erasure of captures special case, not valid anymore for new compilers (IDEA-131348)
(cherry picked from commit 0f357add956c0340ce08c79a14c052007e53be86)
2014-10-17 21:03:34 +02:00
Anna Kozlova b2ea4c6e79 inference: simplify bounds check; ensure fresh variables are treated as same, important e.g. in case of diamond operator when inferred types are new each time they are computed (IDEA-131066)
(cherry picked from commit 517c299e336e38bc20d3478191279be2176fbd9b)
2014-10-13 19:33:33 +02:00
Anna Kozlova 39154531ec unchecked warning: do not traverse through lambda bounds (IDEA-130810) 2014-10-06 10:39:43 +02:00
Anna Kozlova 158a01135c regression testdata added 2014-08-29 14:36:54 +04:00
Anna Kozlova 624fa25d38 capture conversion: add upper bound for ? super if corresponding type parameter has upper bounds( IDEA-128328; IDEA-128972) 2014-08-27 20:59:32 +04:00
Anna Kozlova 9b5eb2418f new inference: fresh variables 2014-08-21 18:14:27 +04:00
Anna Kozlova 4131ada075 testdata for IDEA-78402 2014-08-18 21:45:31 +04:00
Anna Kozlova 506a2cbbbc include anonym prefix in internal canonical text to avoid incompatibility messages with "same" types on both sides 2014-05-22 20:45:58 +04:00
Anna Kozlova 902e51a856 substitute bounds (IDEA-123509) 2014-04-29 18:54:59 +04:00
Anna Kozlova b55c83742b new inference: processing of compound bounds 2014-03-27 20:54:27 +01:00
Anna Kozlova e55a20cc24 raw substitutor when erasure happened during inference 2014-03-27 20:54:26 +01:00
Anna Kozlova 40424a1615 wildcard substitution partly reverted (IDEA-122700) 2014-03-24 20:22:26 +01:00
Anna Kozlova 9845ef2fd8 new inference: capture nested call case fixed (~Collections) 2014-03-21 13:16:46 +01:00
Anna Kozlova 4686315880 A class may not at the same time be a subtype of two interface types which are different parameterizations of the same generic interface(IDEA-122475); revert workarounds for javac 6 bug 2014-03-20 20:05:27 +01:00
Anna Kozlova e6547e3991 poly conditional expression type = target type (IDEA-122401) 2014-03-19 19:32:35 +01:00
Anna Kozlova 10760d9bbf new inference: process varargs as separate method candidate/separate phase
(cherry picked from commit fdd6f66268d29bb996a103f69180851b92947d21)
2014-03-12 10:15:03 +01:00
Anna Kozlova 95977a086c new inference: cleanup 2014-03-05 16:17:00 +01:00
Anna Kozlova d8b3e5c7fd new inference: captures should stay closed inside nested calls 2014-02-28 20:07:08 +01:00
Anna Kozlova 1b0e87f99e java 8: allow to cast to intersection types 2014-02-19 09:46:17 +01:00
Anna Kozlova bd681beb26 new inference: 18.5.2 adjustments 2014-02-19 09:46:15 +01:00
Anna Kozlova 61039804a9 bound promotion for super wildcard (? super A (bound extends A) == A) 2014-02-19 09:46:14 +01:00
Anna Kozlova 19ba9d8c8d new inference: resolve 2014-02-19 09:46:05 +01:00
Alexey Kudravtsev c7b78f76a2 IDEA-120784 "Class is public should be declared in a file named <Classname>.java" for inner interface 2014-02-18 13:55:52 +04:00
Anna Kozlova 021c0c891e new inference: stop inference if false was inferred 2014-02-12 09:46:33 +01:00