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

+}
+
+CXXBaseSpecifier *MultiplexExternalSemaSource::GetExternalCXXBaseSpecifiers(
+                                                                uint64_t Offset){
+  for(size_t i = 0; i < Sources.size(); ++i)
+    if (CXXBaseSpecifier *Res = Sources[i]->GetExternalCXXBaseSpecifiers(Offset))
+      return Res;
+  return 0; 
+}
+

+  /// external source should take care not to introduce the same instantiations
+  /// repeatedly.
+  virtual void ReadPendingInstantiations(
+              SmallVectorImpl<std::pair<ValueDecl*, SourceLocation> >& Pending);
+
+  // isa/cast/dyn_cast support
+  static bool classof(const MultiplexExternalSemaSource*) { return true; }
