};
template <typename Type_>
-void CYSetLast(Type_ *&list, Type_ *item) {
+Type_ *&CYLast(Type_ *&list) {
if (list == NULL)
- list = item;
+ return list;
else {
Type_ *next(list);
while (next->next_ != NULL)
next = next->next_;
- next->next_ = item;
+ return next->next_;
}
}
}
void AddPrev(CYStatement *statement) {
- CYSetLast(statement, statements_);
+ CYLast(statement) = statements_;
statements_ = statement;
}
}
void AddPrev(CYExpression *expression) {
- CYSetLast(expression, expressions_);
+ CYLast(expression) = expressions_;
expressions_ = expression;
}
namespace Syntax {
CYExpression *New::AddArgument(CYContext &context, CYExpression *value) {
- CYSetLast(arguments_, $ CYArgument(value));
+ CYLast(arguments_) = $ CYArgument(value);
return this;
}