summaryrefslogtreecommitdiffstats
path: root/tools/phosphor-logging
diff options
context:
space:
mode:
authorDeepak Kodihalli <dkodihal@in.ibm.com>2017-01-19 03:40:12 -0600
committerDeepak Kodihalli <dkodihal@in.ibm.com>2017-01-27 10:43:25 -0600
commitf2462f0f7404400b888f47ea21c16a67dd429eb8 (patch)
treece57fc23215e4e3fe0837597b00a2804dddda850 /tools/phosphor-logging
parent5d1aace69bea0c76229335dcdc09ec63eda63931 (diff)
downloadphosphor-logging-f2462f0f7404400b888f47ea21c16a67dd429eb8.tar.gz
phosphor-logging-f2462f0f7404400b888f47ea21c16a67dd429eb8.zip
elog-gen.py : implement error inheritance
If an error inherits another error (via the error YAML interface), have the child error inherit parent's metadata. Only single inheritance is supported as of now. Change-Id: I9ff295f4db04a9c5389f66e04f5d28287f9628a9 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Diffstat (limited to 'tools/phosphor-logging')
-rw-r--r--tools/phosphor-logging/templates/elog-gen-template.mako.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/phosphor-logging/templates/elog-gen-template.mako.hpp b/tools/phosphor-logging/templates/elog-gen-template.mako.hpp
index 4222f08..e39deea 100644
--- a/tools/phosphor-logging/templates/elog-gen-template.mako.hpp
+++ b/tools/phosphor-logging/templates/elog-gen-template.mako.hpp
@@ -42,7 +42,16 @@ struct ${b}
% endfor
} // namespace _${classname}
-<% meta_string = ', '.join(meta[name]) %>
+<%
+ meta_string = ', '.join(meta[name])
+
+ parent = parents[name]
+ while parent:
+ parent_meta = [parent + "::" + p for p in meta[parent]]
+ parent_meta = ', '.join(parent_meta)
+ meta_string = meta_string + ", " + parent_meta
+ parent = parents[parent]
+%>
struct ${classname}
{
static constexpr auto err_code = "${name}";
OpenPOWER on IntegriCloud