diff options
Diffstat (limited to 'cpp/src/Slice/RubyUtil.cpp')
-rw-r--r-- | cpp/src/Slice/RubyUtil.cpp | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp index 6364e88133e..d561c8db755 100644 --- a/cpp/src/Slice/RubyUtil.cpp +++ b/cpp/src/Slice/RubyUtil.cpp @@ -12,7 +12,7 @@ #include <Slice/Util.h> #include <IceUtil/Functional.h> #include <IceUtil/InputUtil.h> -#include <IceUtil/Unicode.h> +#include <IceUtil/StringConverter.h> #include <iterator> using namespace std; @@ -551,7 +551,7 @@ Slice::Ruby::CodeVisitor::visitClassDefStart(const ClassDefPtr& p) _out.dec(); _out << nl << "end"; - _out << nl << "def " << name << "Prx.ice_staticId()"; + _out << nl << "def " << name << "Prx.ice_staticId()"; _out.inc(); _out << nl << "'" << scoped << "'"; _out.dec(); @@ -871,7 +871,7 @@ Slice::Ruby::CodeVisitor::visitExceptionStart(const ExceptionPtr& p) // _out << sp << nl << "def to_s"; _out.inc(); - _out << nl << "'" << scoped.substr(2) << "'"; + _out << nl << "'" << scoped << "'"; _out.dec(); _out << nl << "end"; @@ -1322,6 +1322,7 @@ Slice::Ruby::CodeVisitor::writeType(const TypePtr& p) _out << "::Ice::T_string"; break; } + case Builtin::KindValue: case Builtin::KindObject: { _out << "::Ice::T_Object"; @@ -1382,6 +1383,7 @@ Slice::Ruby::CodeVisitor::getInitializer(const DataMemberPtr& m) { return "''"; } + case Builtin::KindValue: case Builtin::KindObject: case Builtin::KindObjectProxy: case Builtin::KindLocalObject: @@ -1506,22 +1508,7 @@ Slice::Ruby::CodeVisitor::writeConstantValue(const TypePtr& type, const SyntaxTr vector<unsigned int> u32buffer; u32buffer.push_back(static_cast<unsigned int>(v)); - vector<unsigned char> u8buffer; - IceUtilInternal::ConversionResult result = convertUTF32ToUTF8(u32buffer, u8buffer, IceUtil::lenientConversion); - switch(result) - { - case conversionOK: - break; - case sourceExhausted: - throw IceUtil::IllegalConversionException(__FILE__, __LINE__, "string source exhausted"); - case sourceIllegal: - throw IceUtil::IllegalConversionException(__FILE__, __LINE__, "string source illegal"); - default: - { - assert(0); - throw IceUtil::IllegalConversionException(__FILE__, __LINE__); - } - } + vector<unsigned char> u8buffer = fromUTF32(u32buffer); ostringstream s; for(vector<unsigned char>::const_iterator q = u8buffer.begin(); q != u8buffer.end(); ++q) @@ -1595,6 +1582,7 @@ Slice::Ruby::CodeVisitor::writeConstantValue(const TypePtr& type, const SyntaxTr break; } + case Slice::Builtin::KindValue: case Slice::Builtin::KindObject: case Slice::Builtin::KindObjectProxy: case Slice::Builtin::KindLocalObject: |