JetBrains/kotlin — pull request #384 by abreslav (2014-02-21 21:09:33+00:00)
Title: Stop mixing context and components in the type checker

A few minor changes

+

ExpressionTypingContext used to carry around an instance of ExpressionTypingServices, which is a component and thus should be only injected and not passed around.

This imposes a problem when refactoring TopDownAnalyzer: when started for a local class it should have an outer ExpressionTypingContext, but it would carry a different instance of ExpressionTypingServices, which may result in discrepancies of all sorts. Now this problem is eliminated.