 +
 +}
 +
-+//===-----------------------------------------------------------------------===//
++//===----------------------------------------------------------------------===//
 +// ExternalSemaSource.
-+//===-----------------------------------------------------------------------===//
++//===----------------------------------------------------------------------===//
 +
 +
 +void MultiplexExternalSemaSource::InitializeSema(Sema &S) {

+void MultiplexExternalSemaSource::FindFileRegionDecls(FileID File, 
+                                                      unsigned Offset,
+                                                      unsigned Length,
+                                                 SmallVectorImpl<Decl *> &Decls){
+  for(size_t i = 0; i < Sources.size(); ++i)
+    Sources[i]->FindFileRegionDecls(File, Offset, Length, Decls);
+}

+  /// given vector of tentative definitions. Note that this routine may be
+  /// invoked multiple times; the external source should take care not to
+  /// introduce the same declarations repeatedly.
+  virtual void ReadTentativeDefinitions(SmallVectorImpl<VarDecl*> &Defs);
+  
+  /// \brief Read the set of unused file-scope declarations known to the
+  /// external Sema source.
