4
Copyright (C) 2005-2010 Julien Jorge, Sebastien Angibaud
6
This program is free software; you can redistribute it and/or modify it
7
under the terms of the GNU General Public License as published by the
8
Free Software Foundation; either version 2 of the License, or (at your
9
option) any later version.
11
This program is distributed in the hope that it will be useful, but WITHOUT
12
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16
You should have received a copy of the GNU General Public License along
17
with this program; if not, write to the Free Software Foundation, Inc.,
18
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
contact: plee-the-bear@gamned.org
22
Please add the tag [Bear] in the subject of your mails.
25
* \file node_parser_argument_list.cpp
26
* \brief Implementation of the bear::engine::node_parser_argument_list class.
27
* \author Julien Jorge
29
#include "engine/script/node_parser/node_parser_argument_list.hpp"
31
#include "engine/script/method_call.hpp"
32
#include "engine/script/script_grammar.hpp"
33
#include "engine/script/node_parser/node_parser_argument.hpp"
35
/*----------------------------------------------------------------------------*/
37
* \brief Parse a node of type argument_list.
38
* \param call The method call for which we set the arguments.
39
* \param node Node to parse.
41
void bear::engine::node_parser_argument_list::parse_node
42
( method_call& call, const tree_node& node ) const
44
std::vector<std::string> args;
45
node_parser_argument parser;
48
if ( node.value.id() == script_grammar::id_argument_list )
50
for (std::size_t i=0; i!=node.children.size(); ++i)
52
parser.parse_node(val, node.children[i]);
58
parser.parse_node(val, node);
62
call.set_arguments(args);
63
} // node_parser_argument_list::parse_node()