[SILSerializer] Fix issues in deserializing SILFunction with generic outer parameter.

Before this fix, we can't deserialize any SILFunction with generic outer
parameters.

We do not have the decl associated with the generic parameter list at SIL level,
so instead of using a nullptr decl, we serialize the outer generic parameters
directly.

rdar://16630493


Swift SVN r16562
This commit is contained in:
Manman Ren
2014-04-19 01:53:12 +00:00
parent 81ce0e8384
commit a28a08d1ba
4 changed files with 28 additions and 18 deletions

View File

@@ -499,7 +499,8 @@ public:
/// If the record at the cursor is not a generic param list, returns null
/// without moving the cursor.
GenericParamList *maybeReadGenericParams(DeclContext *DC,
llvm::BitstreamCursor &Cursor);
llvm::BitstreamCursor &Cursor,
GenericParamList *outerParams = nullptr);
virtual ArrayRef<Decl *> loadAllMembers(const Decl *D,
uint64_t contextData) override;