Commit Graph

127 Commits

Author SHA1 Message Date
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
Anna Kozlova 247fbc358f testdata for IDEA-131700 2014-10-23 14:46:29 +02:00
Anna Kozlova b2a07e2eee lambda: stop at method if it's located inside lambda (IDEA-131087)
(cherry picked from commit 890ffa719208e467b1ba238d248dbbf102c71b76)
2014-10-13 19:33:05 +02:00
Anna Kozlova edd271b71a testdata for IDEA-130920 2014-10-08 14:06:00 +02:00