summaryrefslogtreecommitdiff
path: root/qpid/cpp/rubygen
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-05-02 21:47:13 +0000
committerAlan Conway <aconway@apache.org>2013-05-02 21:47:13 +0000
commitba9f80714ae4870c01b450b4f89cfa87d51a6827 (patch)
treef66a443236e4a7886f7e8ca2e449d52c7d1766ec /qpid/cpp/rubygen
parent276e15f7b9baa99372f290f52f40bda2b9c5e5b7 (diff)
downloadqpid-python-ba9f80714ae4870c01b450b4f89cfa87d51a6827.tar.gz
QPID-4798: Fix up c++ code generation to use stripped spec files.
The stripped specs have no <doc> elements, this was tripping up the code generator. Fixed the generator to process <doc> 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@1478582 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/rubygen')
-rwxr-xr-xqpid/cpp/rubygen/0-10/exceptions.rb2
-rwxr-xr-xqpid/cpp/rubygen/framing.0-10/Session.rb4
-rwxr-xr-xqpid/cpp/rubygen/framing.0-10/constants.rb2
3 files changed, 5 insertions, 3 deletions
diff --git a/qpid/cpp/rubygen/0-10/exceptions.rb b/qpid/cpp/rubygen/0-10/exceptions.rb
index 02e3a5d547..fed8fdac5b 100755
--- a/qpid/cpp/rubygen/0-10/exceptions.rb
+++ b/qpid/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/qpid/cpp/rubygen/framing.0-10/Session.rb b/qpid/cpp/rubygen/framing.0-10/Session.rb
index e800df9b2e..28165448ed 100755
--- a/qpid/cpp/rubygen/framing.0-10/Session.rb
+++ b/qpid/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/qpid/cpp/rubygen/framing.0-10/constants.rb b/qpid/cpp/rubygen/framing.0-10/constants.rb
index 85bfb96ac0..589d94e23d 100755
--- a/qpid/cpp/rubygen/framing.0-10/constants.rb
+++ b/qpid/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) {}"