Track whether a class is "foreign" in the AST.

This basically just means "it's a CF class" for now,
but you could imagine applying this to all sorts of
class-like types from peer runtimes that we can't
support all possible language features for.

There are quite a few language features that require
fairly deep object-model integration to implement,
like subclassing and adding polymorphic methods.
Some of those features, like final classes, are useful
to generally support as attributes, but most of
them aren't.  At least in the short term, it makes
sense to have a big hammer we can hit things with.

Swift SVN r17428
This commit is contained in:
John McCall
2014-05-05 06:45:40 +00:00
parent c37a909e13
commit 2b969c41a2
7 changed files with 31 additions and 1 deletions

View File

@@ -629,6 +629,7 @@ namespace decls_block {
BCFixed<1>, // explicitly objc?
BCFixed<1>, // requires stored property initial values (attribute)
BCFixed<1>, // requires stored property initial values
BCFixed<1>, // foreign
TypeIDField, // superclass
BCArray<DeclIDField> // protocols
// Trailed by the generic parameters (if any), the decl context record, and