Remove ScopedDecl, collapsing all of its functionality into Decl, so
that every declaration lives inside a DeclContext.
Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.
The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62562 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/InternalsManual.html b/docs/InternalsManual.html
index 2fcadb7..2723284 100644
--- a/docs/InternalsManual.html
+++ b/docs/InternalsManual.html
@@ -1019,14 +1019,12 @@
(de-)serialization.</dd>
</dl>
-<p>The declarations stored within each declaration context are
- called <i>scoped declarations</i> and the AST nodes for each of
- these declarations are
- derived from the <code>ScopedDecl</code> class, which provides
- information about the context in which that declaration lives. One
+<p>All declarations are stored within a declaration context, and one
+ can query
+ information about the context in which each declaration lives. One
can retrieve the <code>DeclContext</code> that contains a
- particular <code>ScopedDecl</code>
- using <code>ScopedDecl::getDeclContext</code>. However, see the
+ particular <code>Decl</code>
+ using <code>Decl::getDeclContext</code>. However, see the
section <a href="#LexicalAndSemanticContexts">Lexical and Semantic
Contexts</a> for more information about how to interpret this
context information.</p>
@@ -1065,15 +1063,14 @@
primarily use this semantics-centric view.</p>
<h4 id="LexicalAndSemanticContexts">Lexical and Semantic Contexts</h4>
-<p>Each scoped declaration (whose AST node derived
- from <code>ScopedDecl</code>) has two potentially different
+<p>Each declaration has two potentially different
declaration contexts: a <i>lexical</i> context, which corresponds to
the source-centric view of the declaration context, and
a <i>semantic</i> context, which corresponds to the
semantics-centric view. The lexical context is accessible
- via <code>ScopedDecl::getLexicalDeclContext</code> while the
+ via <code>Decl::getLexicalDeclContext</code> while the
semantic context is accessible
- via <code>ScopedDecl::getDeclContext</code>, both of which return
+ via <code>Decl::getDeclContext</code>, both of which return
<code>DeclContext</code> pointers. For most declarations, the two
contexts are identical. For example:</p>