Commit Graph

379 Commits

Author SHA1 Message Date
Anna Kozlova
7e74904509 testdata 2016-06-27 12:33:28 +03:00
Anna Kozlova
7968b2bbbb apply capture conversion for captured wildcard bound according to the direct supertype of parameterized type specification (IDEA-157586) 2016-06-22 15:24:15 +03:00
Anna Kozlova
1c52cb7fd6 spec: no capture conversion applicable for array type; capture conversion must be applied for array access expression type; javac: no capture conversion is applicable for array access expressions with write access (IDEA-157295) 2016-06-22 15:24:15 +03:00
Anna Kozlova
732c04076c old inference (IDEA-157398) 2016-06-22 15:24:15 +03:00
Anna Kozlova
cb071c57a6 reject imports from default package (IDEA-138822; IDEA-154024) 2016-06-06 20:12:56 +03:00
Anna.Kozlova
7fb3086dc5 assignability to primitive: check type parameter bounds if applicable (IDEA-155551) 2016-05-04 11:09:25 +02:00
Anna.Kozlova
5f72c7380c array access: don't open captured wildcards 2016-04-20 17:49:29 +02:00
Anna.Kozlova
ee4f41b14c don't open captures on type computation (IDEA-154968) 2016-04-20 17:49:29 +02:00
Anna.Kozlova
b1a0d687df old inference: include type parameter's bounds in result as intersection if inference from parent type was started (IDEA-153411) 2016-03-22 19:22:42 +01:00
Anna Kozlova
65ebda0fff SOE with recursive type parameter dependencies 2016-03-15 13:31:13 +01:00
Anna Kozlova
930df16f98 inference: propagate variable renames through the call hierarchy; calculate tooltips in tests (IDEA-151948) 2016-02-22 20:05:58 +01:00
Anna Kozlova
7bbd70e695 substitute with bounds promotion: don't wrap wildcards 2016-02-01 16:53:20 +03:00
Anna Kozlova
ec89fa2295 type distinction: remove non-symmetrie for type param bounds (IDEA-150724) 2016-01-27 13:57:06 +03:00
Anna Kozlova
88876357c6 testdata for IDEA-150499 2016-01-20 12:36:55 +01:00
Anna Kozlova
59f416b7d4 replace hardcoded clone with protected methods of Object (IDEA-150196) 2016-01-14 18:42:40 +01:00
Anna Kozlova
c16e402bed return type equivalence: compare supers with current method (IDEA-147335) 2016-01-07 20:14:48 +01:00
Anna Kozlova
8edd7a4cf5 method hierarchy: don't merge methods with return types which are not substitutable (IDEA-57393) 2015-12-14 10:30:48 +01:00
Anna Kozlova
81a6cceb35 fix casting to primitives according to the spec (IDEA-131107; IDEA-148880) 2015-12-10 17:01:55 +01:00
Anna Kozlova
92487fe273 assignment: stop bounds promotion inside nested wildcards (IDEA-139161) 2015-12-09 18:49:28 +01:00
Anna Kozlova
c66efb2458 testdata for IDEA-130243 2015-12-09 18:49:28 +01:00
Anna Kozlova
dd38082794 least upper bound: pull unbounded wildcard up so types Number & Comparable<? extends Number & Comparable<?>> are produced instead of Number & Comparable<? extends Comparable<?>>
inferred type in bounds check cleanup: accept that inference result is not within its bounds and give the inference the second chance
2015-12-09 11:25:11 +01:00
Anna Kozlova
3a669178f5 do not open captured wildcards on substitution; don't capture wildcards on getExtendsTypes for type parameters and their consequences 2015-12-02 10:17:29 +01:00
Anna Kozlova
f07899641d fix testdata 2015-11-25 12:25:02 +01:00
Anna Kozlova
44f26da2bc type arguments distinct checker: do not distinguish wildcards with array bounds from arrays with corresponding bounds (IDEA-134944) 2015-11-12 20:14:15 +01:00
Anna Kozlova
4916734a24 reifiable type check fixed for local classes; instanceof check to use the same algorithm (IDEA-146352; IDEA-146351) 2015-10-14 17:05:36 +02:00
Anna Kozlova
9919e9d7dc testdata for IDEA-130453 2015-10-05 11:51:33 +02:00
Anna Kozlova
2d27bff5ad remove too smart wildcards assignments checks (IDEA-138957) 2015-10-05 11:51:29 +02:00
Anna Kozlova
0f24b5bae9 testdata for IDEA-81318 2015-09-03 20:31:05 +03:00
Anna Kozlova
b22c0040f7 testdata for IDEA-98866 2015-09-03 20:31:01 +03:00
Anna Kozlova
77ae5909c9 IDEA-144117 2015-08-20 19:31:07 +02:00
Alexey Kudravtsev
9e99eabbb6 IDEA-141923 Errors in for-each statement header aren't highlighted if there're errors in its body 2015-06-26 14:42:13 +03:00
Anna Kozlova
92b7fa01c4 captures: don't distinguish captures from normal types but leave capture for the same type wildcard 2015-06-14 21:51:21 +03:00
Anna Kozlova
cdb50293f2 capture conversion: ensure captured wildcards are not replaced after creation, so substitution is consistent; at the same time ensure that "?" with upper bound Runnable is equivalent to "? extends Runnable" 2015-05-28 19:42:11 +02:00
Anna Kozlova
34d5b5f027 make normalize return denotable type (IDEA-140528) 2015-05-21 21:53:44 +02:00
Anna Kozlova
477689db69 testdata for IDEA-57361 2015-05-21 10:00:29 +02:00
Anna Kozlova
fea58865be captured wildcards: refactor to extract same parts for extends/super wildcards, ensure upper bound is not lost for extends wildcard (IDEA-57292) 2015-05-21 10:00:23 +02:00
Anna Kozlova
443fda57f5 testdata for IDEA-57336 2015-05-20 10:47:23 +02:00
Anna Kozlova
8dae96f46f testdata for IDEA-139067 2015-05-20 10:47:22 +02:00
Anna Kozlova
fdbfd64350 ensure enum constructors are private (IDEA-139065) 2015-05-12 17:07:08 +02:00
Anna Kozlova
1d6a1bf27e accept casts as unchecked from generic types with type parameter with upper bounds as type argument: check parameter bounds first 2015-05-12 17:07:05 +02:00
Anna Kozlova
21f187bd44 separate capture conversion from substitution 2015-04-27 09:32:20 +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
765f6faa19 SOE on infinite types with super wildcards (IDEA-138880; IDEA-77600) 2015-04-08 13:12:21 +02:00
Anna Kozlova
5ed4840dad make capture<? super Object> == Object 2015-03-23 20:33:19 +01:00
Anna Kozlova
1bf1a2cc13 do not report weaker access assignability higher in the hierarchy (IDEA-137533) 2015-03-13 14:32:10 +01:00
Anna Kozlova
f19a6c1ed8 testdata for IDEA-58687
(cherry picked from commit 0be74138c6c6c288887944c26107a5d47bc5cd09)
2015-03-11 20:27:31 +01:00
Anna Kozlova
a7efd33b2b cast conversion applicable for wildcard vs type parameter if bounds agree (IDEA-75628) 2015-02-20 19:46:49 +01:00
Anna Kozlova
939c490895 cast conversion: substitute type parameter bounds for recursive types (IDEA-136527) 2015-02-20 19:46:46 +01:00
Anna Kozlova
3d9f911dc3 type distinct: allow comparisons of type X<? extends Object> == X<array> (IDEA-135041) 2015-01-08 19:54:22 +01:00
Anna Kozlova
811234ec46 captures: replace type parameter in capture on substitution 2014-12-16 10:45:03 +01:00