Eliminate the Parameter type completely - now ParameterList is just

an overblown array of ParamDecl*'s that also keeps track of parenlocs
and has helper methods.
This commit is contained in:
Chris Lattner
2016-01-03 14:44:48 -08:00
parent a503269e2d
commit 6afe77d597
43 changed files with 362 additions and 513 deletions

View File

@@ -306,9 +306,8 @@ struct ArgumentInitHelper {
}
}
void emitParam(Parameter &param) {
void emitParam(ParamDecl *PD) {
++ArgNo;
auto PD = param.decl;
if (PD->hasName()) {
makeArgumentIntoBinding(PD->getType(), &*f.begin(), PD);
return;
@@ -349,8 +348,8 @@ static void makeArgument(Type ty, ParamDecl *decl,
void SILGenFunction::bindParametersForForwarding(const ParameterList *params,
SmallVectorImpl<SILValue> &parameters) {
for (auto &param : *params) {
makeArgument(param.decl->getType(), param.decl, parameters, *this);
for (auto param : *params) {
makeArgument(param->getType(), param, parameters, *this);
}
}