aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Sema/ExternalSemaSource.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-07-28 19:49:54 +0000
committerDouglas Gregor <dgregor@apple.com>2011-07-28 19:49:54 +0000
commit6e4a3f5c59664af13e02e9bb58c2810b830e3b96 (patch)
tree950731faf2126e1cf7aece0aee7ef4d4ae8fab31 /include/clang/Sema/ExternalSemaSource.h
parentf3546eeef1eed4661b77b93b91a29be1bf5f7d0b (diff)
Make the deserialization of Sema::PendingInstantiations lazy. At this
point, ASTReader::InitializeSema() has very little interesting work, *except* issues stemming from preloaded declarations. That's something we'll still need to cope with. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136378 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Sema/ExternalSemaSource.h')
-rw-r--r--include/clang/Sema/ExternalSemaSource.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/clang/Sema/ExternalSemaSource.h b/include/clang/Sema/ExternalSemaSource.h
index 00494641ba..7b83625fa3 100644
--- a/include/clang/Sema/ExternalSemaSource.h
+++ b/include/clang/Sema/ExternalSemaSource.h
@@ -27,6 +27,7 @@ struct ObjCMethodList;
class Scope;
class Sema;
class TypedefNameDecl;
+class ValueDecl;
class VarDecl;
/// \brief A simple structure that captures a vtable use for the purposes of
@@ -162,6 +163,17 @@ public:
/// source should take care not to introduce the same vtables repeatedly.
virtual void ReadUsedVTables(SmallVectorImpl<ExternalVTableUse> &VTables) {}
+ /// \brief Read the set of pending instantiations known to the external
+ /// Sema source.
+ ///
+ /// The external source should append its own pending instantiations to the
+ /// given vector. Note that this routine may be invoked multiple times; the
+ /// 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 ExternalASTSource *Source) {
return Source->SemaSource;