From bdac3612afcc171a5c8e35850fe2b7b461f7ba69 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 2 May 2013 21:47:13 +0000 Subject: QPID-4798: Fix up c++ code generation to use stripped spec files. The stripped specs have no elements, this was tripping up the code generator. Fixed the generator to process elements if they are present but to carry on without them if they are not. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1478582 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/rubygen/0-10/exceptions.rb | 2 +- cpp/rubygen/framing.0-10/Session.rb | 4 +++- cpp/rubygen/framing.0-10/constants.rb | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'cpp/rubygen') diff --git a/cpp/rubygen/0-10/exceptions.rb b/cpp/rubygen/0-10/exceptions.rb index 02e3a5d547..fed8fdac5b 100755 --- a/cpp/rubygen/0-10/exceptions.rb +++ b/cpp/rubygen/0-10/exceptions.rb @@ -32,7 +32,7 @@ class GenExceptions < CppGen enum.choices.each { |c| name=c.name.typename+suffix+"Exception" genl - doxygen_comment { genl c.doc } + doxygen_comment { genl c.doc } if c.doc struct(name, "public #{base}") { genl "#{name}(const std::string& msg=std::string())" genl " : #{base}(#{ns}::#{c.name.shout}, msg) {}" diff --git a/cpp/rubygen/framing.0-10/Session.rb b/cpp/rubygen/framing.0-10/Session.rb index e800df9b2e..28165448ed 100755 --- a/cpp/rubygen/framing.0-10/Session.rb +++ b/cpp/rubygen/framing.0-10/Session.rb @@ -34,6 +34,7 @@ class CppGen # Generates a doxygen comment for AmqpMethod m. def doxygen(m) + return unless m.doc doxygen_comment { genl m.doc genl @@ -143,7 +144,8 @@ class SessionNoKeywordGen < CppGen namespace(@namespace) { doxygen_comment { genl "AMQP #{@amqp.version} #{sync_adjective} session API." - genl @amqp.class_("session").doc + d = @amqp.class_("session").doc + genl d if d # FIXME aconway 2008-05-23: additional doc on sync/async use. } cpp_class(@classname, "public #{@version_base}") { diff --git a/cpp/rubygen/framing.0-10/constants.rb b/cpp/rubygen/framing.0-10/constants.rb index 85bfb96ac0..589d94e23d 100755 --- a/cpp/rubygen/framing.0-10/constants.rb +++ b/cpp/rubygen/framing.0-10/constants.rb @@ -135,7 +135,7 @@ EOS name=c.name.caps+"Exception" value="#{package}::#{enum.parent.name.shout}_#{c.name.shout}" genl - doxygen_comment { genl c.doc } + doxygen_comment { genl c.doc } if c.doc struct(c.name.caps+"Exception", base) { genl "std::string getPrefix() const { return \"#{c.name}\"; }" genl "#{c.name.caps}Exception(const std::string& msg=std::string()) : #{base}(#{value}, \"\"+msg) {}" -- cgit v1.2.1