Commit Graph

21 Commits

Author SHA1 Message Date
Anna.Kozlova
8b768f2e94 inference: skip constraints and everything dependant above overload resolution 2018-11-15 16:31:25 +01:00
Anna.Kozlova
c4393bfa0e inference: skip constraints that depend on ignored constraints
when type of lambda parameter is calculated, the containing lambda doesn't end in the constraints set; if some other constraints depend on it's output variables, inside those constraints e.g. method calls may be cached based on incomplete inference results which would lead to blinking of highlighting
2018-11-14 15:18:08 +01:00
Anna.Kozlova
6112ab8bb8 inference: avoid side effects from lambda parameter types calculation
process lambda siblings (IDEA-175947)
2017-07-17 15:17:53 +02:00
Anna Kozlova
51bcfcecf9 inference: don't traverse up through lambda bounds when parent inference was already started, in this case it's exception inference which should work without top level node (EA-83073 - assert: LambdaUtil.treeWalkUp; IDEA-173467) 2017-05-26 13:36:45 +03:00
Anna Kozlova
a330f9c2f7 inference: treeWalkUp if overload is done under current argumentList caused by lambda parameter type inference (IDEA-157676) 2016-06-22 15:24:15 +03:00
Anna Kozlova
9c95fa5524 don't try to infer from top if overloaded flag is on (IDEA-156937) 2016-06-02 17:01:51 +03:00
Anna.Kozlova
f36501444c clear diamond inference errors when overload resolution fails 2016-04-28 11:39:38 +02:00
Anna.Kozlova
c35fa1891b if client iterates through candidates of call resolve results and start inference for one of them, then cached top level session should be rejected if it corresponds to another candidate 2016-04-06 12:51:57 +02:00
Anna.Kozlova
cd9c406260 don't cache substitutors during processing of all candidates (blinking red code) 2016-04-05 21:03:27 +02:00
Anna Kozlova
1e764c9961 inference: skip lambda content and all its dependants when lambda type parameter type is calculated 2016-03-03 11:39:53 +01:00
Anna Kozlova
952a9be315 additional testdata for nested lambda inference 2015-11-24 20:00:29 +01:00
Anna Kozlova
773e192f1a recursive getLambdaParameterType problem: don't check nested lambda body for unchecked exceptions, that's impossible anyway (IDEA-146161) 2015-10-09 17:17:09 +02:00
Anna Kozlova
2a27f86b79 new inference: don't clear foreign caches - remove only expressions which were added 2015-10-02 20:32:07 +02:00
Anna Kozlova
f1919cf246 testdata for IDEA-144386 2015-09-03 17:22:25 +03:00
Anna Kozlova
3893b9f6d4 new inference: collect additional constraints from lambda return expressions when lambda parameters are already fixed; process constraints without input variables before others, so their 'return' expressions could influence next rounds; testdata (IDEA-144596) 2015-09-03 17:22:22 +03:00
Anna Kozlova
9a7d951e1e new inference: caching resolve result during getTargetType inference (IDEA-142733; IDEA-140035; IDEA-133385) 2015-09-02 17:04:29 +03:00
Anna Kozlova
6b08a2da04 testdata for IDEA-140035 2015-08-19 12:34:39 +02:00
Anna Kozlova
9bc2885c4c new inference: collect during inference substitutor from inference variables and replace them with type parameters at the very end, excluding foreign variables so e.g. no essential dependency would get overridden by type parameter from sibling call (IDEA-140387) 2015-06-03 22:26:28 +02:00
Anna Kozlova
e86c7dcb25 new inference: assert that no resolve is performed on the "inference-in-progress" reference 2015-04-30 09:47:12 +02:00
Anna Kozlova
3c5b94f461 testdata to check additional constraints 2015-04-29 19:18:19 +02:00
Anna Kozlova
c08649b355 new overload resolution: avoid second conflict resolution for the same conflicts, e.g. because resulted array would be available inside guard of ResolveCache (IDEA-138596) 2015-04-02 18:06:39 +02:00