1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 2# Copyright (c) 2009 The Hewlett-Packard Development Company 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 23 unchanged lines hidden (view full) --- 32 def __init__(self, table, ident, location, return_type, param_types, 33 param_strings, body, pairs, machine): 34 super(Func, self).__init__(table, ident, location, pairs) 35 self.return_type = return_type 36 self.param_types = param_types 37 self.param_strings = param_strings 38 self.body = body 39 self.isInternalMachineFunc = False |
40 self.c_ident = ident |
41 |
42 if machine is None or "external" in self or "primitive" in self: 43 pass |
44 else: 45 self.machineStr = str(machine) |
46 self.isInternalMachineFunc = True 47 48 def __repr__(self): 49 return "" 50 51 @property 52 def prototype(self): 53 if "external" in self: --- 45 unchanged lines hidden (view full) --- 99 100 code(''' 101$return_type 102${klass}::${{self.c_ident}}($params) 103{ 104${{self.body}} 105} 106''') |
107 if self.isInternalMachineFunc: 108 code.write(path, "%s_%s.cc" % (self.machineStr,self.c_ident)) 109 else: 110 code.write(path, "%s.cc" % self.c_ident) |
111 112__all__ = [ "Func" ] |