Commits

Doug Gregor committed 0f6b7a9d22e
Rework our handling of "external" definitions created by the Clang importer. Keep track of external definitions as they are created by broadcasting them through a mutation listener interface. At name binding time, we just cache them. When a type checker is alive, it immediately performs any additional operations necessary on those types (e.g., declaring implicit constructors). This also eliminates some O(N^2) behavior in the type checker as well, because we don't have to walk through all of the module imports to find the external definitions. We just keep a single list in the ASTContext along with our place in the list. Fixes <rdar://problem/13769497>. Swift SVN r5032