Exemplo n.º 1
0
/// Return the final class decl based on access control information.
static bool isKnownFinal(SILModule &M, SILDeclRef Member) {
  if (!calleesAreStaticallyKnowable(M, Member))
    return false;

  auto *FD = Member.getAbstractFunctionDecl();
  assert(FD && "Expected abstract function decl!");

  assert(!FD->isFinal() && "Unexpected indirect call to final method!");

  if (FD->isOverridden())
    return false;

  return true;
}