2 //=============================================================================
6 * Visitor generating code for Root in the CIAO
11 //=============================================================================
15 be_visitor_root_exs::be_visitor_root_exs (be_visitor_context
*ctx
)
16 : be_visitor_root (ctx
)
20 be_visitor_root_exs::~be_visitor_root_exs (void)
25 be_visitor_root_exs::visit_root (be_root
*node
)
27 if (this->init () == -1)
29 ACE_ERROR_RETURN ((LM_ERROR
,
30 ACE_TEXT ("be_visitor_root_exs::init - ")
31 ACE_TEXT ("failed to initialize\n")),
35 if (this->visit_scope (node
) == -1)
37 ACE_ERROR_RETURN ((LM_ERROR
,
38 ACE_TEXT ("be_visitor_root_exs::visit_root - ")
39 ACE_TEXT ("codegen for scope failed\n")),
43 (void) tao_cg
->end_ciao_exec_source ();
49 be_visitor_root_exs::init (void)
51 // First open the client-side header file for writing.
53 tao_cg
->start_ciao_exec_source (
54 be_global
->be_get_ciao_exec_src_fname ());
58 ACE_ERROR_RETURN ((LM_ERROR
,
59 ACE_TEXT ("be_visitor_root_exs::init - ")
60 ACE_TEXT ("Error opening CIAO exec impl ")
61 ACE_TEXT ("source file\n")),
65 // Initialize the stream.
66 this->ctx_
->stream (tao_cg
->ciao_exec_source ());