diff options
Diffstat (limited to 'CIAO/CIDLC/AttributeHeaderEmitters.cpp')
-rw-r--r-- | CIAO/CIDLC/AttributeHeaderEmitters.cpp | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/CIAO/CIDLC/AttributeHeaderEmitters.cpp b/CIAO/CIDLC/AttributeHeaderEmitters.cpp new file mode 100644 index 00000000000..a0629f60f8c --- /dev/null +++ b/CIAO/CIDLC/AttributeHeaderEmitters.cpp @@ -0,0 +1,174 @@ +// file : CIDLC/AttributeHeaderEmitters.cpp +// author : Jeff Parsons <j.parsons@vanderbilt.edu> +// cvs-id : $Id$ + +#include "AttributeHeaderEmitters.hpp" +#include "Literals.hpp" + +using namespace StringLiterals; + +WriteAttributeHeaderEmitter::WriteAttributeHeaderEmitter (Context& c) + : EmitterBase (c), + write_type_name_emitter_ (c), + type_name_emitter_ (c) +{ + write_belongs_.node_traverser (write_type_name_emitter_); + + edge_traverser (set_raises_); + set_raises_.node_traverser (type_name_emitter_); +} + +void +WriteAttributeHeaderEmitter::pre (SemanticGraph::ReadWriteAttribute&) +{ + os << "void" << endl; +} + +void +WriteAttributeHeaderEmitter::name (SemanticGraph::ReadWriteAttribute& a) +{ + os << a.name () << " (" << endl; + + Traversal::ReadWriteAttribute::belongs (a, write_belongs_); + + os << " " << a.name () << ")" << endl; +} + +void +WriteAttributeHeaderEmitter::get_raises (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +WriteAttributeHeaderEmitter::set_raises (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +WriteAttributeHeaderEmitter::post (SemanticGraph::ReadWriteAttribute&) +{ + os << ";" << endl; +} + +void +WriteAttributeHeaderEmitter::comma (SemanticGraph::ReadWriteAttribute&) +{ + os << "," << endl; +} + +// ============================================================ + +AttributeHeaderEmitter::AttributeHeaderEmitter (Context& c) + : EmitterBase (c), + read_type_name_emitter_ (c), + type_name_emitter_ (c) +{ + read_belongs_.node_traverser (read_type_name_emitter_); + + edge_traverser (get_raises_); + get_raises_.node_traverser (type_name_emitter_); +} + +// ReadWriteAttribute +// +void +AttributeHeaderEmitter::pre (SemanticGraph::ReadWriteAttribute& a) +{ + os << "virtual "; + + Traversal::ReadWriteAttribute::belongs (a, read_belongs_); + + os << endl; +} + +void +AttributeHeaderEmitter::name (SemanticGraph::ReadWriteAttribute& a) +{ + os << a.name () << " ()" << endl; +} + +void +AttributeHeaderEmitter::get_raises_none (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +AttributeHeaderEmitter::get_raises_pre (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +AttributeHeaderEmitter::get_raises_post (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +AttributeHeaderEmitter::set_raises (SemanticGraph::ReadWriteAttribute&) +{ +} + +void +AttributeHeaderEmitter::post (SemanticGraph::ReadWriteAttribute& a) +{ + os << ";" << endl; + + WriteAttributeHeaderEmitter write_attribute_emitter (ctx); + write_attribute_emitter.traverse (a); +} + +void +AttributeHeaderEmitter::comma (SemanticGraph::ReadWriteAttribute&) +{ + os << "," << endl; +} + +// ReadAttribute +// +void +AttributeHeaderEmitter::pre (SemanticGraph::ReadAttribute& a) +{ + os << "virtual "; + + Traversal::ReadAttribute::belongs (a, read_belongs_); + + os << endl; +} + +void +AttributeHeaderEmitter::name (SemanticGraph::ReadAttribute& a) +{ + os << a.name () << " ()" << endl; +} + +void +AttributeHeaderEmitter::get_raises_none (SemanticGraph::ReadAttribute&) +{ +} + +void +AttributeHeaderEmitter::get_raises_pre (SemanticGraph::ReadAttribute&) +{ +} + +void +AttributeHeaderEmitter::get_raises_post (SemanticGraph::ReadAttribute&) +{ +} + +void +AttributeHeaderEmitter::set_raises (SemanticGraph::ReadAttribute&) +{ +} + +void +AttributeHeaderEmitter::post (SemanticGraph::ReadAttribute&) +{ + os << ";" << endl; +} + +void +AttributeHeaderEmitter::comma (SemanticGraph::ReadAttribute&) +{ + os << "," << endl; +} + |