Commit Graph

147 Commits

Author SHA1 Message Date
Anna.Kozlova
d74021cd16 highlight enum with abstract methods until enum initializer is added
IDEA-184704
2018-01-11 19:31:43 +01:00
Anna.Kozlova
1fc76eb779 calc types by applicability constraints if inference fails
include all inference variables for resolve and ignore additional constraints checks if the inference is going to failure; this way if (expr()) would get type of the 'standalone' expression instead of expression with boolean as expected type
2017-12-07 15:51:06 +01:00
Anna.Kozlova
f368f326dc follow IDEA-CR-26141 2017-10-27 20:18:47 +02:00
Anna.Kozlova
a2e13fee96 inference: check glb conflicts after flatten in intersection type(IDEA-181017) 2017-10-25 18:01:56 +02:00
Anna.Kozlova
084655d49f don't capture when checking subtypes deep in hierarchy (IDEA-179850) 2017-10-13 19:36:58 +02:00
Anna.Kozlova
250956f8b0 report inference error if resolution failed (IDEA-179978)
in the issue, non-vararg overload candidate was chosen cause it was not filtered as inapplicable
2017-10-13 10:47:47 +02:00
Anna.Kozlova
4e8a0d2dd8 don't loose type parameter bounds during super substitution (IDEA-175471) 2017-07-07 12:54:58 +02:00
Anna Kozlova
fdf412aca7 transitive overriding methods check: applied for interfaces (IDEA-174806) 2017-06-23 18:19:42 +03:00
Anna Kozlova
db549e17d1 take into account container class type parameters: unchecked warnings 2017-06-22 15:54:30 +03:00
Anna Kozlova
cba2ff917b take into account container class type parameters
when non-generic inner class is located inside generic outer, inference variables could be hidden in parent parameters (IDEA-174762; IDEA-174776)
2017-06-22 12:14:03 +03:00
Alexey Kudravtsev
920d5b4fba removed default file header, because it adds no information but subtracts attention and space 2017-05-11 13:39:07 +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
f3d0a39366 infer conditional expression type for incomplete calls (IDEA-171431) 2017-05-04 20:29:52 +03:00
Anna.Kozlova
568bb75fbc don't highlight part of poly conditional expression when it's type is not defined, would be highlighted on top level (IDEA-171431) 2017-04-29 19:28:48 +02:00
Anna.Kozlova
95226c21c5 explicit right to left side assignment failure when inference breaks on return type (IDEA-152677) 2017-03-27 10:34:43 +02:00
Anna.Kozlova
e75f2f7860 make message closer to javac error (IDEA-169865) 2017-03-21 12:18:45 +01:00
Anna.Kozlova
8cb5670877 missed constraint on lower bound of captured wildcard (IDEA-169083) 2017-03-07 11:42:25 +01:00
Anna.Kozlova
968d14a5db Revert testdata changes: Proper focus requests through the IDE focus subsystem. Part II. 2017-02-21 21:25:26 +01:00
Denis Fokin
556290b406 Proper focus requests through the IDE focus subsystem. Part II. 2017-02-21 21:06:22 +03:00
Anna.Kozlova
4a405a6bcd unchecked warning inside lambda return statements 2017-02-06 13:34:48 +01:00
Anna.Kozlova
9d9c62523d warn about static methods in interface with same erasure (IDEA-165927) 2016-12-27 14:47:58 +01:00
Anna.Kozlova
d336733d3e ensure bounds are promoted on derived type otherwise bounds from super could appear on unbounded wildcards (IDEA-162882) 2016-11-02 15:51:14 +01:00
Anna.Kozlova
f26364eca1 new inference: erasure of type parameters with proper bounds (IDEA-162544) 2016-10-19 19:17:33 +02:00
Anna Kozlova
92e17eed9c substitute type parameter bounds with current substitution when method signatures in the hierarchy are checked (IDEA-159801) 2016-09-15 18:35:33 +03:00
Anna.Kozlova
1839e42715 treat captured wildcard type as type parameter type with special upper bound (IDEA-159663) 2016-08-12 11:06:57 +02:00
Anna Kozlova
a714c0d820 unchecked cast warning: missed captured wildcards (IDEA-158080); reifiable captured wildcard type 2016-07-01 12:44:39 +03:00
Anna Kozlova
79edaf45af erasure of method call expression type if method is not generics but unchecked conversion was needed to check the applicability (IDEA-157223) 2016-06-14 11:34:32 +03:00
Anna Kozlova
cb071c57a6 reject imports from default package (IDEA-138822; IDEA-154024) 2016-06-06 20:12:56 +03:00
Anna Kozlova
49816aeded resolve on nested captures (IDEA-156170) 2016-05-26 18:56:33 +03:00
Anna.Kozlova
5f72c7380c array access: don't open captured wildcards 2016-04-20 17:49:29 +02:00
Anna.Kozlova
1466b0155e bad code green: reject return type constraint if unchecked conversion was applied during applicability check and return type is type parameter 2016-04-11 21:51:18 +02:00
Anna Kozlova
c00d3d7371 revert (IDEA-152685) 2016-03-14 17:48:06 +01:00
Anna Kozlova
e31a812438 inference: unchecked warning in type params bounds (IDEA-152758) 2016-03-14 17:48:06 +01:00
Anna Kozlova
db215203e0 inference for non-poly expressions: isAssignable already contains loose context inside, don't allow any additional conversions (IDEA-152694) 2016-03-09 14:23:53 +01:00
Anna Kozlova
1712529e42 testdata for IDEA-152179 2016-02-26 16:06:22 +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
fb42498c99 method chain: capture wildcard on wildcard bounds 2016-02-17 17:24:41 +01:00
Anna Kozlova
17743c0a87 unchecked warning: mark as unchecked if passed to strict subtyping (IDEA-151302) 2016-02-17 14:44:12 +01:00
Anna Kozlova
7dd0db8963 captured wildcard: access object should be placed to the same package (IDEA-151766) 2016-02-16 18:15:03 +01:00
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
e3f5740e07 captured wildcard: convert to primitive (IDEA-151408) 2016-02-09 12:41:01 +01:00
Anna Kozlova
5793ec77ed retrieve collection type from capture in foreach stmt (IDEA-151406) 2016-02-09 12:41:01 +01:00
Anna Kozlova
f2a0fbd694 retrieve inference errors from containing calls as they themselves won't be highlighted as there are errors in arguments (IDEA-150123) 2016-01-22 14:29:01 +03:00
Anna Kozlova
7e15b3fb59 inference: raise unchecked warning if low/equals bounds are not assignable without unchecked conversion (IDEA-150495) 2016-01-20 12:36:55 +01:00
Anna Kozlova
d0102e37cb captured wildcards: fix casting to arrays (IDEA-150124) 2016-01-07 20:14: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
be223c2734 testdata for IDEA-139096 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
6e241e1168 testdata 2015-12-07 12:29:56 +01:00