Introduced isolated deinit as a SIL entity

This commit is contained in:
Mykola Pokhylets
2023-04-24 12:23:54 +02:00
parent 698e5e688a
commit b189495518
20 changed files with 101 additions and 23 deletions

View File

@@ -367,6 +367,7 @@ private:
case Node::Kind::CurryThunk:
case Node::Kind::DispatchThunk:
case Node::Kind::Deallocator:
case Node::Kind::IsolatedDeallocator:
case Node::Kind::DeclContext:
case Node::Kind::DefaultArgumentInitializer:
case Node::Kind::DefaultAssociatedTypeMetadataAccessor:
@@ -2721,6 +2722,12 @@ NodePointer NodePrinter::print(NodePointer Node, unsigned depth,
/*hasName*/ false,
isClassType(Node->getChild(0)) ? "__deallocating_deinit"
: "deinit");
case Node::Kind::IsolatedDeallocator:
return printEntity(Node, depth, asPrefixContext, TypePrinting::NoType,
/*hasName*/ false,
isClassType(Node->getChild(0))
? "__isolated_deallocating_deinit"
: "deinit");
case Node::Kind::IVarInitializer:
return printEntity(Node, depth, asPrefixContext, TypePrinting::NoType,
/*hasName*/ false, "__ivar_initializer");