Func.py (8245:a9d06c894afe) | Func.py (8337:b9ba22cb23f2) |
---|---|
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 | 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 |
|
40 | 41 |
41 if machine is None: 42 self.c_ident = ident 43 elif "external" in self or "primitive" in self: 44 self.c_ident = ident | 42 if machine is None or "external" in self or "primitive" in self: 43 pass |
45 else: 46 self.machineStr = str(machine) | 44 else: 45 self.machineStr = str(machine) |
47 # Append with machine name 48 self.c_ident = "%s_%s" % (self.machineStr, ident) | |
49 self.isInternalMachineFunc = True 50 51 def __repr__(self): 52 return "" 53 54 @property 55 def prototype(self): 56 if "external" in self: --- 45 unchanged lines hidden (view full) --- 102 103 code(''' 104$return_type 105${klass}::${{self.c_ident}}($params) 106{ 107${{self.body}} 108} 109''') | 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''') |
110 code.write(path, "%s.cc" % self.c_ident) | 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" ] | 111 112__all__ = [ "Func" ] |