[Syntax] function-parameter-list is now a SyntaxCollection

Removes some code duplication.
This commit is contained in:
David Farler
2017-03-02 11:27:41 -08:00
parent e565392f81
commit e70a65882f
4 changed files with 50 additions and 33 deletions

View File

@@ -126,6 +126,23 @@ FunctionParameterSyntax SyntaxFactory::makeBlankFunctionParameter() {
return { Data, Data.get() };
}
FunctionParameterListSyntax SyntaxFactory::makeFunctionParameterList(const std::vector<FunctionParameterSyntax> &Parameters) {
RawSyntax::LayoutList Layout;
for (auto Param : Parameters) {
Layout.push_back(Param.getRaw());
}
auto Raw = RawSyntax::make(SyntaxKind::FunctionParameterList, Layout,
SourcePresence::Present);
auto Data = FunctionParameterListSyntaxData::make(Raw);
return { Data, Data.get() };
}
FunctionParameterListSyntax SyntaxFactory::makeBlankFunctionParameterList() {
auto Data = FunctionParameterListSyntaxData::makeBlank();
return { Data, Data.get() };
}
#pragma mark - Statements
CodeBlockStmtSyntax