[AST] Explicitly track things marked __owned.

This commit is contained in:
Huon Wilson
2018-02-27 17:50:11 -08:00
parent ae0027a225
commit e307e54098
48 changed files with 358 additions and 141 deletions

View File

@@ -150,6 +150,7 @@ NODE(RelatedEntityDeclName)
NODE(RetroactiveConformance)
NODE(ReturnType)
NODE(Shared)
NODE(Owned)
NODE(SILBoxType)
NODE(SILBoxTypeWithLayout)
NODE(SILBoxLayout)

View File

@@ -57,6 +57,7 @@ public:
void setVariadic() { Flags = Flags.withVariadic(true); }
void setShared() { Flags = Flags.withShared(true); }
void setOwned() { Flags = Flags.withOwned(true); }
void setInOut() { Flags = Flags.withInOut(true); }
void setFlags(ParameterFlags flags) { Flags = flags; };
@@ -544,6 +545,12 @@ private:
node = node->getFirstChild();
break;
case NodeKind::Owned:
param.setOwned();
hasParamFlags = true;
node = node->getFirstChild();
break;
default:
break;
}