summaryrefslogtreecommitdiff
path: root/trace_model.cpp
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-11-29 20:34:32 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-11-29 20:34:32 +0000
commit19828970d2187334cae82f239f788b9f3a3912c6 (patch)
tree861bade51663dd6834e0bcdaf24db9753affc81d /trace_model.cpp
parent05e9c078a26a03ecb71d852d35589579189fae94 (diff)
Standardize on 4 spaces.
Diffstat (limited to 'trace_model.cpp')
-rw-r--r--trace_model.cpp348
1 files changed, 174 insertions, 174 deletions
diff --git a/trace_model.cpp b/trace_model.cpp
index d0bf31d5..2e20b243 100644
--- a/trace_model.cpp
+++ b/trace_model.cpp
@@ -46,186 +46,186 @@ void Blob::visit(Visitor &visitor) { visitor.visit(this); }
class Dumper : public Visitor
{
protected:
- std::ostream &os;
- Formatter::Formatter *formatter;
- Formatter::Attribute *normal;
- Formatter::Attribute *bold;
- Formatter::Attribute *italic;
- Formatter::Attribute *red;
- Formatter::Attribute *pointer;
- Formatter::Attribute *literal;
+ std::ostream &os;
+ Formatter::Formatter *formatter;
+ Formatter::Attribute *normal;
+ Formatter::Attribute *bold;
+ Formatter::Attribute *italic;
+ Formatter::Attribute *red;
+ Formatter::Attribute *pointer;
+ Formatter::Attribute *literal;
public:
- Dumper(std::ostream &_os) : os(_os) {
- formatter = Formatter::defaultFormatter();
- normal = formatter->normal();
- bold = formatter->bold();
- italic = formatter->italic();
- red = formatter->color(Formatter::RED);
- pointer = formatter->color(Formatter::GREEN);
- literal = formatter->color(Formatter::BLUE);
- }
-
- ~Dumper() {
- delete normal;
- delete bold;
- delete italic;
- delete red;
- delete pointer;
- delete literal;
- delete formatter;
- }
-
- void visit(Null *) {
- os << "NULL";
- }
-
- void visit(Bool *node) {
- os << literal << (node->value ? "true" : "false") << normal;
- }
-
- void visit(SInt *node) {
- os << literal << node->value << normal;
- }
-
- void visit(UInt *node) {
- os << literal << node->value << normal;
- }
-
- void visit(Float *node) {
- os << literal << node->value << normal;
- }
-
- void visit(String *node) {
- os << literal << '"' << node->value << '"' << normal;
- }
-
- void visit(Enum *node) {
- os << literal << node->name << normal;
- }
-
- void visit(Bitmask *bitmask) {
- unsigned long long value = bitmask->value;
- const Bitmask::Signature *sig = bitmask->sig;
- bool first = true;
- for (Bitmask::Signature::const_iterator it = sig->begin(); value != 0 && it != sig->end(); ++it) {
- assert(it->second);
- if ((value & it->second) == it->second) {
- if (!first) {
- os << " | ";
- }
- os << literal << it->first << normal;
- value &= ~it->second;
- first = false;
- }
- }
- if (value || first) {
- if (!first) {
- os << " | ";
- }
- os << literal << std::hex << value << std::dec << normal;
- }
- }
-
- void visit(Struct *s) {
- const char *sep = "";
- os << "{";
- for (unsigned i = 0; i < s->members.size(); ++i) {
- os << sep << italic << s->sig->member_names[i] << normal << " = ";
- _visit(s->members[i]);
- sep = ", ";
- }
- os << "}";
- }
-
- void visit(Array *array) {
- if (array->values.size() == 1) {
- os << "&";
- _visit(array->values[0]);
- }
- else {
- const char *sep = "";
- os << "{";
- for (std::vector<Value *>::iterator it = array->values.begin(); it != array->values.end(); ++it) {
- os << sep;
- _visit(*it);
+ Dumper(std::ostream &_os) : os(_os) {
+ formatter = Formatter::defaultFormatter();
+ normal = formatter->normal();
+ bold = formatter->bold();
+ italic = formatter->italic();
+ red = formatter->color(Formatter::RED);
+ pointer = formatter->color(Formatter::GREEN);
+ literal = formatter->color(Formatter::BLUE);
+ }
+
+ ~Dumper() {
+ delete normal;
+ delete bold;
+ delete italic;
+ delete red;
+ delete pointer;
+ delete literal;
+ delete formatter;
+ }
+
+ void visit(Null *) {
+ os << "NULL";
+ }
+
+ void visit(Bool *node) {
+ os << literal << (node->value ? "true" : "false") << normal;
+ }
+
+ void visit(SInt *node) {
+ os << literal << node->value << normal;
+ }
+
+ void visit(UInt *node) {
+ os << literal << node->value << normal;
+ }
+
+ void visit(Float *node) {
+ os << literal << node->value << normal;
+ }
+
+ void visit(String *node) {
+ os << literal << '"' << node->value << '"' << normal;
+ }
+
+ void visit(Enum *node) {
+ os << literal << node->name << normal;
+ }
+
+ void visit(Bitmask *bitmask) {
+ unsigned long long value = bitmask->value;
+ const Bitmask::Signature *sig = bitmask->sig;
+ bool first = true;
+ for (Bitmask::Signature::const_iterator it = sig->begin(); value != 0 && it != sig->end(); ++it) {
+ assert(it->second);
+ if ((value & it->second) == it->second) {
+ if (!first) {
+ os << " | ";
+ }
+ os << literal << it->first << normal;
+ value &= ~it->second;
+ first = false;
+ }
+ }
+ if (value || first) {
+ if (!first) {
+ os << " | ";
+ }
+ os << literal << std::hex << value << std::dec << normal;
+ }
+ }
+
+ void visit(Struct *s) {
+ const char *sep = "";
+ os << "{";
+ for (unsigned i = 0; i < s->members.size(); ++i) {
+ os << sep << italic << s->sig->member_names[i] << normal << " = ";
+ _visit(s->members[i]);
+ sep = ", ";
+ }
+ os << "}";
+ }
+
+ void visit(Array *array) {
+ if (array->values.size() == 1) {
+ os << "&";
+ _visit(array->values[0]);
+ }
+ else {
+ const char *sep = "";
+ os << "{";
+ for (std::vector<Value *>::iterator it = array->values.begin(); it != array->values.end(); ++it) {
+ os << sep;
+ _visit(*it);
+ sep = ", ";
+ }
+ os << "}";
+ }
+ }
+
+ void visit(Blob *blob) {
+ os << pointer << "blob(" << blob->size << ")" << normal;
+ }
+
+ void visit(Call *call) {
+ const char *sep = "";
+ os << bold << call->sig->name << normal << "(";
+ for (unsigned i = 0; i < call->args.size(); ++i) {
+ os << sep << italic << call->sig->arg_names[i] << normal << " = ";
+ _visit(call->args[i]);
sep = ", ";
- }
- os << "}";
- }
- }
-
- void visit(Blob *blob) {
- os << pointer << "blob(" << blob->size << ")" << normal;
- }
-
- void visit(Call *call) {
- const char *sep = "";
- os << bold << call->sig->name << normal << "(";
- for (unsigned i = 0; i < call->args.size(); ++i) {
- os << sep << italic << call->sig->arg_names[i] << normal << " = ";
- _visit(call->args[i]);
- sep = ", ";
- }
- os << ")";
- if (call->ret) {
- os << " = ";
- _visit(call->ret);
- }
- os << "\n";
- }
+ }
+ os << ")";
+ if (call->ret) {
+ os << " = ";
+ _visit(call->ret);
+ }
+ os << "\n";
+ }
};
std::ostream & operator <<(std::ostream &os, Value *value) {
- Dumper d(os);
- if (value) {
- value->visit(d);
- }
- return os;
+ Dumper d(os);
+ if (value) {
+ value->visit(d);
+ }
+ return os;
}
static inline const Value *unwrap(const Value *node) {
- const Enum *c = dynamic_cast<const Enum *>(node);
- if (c)
- return c->value;
- return node;
+ const Enum *c = dynamic_cast<const Enum *>(node);
+ if (c)
+ return c->value;
+ return node;
}
Value::operator bool(void) const {
- const Bool *b = dynamic_cast<const Bool *>(unwrap(this));
- if (b)
- return b->value;
- assert(0);
- return false;
+ const Bool *b = dynamic_cast<const Bool *>(unwrap(this));
+ if (b)
+ return b->value;
+ assert(0);
+ return false;
}
Value::operator signed long long(void) const {
- const SInt *sint = dynamic_cast<const SInt *>(unwrap(this));
- if (sint)
- return sint->value;
- const UInt *uint = dynamic_cast<const UInt *>(unwrap(this));
- if (uint)
- return uint->value;
- assert(0);
- return 0;
+ const SInt *sint = dynamic_cast<const SInt *>(unwrap(this));
+ if (sint)
+ return sint->value;
+ const UInt *uint = dynamic_cast<const UInt *>(unwrap(this));
+ if (uint)
+ return uint->value;
+ assert(0);
+ return 0;
}
Value::operator unsigned long long(void) const {
- const UInt *uint = dynamic_cast<const UInt *>(unwrap(this));
- if (uint)
- return uint->value;
- assert(0);
- return 0;
+ const UInt *uint = dynamic_cast<const UInt *>(unwrap(this));
+ if (uint)
+ return uint->value;
+ assert(0);
+ return 0;
}
Value::operator double(void) const {
- const Float *fl = dynamic_cast<const Float *>(unwrap(this));
- assert(fl);
- return fl->value;
+ const Float *fl = dynamic_cast<const Float *>(unwrap(this));
+ assert(fl);
+ return fl->value;
}
static Null null;
@@ -241,31 +241,31 @@ const Value & Value::operator[](size_t index) const {
}
void * Value::blob(void) const {
- const Blob *blob = dynamic_cast<const Blob *>(unwrap(this));
- if (blob)
- return blob->buf;
- const Null *null = dynamic_cast<const Null *>(unwrap(this));
- if (null)
- return NULL;
- assert(0);
- return NULL;
+ const Blob *blob = dynamic_cast<const Blob *>(unwrap(this));
+ if (blob)
+ return blob->buf;
+ const Null *null = dynamic_cast<const Null *>(unwrap(this));
+ if (null)
+ return NULL;
+ assert(0);
+ return NULL;
}
const char * Value::string(void) const {
- const String *string = dynamic_cast<const String *>(unwrap(this));
- if (string)
- return string->value.c_str();
- const Null *null = dynamic_cast<const Null *>(unwrap(this));
- if (null)
- return NULL;
- assert(0);
- return NULL;
+ const String *string = dynamic_cast<const String *>(unwrap(this));
+ if (string)
+ return string->value.c_str();
+ const Null *null = dynamic_cast<const Null *>(unwrap(this));
+ if (null)
+ return NULL;
+ assert(0);
+ return NULL;
}
std::ostream & operator <<(std::ostream &os, Call &call) {
- Dumper d(os);
- d.visit(&call);
- return os;
+ Dumper d(os);
+ d.visit(&call);
+ return os;
}