+ staging_block.variables.clear();
+
+ std::vector<RefPtr<VariableDeclaration> > params;
+ params.reserve(source_func->parameters.size());
+ for(NodeArray<VariableDeclaration>::iterator i=source_func->parameters.begin(); i!=source_func->parameters.end(); ++i)
+ {
+ RefPtr<VariableDeclaration> var = (*i)->clone();
+ var->interface.clear();
+
+ SetForScope<Pass> set_pass(pass, RENAME);
+ var->visit(*this);
+
+ staging_block.body.push_back_nocopy(var);
+ params.push_back(var);
+ }