2015-12-08 04:51:55 +08:00
|
|
|
#pragma once
|
2015-08-30 07:12:46 +08:00
|
|
|
|
|
|
|
#include "list.hpp"
|
|
|
|
#include "identifier.hpp"
|
2016-01-18 07:41:54 +08:00
|
|
|
#include "distinct.hpp"
|
2015-08-30 07:12:46 +08:00
|
|
|
|
|
|
|
namespace ast
|
|
|
|
{
|
|
|
|
|
|
|
|
struct ReturnList : public List<Identifier, ReturnList>
|
|
|
|
{
|
|
|
|
using List::List;
|
|
|
|
};
|
|
|
|
|
2015-10-19 01:44:00 +08:00
|
|
|
struct Return : public AstNode<Return>
|
|
|
|
{
|
|
|
|
Return(ReturnList* return_list)
|
2016-01-18 07:41:54 +08:00
|
|
|
: return_list(return_list), distinct(nullptr)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
Return(Distinct* distinct)
|
|
|
|
: return_list(nullptr), distinct(distinct)
|
|
|
|
{
|
|
|
|
}
|
2015-10-19 01:44:00 +08:00
|
|
|
|
|
|
|
ReturnList* return_list;
|
2016-01-18 07:41:54 +08:00
|
|
|
Distinct* distinct;
|
2015-10-19 01:44:00 +08:00
|
|
|
};
|
|
|
|
|
2015-08-30 07:12:46 +08:00
|
|
|
};
|