diff options
Diffstat (limited to 'TAO_IDL/be/be_visitor_union/discriminant_ci.cpp')
-rw-r--r-- | TAO_IDL/be/be_visitor_union/discriminant_ci.cpp | 58 |
1 files changed, 27 insertions, 31 deletions
diff --git a/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp b/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp index 3564be6ade1..171d016df82 100644 --- a/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp +++ b/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - // ************************************************************************* // be_visitor_discriminant_ci - visitor for discriminant in client inline file // ************************************************************************* @@ -52,14 +51,14 @@ be_visitor_union_discriminant_ci::visit_enum (be_enum *node) if (bu->default_value (dv) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_union_discriminant_ci::" - "visit_enum - " - "computing default value failed\n"), + ACE_TEXT ("be_visitor_union_discriminant_ci::") + ACE_TEXT ("visit_enum - ") + ACE_TEXT ("computing default value failed\n")), -1); } - *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl_2 << "// TAO_IDL - Generated from" << be_nl + << "// " << __FILE__ << ":" << __LINE__ << be_nl_2; if ((dv.computed_ != 0) && (bu->default_index () == -1)) { @@ -71,10 +70,11 @@ be_visitor_union_discriminant_ci::visit_enum (be_enum *node) << "{" << be_idt_nl << "this->_reset ();" << be_nl << "this->disc_ = "; - + // We use one of the enum values that isn't used in this // union if one is available. UTL_ScopedName *sn = node->value_to_name (dv.u.enum_val); + if (sn) { // The function value_to_name() takes care of adding @@ -85,9 +85,11 @@ be_visitor_union_discriminant_ci::visit_enum (be_enum *node) { // Since CORBA defines enums to be 32bits, use -1 as the // out-of-bounds value for the _default() function. - *os << "(" << bt->name () << ") -1"; + *os << "static_cast <" << bt->name () << "> (-1)"; } - *os << ";" << be_uidt_nl << "}" << be_nl << be_nl; + + *os << ";" << be_uidt_nl + << "}" << be_nl_2; } // the set method @@ -98,7 +100,7 @@ be_visitor_union_discriminant_ci::visit_enum (be_enum *node) << " discval)" << be_nl << "{" << be_idt_nl << "this->disc_ = discval;" << be_uidt_nl - << "}" << be_nl << be_nl; + << "}" << be_nl_2; // the get method *os << "// Accessor to get the discriminant." << be_nl @@ -139,14 +141,14 @@ be_visitor_union_discriminant_ci::visit_predefined_type ( if (bu->default_value (dv) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_union_discriminant_ci::" - "visit_enum - " - "computing default value failed\n"), + ACE_TEXT ("be_visitor_union_discriminant_ci::") + ACE_TEXT ("visit_enum - ") + ACE_TEXT ("computing default value failed\n")), -1); } - *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl_2 << "// TAO_IDL - Generated from" << be_nl + << "// " << __FILE__ << ":" << __LINE__ << be_nl_2; if ((dv.computed_ != 0) && (bu->default_index () == -1)) { @@ -164,49 +166,43 @@ be_visitor_union_discriminant_ci::visit_predefined_type ( { case AST_Expression::EV_short: *os << dv.u.short_val; - break; case AST_Expression::EV_ushort: *os << dv.u.ushort_val; - break; case AST_Expression::EV_long: *os << dv.u.long_val; - break; case AST_Expression::EV_ulong: *os << dv.u.ulong_val; - break; case AST_Expression::EV_char: os->print ("'\\%o'", dv.u.char_val); break; case AST_Expression::EV_bool: *os << (dv.u.bool_val == 0 ? "false" : "true"); - break; case AST_Expression::EV_longlong: *os << dv.u.longlong_val; - break; case AST_Expression::EV_ulonglong: *os << dv.u.ulonglong_val; - break; default: // Error caught earlier. ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_union_discriminant_ci::" - "visit_predefined_type - " - "bad or unimplemented discriminant type\n"), - -1); + ACE_TEXT ("be_visitor_union_discriminant_ci::") + ACE_TEXT ("visit_predefined_type - ") + ACE_TEXT ("bad or unimplemented ") + ACE_TEXT ("discriminant type\n")), + -1); } *os << ";" << be_uidt_nl << "}"; } // The set method. - *os << be_nl << be_nl + *os << be_nl_2 << "// Accessor to set the discriminant." << be_nl << "ACE_INLINE" << be_nl << "void" << be_nl @@ -214,7 +210,7 @@ be_visitor_union_discriminant_ci::visit_predefined_type ( << " discval)" << be_nl << "{" << be_idt_nl << "this->disc_ = discval;" << be_uidt_nl - << "}" << be_nl << be_nl; + << "}" << be_nl_2; // The get method. *os << "// Accessor to get the discriminant." << be_nl @@ -239,9 +235,9 @@ be_visitor_union_discriminant_ci::visit_typedef (be_typedef *node) if (!bt || (bt->accept (this) == -1)) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_union_discriminant_ci::" - "visit_typedef - " - "Bad primitive type\n"), + ACE_TEXT ("be_visitor_union_discriminant_ci::") + ACE_TEXT ("visit_typedef - ") + ACE_TEXT ("Bad primitive type\n")), -1); } |