Annotation of parser3/src/classes/root.C, revision 1.3
1.1 paf 1: /*
1.3 ! paf 2: $Id: root.C,v 1.2 2001/03/08 13:42:30 paf Exp $
1.1 paf 3: */
4:
5: #include "pa_request.h"
6:
7: static void _if(Request& r, Array& params) {
1.2 paf 8: bool condition=
9: r.autocalc(
10: *static_cast<Value *>(params.get(0)),
11: false/*don't make it string*/).get_bool();
12: Value& value=r.autocalc(
1.3 ! paf 13: *static_cast<Value *>(params.get(condition?1:2)));
1.1 paf 14: r.write(value);
15: }
16:
17: void construct_root_class(Request& request) {
18: Pool& pool=request.pool();
19: String& IF_NAME=*new(pool) String(pool);
20: IF_NAME.APPEND_CONST("if");
21:
22: Method& IF_METHOD=*new(pool) Method(pool,
23: IF_NAME,
24: 3/*numbered_params_count*/,
25: 0/*params_names*/, 0/*locals_names*/,
26: 0/*parser_code*/, _if
27: );
28:
29: request.root_class.add_method(IF_NAME, IF_METHOD);
30: }
E-mail: