Support the explicit representation of self-conformances.

Big, but actually NFC because we're never actually creating them.
This commit is contained in:
John McCall
2018-11-15 15:51:16 -05:00
parent 9cc9a94d56
commit 5553224fd4
41 changed files with 727 additions and 230 deletions

View File

@@ -47,6 +47,7 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MD5.h"
#include "ConformanceDescription.h"
#include "GenEnum.h"
#include "GenIntegerLiteral.h"
#include "GenType.h"
@@ -739,7 +740,7 @@ bool IRGenerator::canEmitWitnessTableLazily(SILWitnessTable *wt) {
return true;
NominalTypeDecl *ConformingTy =
wt->getConformance()->getType()->getNominalOrBoundGenericNominal();
wt->getConformingType()->getNominalOrBoundGenericNominal();
switch (ConformingTy->getEffectiveAccess()) {
case AccessLevel::Private: