コード例 #1
0
int
be_visitor_xplicit_pre_proc::visit_exception (be_exception *node)
{
  UTL_ScopedName sn (node->local_name (), 0);

  be_exception *added_excep = 0;
  ACE_NEW_RETURN (added_excep,
                  be_exception (&sn,
                                false,
                                false),
                  -1);

  idl_global->scopes ().top ()->add_to_scope (added_excep);
  idl_global->scopes ().push (added_excep);

  if (this->visit_scope (node) != 0)
    {
      ACE_ERROR_RETURN ((LM_ERROR,
                         ACE_TEXT ("be_visitor_xplicit_pre_proc::")
                         ACE_TEXT ("visit_exception - code generation ")
                         ACE_TEXT ("for scope failed\n")),
                        -1);
    }

  idl_global->scopes ().pop ();

  return 0;
}
コード例 #2
0
ファイル: be_generator.cpp プロジェクト: handsomett/ATCD
AST_Exception *
be_generator::create_exception (UTL_ScopedName *n,
                                bool is_local,
                                bool is_abstract)
{
  be_exception *retval = 0;
  ACE_NEW_RETURN (retval,
                  be_exception (n,
                                is_local,
                                is_abstract),
                  0);

  return retval;
}