Lines Matching refs:code

11 # modified or unmodified, in source code or in binary form.
19 # met: redistributions of source code must retain the above copyright
106 # Generate the code needed as a prerequisite for declaring a C++
110 def cxx_predecls(cls, code):
114 def pybind_predecls(cls, code):
115 cls.cxx_predecls(code)
130 def cxx_ini_predecls(cls, code):
136 def cxx_ini_parse(cls, code, src, dest, ret):
137 code('// Unhandled param type: %s' % cls.__name__)
138 code('%s false;' % ret)
227 def cxx_predecls(self, code):
228 code('#include <cstddef>')
229 self.ptype.cxx_predecls(code)
231 def pybind_predecls(self, code):
232 self.ptype.pybind_predecls(code)
234 def cxx_decl(self, code):
235 code('${{self.ptype.cxx_type}} ${{self.name}};')
317 # strings that will allow indexing into the vector by the python code and
390 def cxx_predecls(self, code):
391 code('#include <vector>')
392 self.ptype.cxx_predecls(code)
394 def pybind_predecls(self, code):
395 code('#include <vector>')
396 self.ptype.pybind_predecls(code)
398 def cxx_decl(self, code):
399 code('std::vector< ${{self.ptype.cxx_type}} > ${{self.name}};')
445 def cxx_predecls(self, code):
446 code('#include <string>')
453 def cxx_ini_parse(self, code, src, dest, ret):
454 code('%s = %s;' % (dest, src))
455 code('%s true;' % ret)
554 def cxx_ini_predecls(cls, code):
556 # code('#include "base/str.hh"')
563 def cxx_ini_parse(self, code, src, dest, ret):
564 code('%s to_number(%s, %s);' % (ret, src, dest))
572 # want to do any processing on it... the rest of this code is
620 def cxx_predecls(cls, code):
622 code('#include "base/types.hh"')
656 def cxx_ini_predecls(cls, code):
658 # code('#include "base/str.hh"')
662 def cxx_ini_parse(cls, code, src, dest, ret):
663 code('uint64_t _temp;')
664 code('bool _ret = to_number(%s, _temp);' % src)
665 code('if (_ret)')
666 code(' %s = Cycles(_temp);' % dest)
667 code('%s _ret;' % ret)
691 def cxx_ini_predecls(cls, code):
692 code('#include <sstream>')
695 def cxx_ini_parse(self, code, src, dest, ret):
696 code('%s (std::istringstream(%s) >> %s).eof();' % (ret, src, dest))
836 def cxx_predecls(cls, code):
837 Addr.cxx_predecls(code)
838 code('#include "base/addr_range.hh"')
841 def pybind_predecls(cls, code):
842 Addr.pybind_predecls(code)
843 code('#include "base/addr_range.hh"')
846 def cxx_ini_predecls(cls, code):
847 code('#include <sstream>')
848 code('#include <vector>')
849 code('#include "base/types.hh"')
852 def cxx_ini_parse(cls, code, src, dest, ret):
853 code('bool _ret = true;')
854 code('uint64_t _start, _end, _intlvMatch = 0;')
855 code('std::vector<Addr> _masks;')
856 code('char _sep;')
857 code('std::istringstream _stream(${src});')
858 code('_stream >> _start;')
859 code('_stream.get(_sep);')
860 code('_ret = _sep == \':\';')
861 code('_stream >> _end;')
862 code('if (!_stream.fail() && !_stream.eof()) {')
863 code(' _stream.get(_sep);')
864 code(' _ret = ret && _sep == \':\';')
865 code(' _stream >> _intlvMatch;')
866 code(' while (!_stream.fail() && !_stream.eof()) {')
867 code(' _stream.get(_sep);')
868 code(' _ret = ret && _sep == \':\';')
869 code(' Addr mask;')
870 code(' _stream >> mask;')
871 code(' _masks.push_back(mask);')
872 code(' }')
873 code('}')
874 code('_ret = _ret && !_stream.fail() && _stream.eof();')
875 code('if (_ret)')
876 code(' ${dest} = AddrRange(_start, _end, _masks, _intlvMatch);')
877 code('${ret} _ret;')
926 def cxx_ini_predecls(cls, code):
928 # code('#include "base/str.hh"')
932 def cxx_ini_parse(cls, code, src, dest, ret):
933 code('%s to_bool(%s, %s);' % (ret, src, dest))
961 def cxx_predecls(cls, code):
962 code('#include "base/inet.hh"')
1002 def cxx_ini_parse(self, code, src, dest, ret):
1003 code('%s = Net::EthAddr(%s);' % (dest, src))
1004 code('%s true;' % ret)
1014 def cxx_predecls(cls, code):
1015 code('#include "base/inet.hh"')
1066 def cxx_predecls(cls, code):
1067 code('#include "base/inet.hh"')
1140 def cxx_predecls(cls, code):
1141 code('#include "base/inet.hh"')
1248 def cxx_predecls(cls, code):
1249 code('#include <time.h>')
1275 def cxx_ini_predecls(cls, code):
1276 code('#include <time.h>')
1279 def cxx_ini_parse(cls, code, src, dest, ret):
1280 code('char *_parse_ret = strptime((${src}).c_str(),')
1281 code(' "%a %b %d %H:%M:%S %Y", &(${dest}));')
1282 code('${ret} _parse_ret && *_parse_ret == \'\\0\';');
1338 def cxx_decl(cls, code):
1344 code('''\
1350 code('''\
1354 code('''\
1358 code.indent(1)
1359 code.indent(1)
1361 code('$val = ${{cls.map[val]}},')
1362 code('Num_$name = ${{len(cls.vals)}}')
1363 code.dedent(1)
1364 code('};')
1367 code('''\
1371 code('static const char *${name}Strings[Num_${name}];')
1373 code('extern const char *${name}Strings[Num_${name}];')
1376 code.dedent(1)
1377 code('};')
1379 code()
1380 code('#endif // $idem_macro')
1382 def cxx_def(cls, code):
1387 code('#include "enums/$file_name.hh"')
1389 code('const char *${wrapper_name}::${name}Strings'
1393 code('''\
1397 code('namespace Enums {')
1398 code.indent(1)
1399 code('const char *${name}Strings[Num_${name}] =')
1401 code('{')
1402 code.indent(1)
1404 code('"$val",')
1405 code.dedent(1)
1406 code('};')
1409 code.dedent(1)
1410 code('} // namespace $wrapper_name')
1413 def pybind_def(cls, code):
1418 code('''#include "pybind11/pybind11.h"
1432 code('py::enum_<${enum_name}>(m, "enum_${name}")')
1434 code('py::enum_<${wrapper_name}::${enum_name}>(m, "enum_${name}")')
1436 code.indent()
1437 code.indent()
1439 code('.value("${val}", ${wrapper_name}::${val})')
1440 code('.value("Num_${name}", ${wrapper_name}::Num_${enum_name})')
1441 code('.export_values()')
1442 code(';')
1443 code.dedent()
1445 code('}')
1446 code.dedent()
1447 code()
1448 code('static EmbeddedPyBind embed_enum("enum_${name}", module_init);')
1479 def cxx_predecls(cls, code):
1480 code('#include "enums/$0.hh"', cls.__name__)
1483 def cxx_ini_parse(cls, code, src, dest, ret):
1484 code('if (false) {')
1486 code('} else if (%s == "%s") {' % (src, elem_name))
1487 code.indent()
1489 code('%s = %s::%s;' % (dest, name if cls.is_class else 'Enums',
1491 code('%s true;' % ret)
1492 code.dedent()
1493 code('} else {')
1494 code(' %s false;' % ret)
1495 code('}')
1532 def cxx_predecls(cls, code):
1533 code('#include "base/types.hh"')
1543 def cxx_ini_predecls(cls, code):
1544 code('#include <sstream>')
1549 def cxx_ini_parse(self, code, src, dest, ret):
1550 code('${ret} to_number(${src}, ${dest});')
1741 def cxx_ini_predecls(cls, code):
1742 code('#include <sstream>')
1745 def cxx_ini_parse(self, code, src, dest, ret):
1746 code('%s (std::istringstream(%s) >> %s).eof();' % (ret, src, dest))
1779 def cxx_ini_predecls(cls, code):
1780 code('#include <sstream>')
1783 def cxx_ini_parse(self, code, src, dest, ret):
1784 code('%s (std::istringstream(%s) >> %s).eof();' % (ret, src, dest))
2111 def cxx_predecls(self, code):
2114 def pybind_predecls(self, code):
2115 cls.cxx_predecls(self, code)
2120 def cxx_decl(self, code):
2121 code('unsigned int port_${{self.name}}_connection_count;')