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
138bd5a034
new inference: provide diagnostics on failed inference (strict subtyping constraints); don't resolve vars before incorporate - this way captures won't be opened too early
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
cbbd0e4456
detect array initializer type based on short variable array notation (IDEA-147881)
2015-11-13 16:07:17 +01:00
Anna Kozlova
a45937536a
unchecked warnings: check inferred type against bounds for java > 1.8 (IDEA-147529)
2015-11-10 18:45:36 +01:00
Anna Kozlova
e32dfdfa8a
UnsupportedOperationException
2015-10-15 15:02:50 +02:00
Anna Kozlova
f29517700f
highlight type parameter extends list errors: check once for all refs in refList not to repeat ourselves
2015-10-14 11:12:30 +02:00
Anna Kozlova
aba9734a6b
testdata for IDEA-107713
2015-09-04 14:10:37 +03:00
Anna Kozlova
05ae98b10d
testdata for IDEA-93713
2015-09-04 14:10:31 +03: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
7b0c5b6d05
new inference: check equals/upper/low bounds consistency
2015-05-29 14:48:27 +02: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
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