Commit Graph

130 Commits

Author SHA1 Message Date
Anna Kozlova
5b8e459686 lambda: proceed c-like arrays declarations in parameters for lambda with excplicit type declarations (IDEA-152690) 2016-03-09 14:23:53 +01:00
Anna Kozlova
6c5fc69ae9 inference: don't check bounds for variables which may depend on another variable with inconsistency bounds 2016-03-03 13:31:40 +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
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
e7c7fab136 stop at lambda also if it is explicitly typed
EA-78231 - SOE: InferenceSessionContainer.infer
2016-02-03 12:39:27 +03:00
Anna Kozlova
a6625994fb overload resolution: don't skip errors from another context (IDEA-151119) 2016-02-02 14:38:40 +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
31c6b67ce6 inference: stop tree up traversal when lambda expression is currently checked
EA-76546 - assert: InferenceSessionContainer.treeWalkUp
IDEA-150168; IDEA-150166
2016-01-08 20:15:17 +01:00
Anna Kozlova
210217ecfa new inference: already resolved vars can't have bounds problems (IDEA-149740) 2015-12-29 16:46:58 +01:00
Anna Kozlova
c4711f94ef testdata for IDEA-149709 2015-12-28 19:07:22 +01:00
Anna Kozlova
29e713bb7e testdata for IDEA-149670 2015-12-28 14:57:27 +01:00
Anna Kozlova
aa70efc9a4 testdata for IDEA-149224 2015-12-28 10:27:00 +01:00
Anna Kozlova
7249fd8179 lambda: missed ground type for target functional type (IDEA-149053) 2015-12-09 22:03:56 +01:00
Anna Kozlova
65194fd5f0 testdata for IDEA-127215 2015-12-03 19:11:09 +01:00
Anna Kozlova
c16a53a9fb do not open capture when method call type is calculated 2015-12-03 12:18:25 +01:00
Anna Kozlova
2bb333cd43 testdata for IDEA-136325 2015-12-02 15:42:02 +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
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
be2db1f940 new inference: report inference errors of containing call for lambdas 2015-11-20 21:47:13 +01:00
Anna Kozlova
61f120b30e new overload resolution: first check that collected methods are potentially compatible with args; for generic methods without specified type arguments this already means that they are applicable; for non generic methods (or raw method calls) expressions should be compatible with parameter types (formal parameter types = actual types as substitutor is known) (IDEA-147798) 2015-11-20 18:22:02 +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
0deaf6d6a5 recursive substitutors: additional constraints substitution should not repeat already performed substitution with site substitutor (IDEA-146841) 2015-10-26 18:56:03 +01:00
Anna Kozlova
7f043d56d1 testdata for IDEA-144840 2015-09-07 15:50:24 +03:00
Anna Kozlova
f741a6a366 testdata for IDEA-132253 2015-09-03 17:22:31 +03:00
Anna Kozlova
eb638c67d7 testdata for IDEA-133920 2015-09-03 17:22:29 +03:00
Anna Kozlova
8f4768f3b3 testdata for IDEA-136401 2015-09-03 17:22:27 +03:00
Anna Kozlova
ed06d3ff72 preserve captured wildcards during non wildcard parameterization (IDEA-132690) 2015-09-01 16:30:52 +03:00
Anna Kozlova
21e2fd41c0 non wildcard parameterization: workaround problems caused by different parameterizations of the same class during glb algorithm (IDEA-132690) 2015-09-01 16:30:50 +03:00
Anna Kozlova
0da30526fd error for not accessible types mentioned by inferred functional type (IDEA-143417) 2015-08-18 12:34:31 +02:00
Anna Kozlova
7bec688369 lambda: don't reject value compatibility for lambdas with control flow problems inside (IDEA-142107) 2015-07-14 18:38:43 +03:00
Anna Kozlova
30a12275a2 lambda: highlight containing method ambiguity on method name: this avoids lots of lines of lambda body to be highlighted and it would show errors even if lambda body contains errors actually caused by the ambiguity on the parent level (IDEA-141580) 2015-06-18 17:54:23 +03:00
Anna Kozlova
4a63204f8b don't open capture if reference expression is returned from lambda expression (IDEA-139089) 2015-05-12 21:42:53 +02:00
Anna Kozlova
90e240041a functional expression type: ensure no capture conversion is performed over target type of cast expression (IDEA-139824) 2015-05-11 18:04:30 +02:00
Anna Kozlova
fd11949634 new inference: accept inferred equals bounds even when additional constraints lead to failure to get more appropriate error message (IDEA-139275) 2015-04-16 20:30:29 +02:00
Anna Kozlova
1f50640671 lambda isValueCompatible: ensure that normal completion is impossible for infinite loops (IDEA-137848) 2015-03-20 20:08:51 +01:00
Anna Kozlova
027943681f lambda: check assignment for proper types (IDEA-137564) 2015-03-12 19:14:19 +01:00
Anna Kozlova
e63a2de86f new inference: nothing should be cached during overload resolution (IDEA-136759) 2015-02-24 19:18:57 +01:00
Anna Kozlova
aa1b472dff mew inference: checked exceptions with incompatible bounds 2015-02-24 15:04:52 +01:00
Anna Kozlova
11e81ab9d5 new inference: provide lambda incompatibility message based on failed inference (IDEA-131882) 2015-02-19 18:07:59 +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
d2c06c0d0b testdata for IDEA-123987 2015-02-13 21:28:47 +01:00
Anna Kozlova
fc6e0f725d testdata for IDEA-124961 2015-02-13 21:28:46 +01:00
Anna Kozlova
925e9d1610 pertinent to applicability: reject nested lambdas if they target non proper type 2015-02-13 18:54:02 +01:00
Anna Kozlova
344379d2f4 lambda: accept? inference variables as target type for lambda expression during lambda constraint reduction (IDEA-136435) 2015-02-12 21:15:32 +01:00
Anna Kozlova
8ce9831489 bad return type in lambda expression: requited type added; range corrected (IDEA-134942) 2015-01-07 16:07:27 +01:00
Anna Kozlova
7343c62b7e new inference: infer exceptions for inner lambda body calls (IDEA-134225) 2014-12-17 20:13:46 +01:00
Anna Kozlova
3f0ce40440 testdata for IDEA-127124 2014-11-25 19:23:29 +01:00
Anna Kozlova
668ccc7dd0 new inference: site substitution from remembered properties (IDEA-132417) 2014-11-06 19:11:31 +01:00