Exemplo n.º 1
0
int
be_visitor_xplicit_pre_proc::visit_structure (be_structure *node)
{
  if (this->ref_type_)
    {
      this->check_and_store (node);
      return 0;
    }

  UTL_ScopedName sn (node->local_name (), 0);

  be_structure *added_struct = 0;
  ACE_NEW_RETURN (added_struct,
                  be_structure (&sn,
                                false,
                                false),
                  -1);

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

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

  return 0;
}
Exemplo n.º 2
0
int
be_visitor_xplicit_pre_proc::visit_structure_fwd (
  be_structure_fwd *node)
{
  UTL_ScopedName sn (node->local_name (), 0);

  be_structure *dummy = 0;
  ACE_NEW_RETURN (dummy,
                  be_structure (&sn,
                                false,
                                false),
                  -1);

  be_structure_fwd *added_struct_fwd = 0;
  ACE_NEW_RETURN (added_struct_fwd,
                  be_structure_fwd (dummy,
                                    &sn),
                  -1);

  dummy->fwd_decl (added_struct_fwd);

  idl_global->scopes ().top ()->add_to_scope (added_struct_fwd);

  return 0;
}
Exemplo n.º 3
0
AST_Structure *
be_generator::create_structure (UTL_ScopedName *n,
                                bool is_local,
                                bool is_abstract)
{
  be_structure *retval = 0;
  ACE_NEW_RETURN (retval,
                  be_structure (n,
                                is_local,
                                is_abstract),
                  0);

  return retval;
}