Commits

Manman Ren committed 0b19aaf716f
[SILParser] handle generic signature with depth. Here is how we parse SILFunctionType: 1> Printer will print the generic signature of SILFunctionType by splitting the requirement lists by depth. 2> Parser will parse the printed generic signature as nested generic parameter lists, and will construct generic signature from the generic parameter lists by calling getAsCanonicalGenericSignature. 3> When parsing the substitution list of an ApplyInst, we assume the order of the substitutions match the order of AllNestedArchetypes. Parsing of back-to-back generic parameter lists is only enabled in SIL mode. Another option is to parse generic signatures directly, but at SIL level, we need to access Archetypes and they are currently built from generic parameter lists. That means we have to reconstruct both generic signatures and generic parameter lists. rdar://17963350 Swift SVN r21421