Commits

Doug Gregor committed 2feed84c919
Sketch out the interface to an iterative, lazy type checker. This is all effectively NFC, but lays out the shape of the iterative type checker: requests are packaged up in TypeCheckRequest, we can check whether the request has been satisfied already (isSatisfied), enumerate its dependencies (enumerateDependenciesOf) in terms of other TypeCheckRequests, and satisfy a request (satisfy). Lazily-computed semantic information is captured directly in the AST, but has been set aside in its own structure to allow us to experiment with moving it into a lookaside table. The only request that exists now is to type-check the superclass of the given class. It currently performs unhealthy recursion into the existing type checker. As we detangle dependencies, this recursion between the IterativeTypeChecker and the TypeChecker can go away. Swift SVN r32558