- print 'static bool retrace_call(Trace::Call &call) {'
- print ' const char *name = call.name().c_str();'
- print
- print ' if (verbosity >=1 ) {'
- print ' std::cout << call;'
- print ' std::cout.flush();'
- print ' };'
- print
-
- func_dict = dict([(function.name, function) for function in functions])
-
- def handle_case(function_name):
- function = func_dict[function_name]
- if function.sideeffects:
- print ' retrace_%s(call);' % function.name
- print ' return true;'
-
- string_switch('name', func_dict.keys(), handle_case)
-
- print ' std::cerr << "warning: unknown call " << call.name() << "\\n";'
- print ' return false;'
- print '}'
+ print 'const retrace::Entry %s[] = {' % self.table_name
+ for function in functions:
+ print ' {"%s", &retrace_%s},' % (function.name, function.name)
+ print ' {NULL, NULL}'
+ print '};'