Commit Graph

9 Commits

Author SHA1 Message Date
Nadav Rotem
001533d1eb Fix the build by adding the '==' operator to Substitution.
Swift SVN r16565
2014-04-19 05:47:00 +00:00
Joe Groff
fbd2d946f2 Add a big comment about the caveats of using Substitution::Archetype for anything.
We don't have time to kill it completely, so leave a warning sign for people who might consider using it again.

Swift SVN r14966
2014-03-12 20:46:12 +00:00
Joe Groff
a404b0cd49 Rework Substitution::subst not to depend on the meaningless 'Archetype' field of Substitutions.
Pass in the context generic parameters that correspond to the substitution vector in Substitution::subst. When we build the type substitution map, also collect the conformances from the substitutions into a map we can use to fill in those conformances in substituted substitutions where necessary, without relying on the '.Archetype' field.

Swift SVN r14964
2014-03-12 20:29:46 +00:00
Joe Groff
92f7b5512d AST: Add a "Substitution::subst" API.
Substitute a...um...substitution by remapping its Replacement mapping and recursively remapping any ProtocolConformances it has. Modify the Specializer to use Substitution::subst when specializing the substitutions of ArchetypeMethod and Apply instructions.

Swift SVN r12900
2014-01-24 04:35:49 +00:00
Nadav Rotem
ccf3a127f2 Add a simple generic specialization pass.
Swift SVN r10885
2013-12-05 22:20:05 +00:00
Joe Groff
1f7192f7f2 Add print/dump methods to Substitution.
Swift SVN r9512
2013-10-19 00:21:54 +00:00
Dmitri Hrybenko
d0455ca1c6 Remove unneeded llvm:: qualifier for llvm::ArrayRef
Swift SVN r7093
2013-08-09 20:05:02 +00:00
Doug Gregor
709882c2b8 Capture complete associated type substitution information in the AST.
Previously, we only tracked the mapping from associated types to their
type witnesses. Now, also track the protocol conformances for each of
the requirements placed on the associated types.


Swift SVN r6655
2013-07-26 22:04:53 +00:00
John McCall
00126779d6 The world demands a common generics header, and who am I
to disagree with billions of other people?

Swift SVN r2926
2012-10-03 08:57:36 +00:00