class ValueExtractor(stdapi.Visitor):
def visit_literal(self, literal, lvalue, rvalue):
- #if literal.format in ('Bool', 'UInt'):
- print ' %s = (%s).to%s();' % (lvalue, rvalue, literal.format)
+ print ' %s = (%s).to%s();' % (lvalue, rvalue, literal.kind)
def visit_const(self, const, lvalue, rvalue):
self.visit(const.type, lvalue, rvalue)
self.visit(bitmask.type, lvalue, rvalue)
def visit_array(self, array, lvalue, rvalue):
- print ' const Trace::Array *__a%s = dynamic_cast<const Trace::Array *>(&%s);' % (array.tag, rvalue)
+ print ' const trace::Array *__a%s = dynamic_cast<const trace::Array *>(&%s);' % (array.tag, rvalue)
print ' if (__a%s) {' % (array.tag)
length = '__a%s->values.size()' % array.tag
print ' %s = new %s[%s];' % (lvalue, array.type, length)
print ' }'
def visit_pointer(self, pointer, lvalue, rvalue):
- print ' const Trace::Array *__a%s = dynamic_cast<const Trace::Array *>(&%s);' % (pointer.tag, rvalue)
+ print ' const trace::Array *__a%s = dynamic_cast<const trace::Array *>(&%s);' % (pointer.tag, rvalue)
print ' if (__a%s) {' % (pointer.tag)
print ' %s = new %s;' % (lvalue, pointer.type)
try:
pass
def visit_array(self, array, lvalue, rvalue):
- print ' const Trace::Array *__a%s = dynamic_cast<const Trace::Array *>(&%s);' % (array.tag, rvalue)
+ print ' const trace::Array *__a%s = dynamic_cast<const trace::Array *>(&%s);' % (array.tag, rvalue)
print ' if (__a%s) {' % (array.tag)
length = '__a%s->values.size()' % array.tag
index = '__j' + array.tag
print ' }'
def visit_pointer(self, pointer, lvalue, rvalue):
- print ' const Trace::Array *__a%s = dynamic_cast<const Trace::Array *>(&%s);' % (pointer.tag, rvalue)
+ print ' const trace::Array *__a%s = dynamic_cast<const trace::Array *>(&%s);' % (pointer.tag, rvalue)
print ' if (__a%s) {' % (pointer.tag)
try:
self.visit(pointer.type, '%s[0]' % (lvalue,), '*__a%s->values[0]' % (pointer.tag,))
class Retracer:
def retrace_function(self, function):
- print 'static void retrace_%s(Trace::Call &call) {' % function.name
+ print 'static void retrace_%s(trace::Call &call) {' % function.name
self.retrace_function_body(function)
print '}'
print