本文整理汇总了C++中AST_Type::name方法的典型用法代码示例。如果您正苦于以下问题:C++ AST_Type::name方法的具体用法?C++ AST_Type::name怎么用?C++ AST_Type::name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AST_Type
的用法示例。
在下文中一共展示了AST_Type::name方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
UTL_NameList *
ast_visitor_tmpl_module_inst::create_name_list (AST_Type **list,
long length)
{
UTL_NameList *retval = 0;
for (long i = 0; i < length; ++i)
{
AST_Type *item =
AST_Type::narrow_from_decl (this->reify_type (list[i]));
// We copy each name added so we can call destroy() on the
// list, which disposes of the contents as well as the
// nested tail pointers.
UTL_NameList *name_item = 0;
ACE_NEW_RETURN (name_item,
UTL_NameList (item->name ()->copy (), 0),
0);
if (retval == 0)
{
retval = name_item;
}
else
{
retval->nconc (name_item);
}
}
return retval;
}
示例2:
void
be_component::gen_skel_inheritance (TAO_OutStream *os)
{
AST_Component *base = this->base_component ();
if (base != 0)
{
*os << "public virtual POA_" << base->name ();
}
else
{
*os << "public virtual POA_Components::CCMObject";
}
long nsupports = this->n_inherits ();
AST_Type **supports = this->supports ();
AST_Type *supported = 0;
for (long i = 0; i < nsupports; ++i)
{
supported = supports[i];
if (supported->is_abstract ())
{
continue;
}
*os << "," << be_nl;
*os << "public virtual POA_" << supported->name ();
}
}
示例3: sname_str
int
be_visitor_home_svh::gen_servant_class (void)
{
AST_Decl *scope = ScopeAsDecl (node_->defined_in ());
ACE_CString sname_str (scope->full_name ());
const char *sname = sname_str.c_str ();
// No '_cxx_' prefix.
const char *lname =
node_->original_local_name ()->get_string ();
const char *clname = comp_->local_name ()->get_string ();
const char *global = (sname_str == "" ? "" : "::");
os_ << be_nl
<< "class " << export_macro_.c_str () << " " << lname
<< "_Servant" << be_idt_nl
<< ": public virtual" << be_idt << be_idt_nl
<< "::CIAO::"
<< "Home_Servant_Impl<" << be_idt_nl
<< "::" << node_->full_skel_name () << "," << be_nl
<< global << sname << "::CCM_" << lname << "," << be_nl
<< clname << "_Servant," << be_nl
<< "::CIAO::" << be_global->ciao_container_type () << "_Container>"
<< be_uidt << be_uidt << be_uidt << be_uidt_nl
<< "{" << be_nl
<< "public:" << be_idt_nl;
os_ << lname << "_Servant (" << be_idt_nl
<< global << sname << "::CCM_" << lname << "_ptr exe," << be_nl
<< "const char * ins_name," << be_nl
<< "::CIAO::" << be_global->ciao_container_type ()
<< "_Container_ptr c);" << be_uidt;
os_ << be_nl_2
<< "virtual ~" << lname << "_Servant (void);";
if (this->node_->has_rw_attributes ())
{
os_ << be_nl_2
<< "virtual void" << be_nl
<< "set_attributes (const "
<< "::Components::ConfigValues & descr);";
}
AST_Type *pk = node_->primary_key ();
if (pk != 0)
{
os_ << be_nl_2
<< "// Implicit home primary key operations - not supported.";
os_ << be_nl_2
<< "virtual ::" << comp_->name () << "_ptr" << be_nl
<< "create (" << be_idt_nl
<< "::" << pk->name () << " * key);" << be_uidt;
if (!be_global->gen_lwccm ())
{
os_ << be_nl_2
<< "virtual ::" << comp_->name () << "_ptr" << be_nl
<< "find_by_primary_key (" << be_idt_nl
<< "::" << pk->name () << " * key);" << be_uidt;
}
os_ << be_nl_2
<< "virtual void" << be_nl
<< "remove (" << be_idt_nl
<< "::" << pk->name () << " * key);" << be_uidt;
if (!be_global->gen_lwccm ())
{
os_ << be_nl_2
<< "virtual ::" << pk->name () << " *" << be_nl
<< "get_primary_key (" << be_idt_nl
<< "::" << comp_->name () << "_ptr comp);" << be_uidt;
}
}
be_home *h = node_;
while (h != 0)
{
if (this->visit_scope (h) != 0)
{
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("be_visitor_home_svh::")
ACE_TEXT ("gen_servant_class - ")
ACE_TEXT ("visit_scope() failed\n")),
-1);
}
for (long i = 0; i < h->n_inherits (); ++i)
{
// A closure of all the supported interfaces is stored
// in the base class 'pd_inherits_flat' member.
be_interface *bi =
be_interface::narrow_from_decl (h->inherits ()[i]);
int status =
//.........这里部分代码省略.........
示例4: f
bool
metaclass_generator::gen_typedef(AST_Typedef*, UTL_ScopedName* name, AST_Type* type, const char*)
{
AST_Array* arr = AST_Array::narrow_from_decl(type);
AST_Sequence* seq = 0;
if (!arr && !(seq = AST_Sequence::narrow_from_decl(type))) {
return true;
}
const Classification cls = classify(type);
const std::string clazz = scoped(name);
ContentSubscriptionGuard csg;
NamespaceGuard ng;
Function f("gen_skip_over", "bool");
f.addArg("ser", "Serializer&");
f.addArg("", clazz + ((cls & CL_ARRAY) ? "_forany*" : "*"));
f.endArgs();
std::string len;
AST_Type* elem;
if (arr) {
elem = arr->base_type();
size_t n_elems = 1;
for (size_t i = 0; i < arr->n_dims(); ++i) {
n_elems *= arr->dims()[i]->ev()->u.ulval;
}
std::ostringstream strstream;
strstream << n_elems;
len = strstream.str();
} else { // Sequence
elem = seq->base_type();
be_global->impl_ <<
" ACE_CDR::ULong length;\n"
" if (!(ser >> length)) return false;\n";
len = "length";
}
const std::string cxx_elem = scoped(elem->name());
elem = resolveActualType(elem);
const Classification elem_cls = classify(elem);
if ((elem_cls & (CL_PRIMITIVE | CL_ENUM)) && !(elem_cls & CL_WIDE)) {
// fixed-length sequence/array element -> skip all elements at once
int sz = 1;
to_cxx_type(elem, sz);
be_global->impl_ <<
" return ser.skip(" << len << ", " << sz << ");\n";
} else {
be_global->impl_ <<
" for (ACE_CDR::ULong i = 0; i < " << len << "; ++i) {\n";
if ((elem_cls & CL_PRIMITIVE) && (elem_cls & CL_WIDE)) {
be_global->impl_ <<
" ACE_CDR::Octet o;\n"
" if (!(ser >> ACE_InputCDR::to_octet(o))) return false;\n"
" if (!ser.skip(o)) return false;\n";
} else if (elem_cls & CL_STRING) {
be_global->impl_ <<
" ACE_CDR::ULong strlength;\n"
" if (!(ser >> strlength)) return false;\n"
" if (!ser.skip(strlength)) return false;\n";
} else if (elem_cls & (CL_ARRAY | CL_SEQUENCE | CL_STRUCTURE)) {
be_global->impl_ <<
" if (!gen_skip_over(ser, static_cast<" << cxx_elem <<
((elem_cls & CL_ARRAY) ? "_forany" : "") << "*>(0))) return false;\n";
}
be_global->impl_ <<
" }\n";
be_global->impl_ <<
" return true;\n";
}
return true;
}
示例5: sname_str
int
be_visitor_home_svs::gen_servant_class (void)
{
AST_Decl *scope = ScopeAsDecl (node_->defined_in ());
ACE_CString sname_str (scope->full_name ());
const char *sname = sname_str.c_str ();
// Avoid '_cxx_' prefix.
const char *lname =
node_->original_local_name ()->get_string ();
const char *clname = comp_->local_name ()->get_string ();
const char *global = (sname_str == "" ? "" : "::");
os_ << be_nl
<< lname << "_Servant::"
<< lname << "_Servant (" << be_idt << be_idt_nl
<< global << sname << "::CCM_" << lname << "_ptr exe," << be_nl
<< "const char * ins_name," << be_nl
<< "::CIAO::" << be_global->ciao_container_type ()
<< "_Container_ptr c)" << be_uidt_nl
<< ": ::CIAO::Home_Servant_Impl_Base ()," << be_idt_nl
<< "::CIAO::"
<< "Home_Servant_Impl<" << be_idt_nl
<< "::" << node_->full_skel_name () << "," << be_nl
<< global << sname << "::CCM_" << lname << "," << be_nl
<< clname << "_Servant," << be_nl
<< "::CIAO::" << be_global->ciao_container_type () << "_Container> (exe, c, ins_name)"
<< be_uidt << be_uidt << be_uidt_nl
<< "{" << be_nl
<< "}";
os_ << be_nl_2
<< lname << "_Servant::~" << lname << "_Servant (void)"
<< be_nl
<< "{" << be_nl
<< "}";
if (this->node_->has_rw_attributes ())
{
os_ << be_nl_2
<< "void" << be_nl
<< lname << "_Servant::set_attributes (" << be_idt_nl
<< "const ::Components::ConfigValues & descr)"
<< be_uidt_nl
<< "{" << be_idt_nl;
os_ << "for ( ::CORBA::ULong i = 0; i < descr.length (); ++i)"
<< be_idt_nl
<< "{" << be_idt_nl
<< "const char * descr_name = descr[i]->name ();"
<< be_nl
<< "::CORBA::Any & descr_value = descr[i]->value ();";
be_visitor_home_attr_set as_visitor (this->ctx_);
if (as_visitor.visit_home (node_) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
"home_svs::"
"gen_servant_class - "
"attr init visitor failed\n"),
-1);
}
os_ << be_uidt_nl
<< "}" << be_uidt << be_uidt_nl
<< "}";
}
AST_Type *pk = node_->primary_key ();
if (pk != 0)
{
os_ << be_nl_2
<< "::" << comp_->name () << "_ptr" << be_nl
<< lname << "_Servant::create (" << be_idt_nl
<< "::" << pk->name () << " * /* key */)" << be_uidt_nl
<< "{" << be_idt_nl
<< "throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8,"
<< be_nl
<< " CORBA::COMPLETED_NO);"
<< be_uidt_nl
<< "}";
if (!be_global->gen_lwccm ())
{
os_ << be_nl_2
<< "::" << comp_->name () << "_ptr" << be_nl
<< lname << "_Servant::find_by_primary_key (" << be_idt_nl
<< "::" << pk->name () << " * /* key */)" << be_uidt_nl
<< "{" << be_idt_nl
<< "throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8,"
<< be_nl
<< " CORBA::COMPLETED_NO);"
<< be_uidt_nl
<< "}";
}
os_ << be_nl_2
//.........这里部分代码省略.........