sc_module.cc revision 12837
12SN/A/* 21762SN/A * Copyright 2018 Google, Inc. 35502Snate@binkert.org * 42SN/A * Redistribution and use in source and binary forms, with or without 52SN/A * modification, are permitted provided that the following conditions are 62SN/A * met: redistributions of source code must retain the above copyright 72SN/A * notice, this list of conditions and the following disclaimer; 82SN/A * redistributions in binary form must reproduce the above copyright 92SN/A * notice, this list of conditions and the following disclaimer in the 102SN/A * documentation and/or other materials provided with the distribution; 112SN/A * neither the name of the copyright holders nor the names of its 122SN/A * contributors may be used to endorse or promote products derived from 132SN/A * this software without specific prior written permission. 142SN/A * 152SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 162SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 172SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 182SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 192SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 202SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 212SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 222SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 232SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 242SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 252SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 262SN/A * 272SN/A * Authors: Gabe Black 282665Ssaidi@eecs.umich.edu */ 292665Ssaidi@eecs.umich.edu 302665Ssaidi@eecs.umich.edu#include "base/logging.hh" 312665Ssaidi@eecs.umich.edu#include "systemc/ext/core/sc_module.hh" 322SN/A 332SN/Anamespace sc_core 345501Snate@binkert.org{ 352SN/A 362SN/Asc_bind_proxy::sc_bind_proxy(const sc_interface &interface) 372SN/A{ 382SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 395502Snate@binkert.org} 405501Snate@binkert.org 415501Snate@binkert.orgsc_bind_proxy::sc_bind_proxy(const sc_port_base &port) 421717SN/A{ 435501Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 4456SN/A} 452SN/A 462SN/Aconst sc_bind_proxy SC_BIND_PROXY_NUL(*(const sc_port_base *)nullptr); 472SN/A 482SN/Asc_module::~sc_module() 492SN/A{ 502SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 512SN/A} 522SN/A 532SN/Aconst char * 545605Snate@binkert.orgsc_module::kind() const 552SN/A{ 564017Sstever@eecs.umich.edu warn("%s not implemented.\n", __PRETTY_FUNCTION__); 574016Sstever@eecs.umich.edu return ""; 584017Sstever@eecs.umich.edu} 594016Sstever@eecs.umich.edu 605768Snate@binkert.orgconst sc_bind_proxy SC_BIND_PROXY_NIL(*(const sc_port_base *)nullptr); 615768Snate@binkert.org 625774Snate@binkert.orgvoid 635768Snate@binkert.orgsc_module::operator () (const sc_bind_proxy &p001, 645768Snate@binkert.org const sc_bind_proxy &p002, 655768Snate@binkert.org const sc_bind_proxy &p003, 665768Snate@binkert.org const sc_bind_proxy &p004, 675768Snate@binkert.org const sc_bind_proxy &p005, 685768Snate@binkert.org const sc_bind_proxy &p006, 695768Snate@binkert.org const sc_bind_proxy &p007, 705768Snate@binkert.org const sc_bind_proxy &p008, 715768Snate@binkert.org const sc_bind_proxy &p009, 725768Snate@binkert.org const sc_bind_proxy &p010, 735768Snate@binkert.org const sc_bind_proxy &p011, 745768Snate@binkert.org const sc_bind_proxy &p012, 755768Snate@binkert.org const sc_bind_proxy &p013, 765602Snate@binkert.org const sc_bind_proxy &p014, 775602Snate@binkert.org const sc_bind_proxy &p015, 785502Snate@binkert.org const sc_bind_proxy &p016, 795503Snate@binkert.org const sc_bind_proxy &p017, 805502Snate@binkert.org const sc_bind_proxy &p018, 815502Snate@binkert.org const sc_bind_proxy &p019, 825502Snate@binkert.org const sc_bind_proxy &p020, 835502Snate@binkert.org const sc_bind_proxy &p021, 845502Snate@binkert.org const sc_bind_proxy &p022, 855503Snate@binkert.org const sc_bind_proxy &p023, 865502Snate@binkert.org const sc_bind_proxy &p024, 875502Snate@binkert.org const sc_bind_proxy &p025, 885502Snate@binkert.org const sc_bind_proxy &p026, 895502Snate@binkert.org const sc_bind_proxy &p027, 905503Snate@binkert.org const sc_bind_proxy &p028, 915503Snate@binkert.org const sc_bind_proxy &p029, 925503Snate@binkert.org const sc_bind_proxy &p030, 935502Snate@binkert.org const sc_bind_proxy &p031, 945503Snate@binkert.org const sc_bind_proxy &p032, 955502Snate@binkert.org const sc_bind_proxy &p033, 965502Snate@binkert.org const sc_bind_proxy &p034, 972SN/A const sc_bind_proxy &p035, 982SN/A const sc_bind_proxy &p036, 992SN/A const sc_bind_proxy &p037, 1005502Snate@binkert.org const sc_bind_proxy &p038, 1015502Snate@binkert.org const sc_bind_proxy &p039, 1025602Snate@binkert.org const sc_bind_proxy &p040, 1035502Snate@binkert.org const sc_bind_proxy &p041, 1045502Snate@binkert.org const sc_bind_proxy &p042, 1052SN/A const sc_bind_proxy &p043, 1065502Snate@binkert.org const sc_bind_proxy &p044, 1075502Snate@binkert.org const sc_bind_proxy &p045, 1085503Snate@binkert.org const sc_bind_proxy &p046, 1095503Snate@binkert.org const sc_bind_proxy &p047, 1105503Snate@binkert.org const sc_bind_proxy &p048, 1115503Snate@binkert.org const sc_bind_proxy &p049, 1125503Snate@binkert.org const sc_bind_proxy &p050, 1135502Snate@binkert.org const sc_bind_proxy &p051, 1142SN/A const sc_bind_proxy &p052, 1155503Snate@binkert.org const sc_bind_proxy &p053, 1165503Snate@binkert.org const sc_bind_proxy &p054, 1175602Snate@binkert.org const sc_bind_proxy &p055, 1185502Snate@binkert.org const sc_bind_proxy &p056, 1192SN/A const sc_bind_proxy &p057, 1205602Snate@binkert.org const sc_bind_proxy &p058, 1215602Snate@binkert.org const sc_bind_proxy &p059, 1225502Snate@binkert.org const sc_bind_proxy &p060, 1235503Snate@binkert.org const sc_bind_proxy &p061, 1245503Snate@binkert.org const sc_bind_proxy &p062, 1255502Snate@binkert.org const sc_bind_proxy &p063, 1265503Snate@binkert.org const sc_bind_proxy &p064) 1275503Snate@binkert.org{ 1285503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1295503Snate@binkert.org} 1305503Snate@binkert.org 1315503Snate@binkert.orgconst std::vector<sc_object *> & 1325503Snate@binkert.orgsc_module::get_child_objects() const 1335503Snate@binkert.org{ 1345503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1355503Snate@binkert.org return *(const std::vector<sc_object *> *)nullptr; 1365503Snate@binkert.org} 1375503Snate@binkert.org 1385503Snate@binkert.orgconst std::vector<sc_event *> & 1395503Snate@binkert.orgsc_module::get_child_events() const 1405502Snate@binkert.org{ 1415502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1425503Snate@binkert.org return *(const std::vector<sc_event *> *)nullptr; 1435503Snate@binkert.org} 1442SN/A 1455502Snate@binkert.orgsc_module::sc_module(const sc_module_name &) 1465503Snate@binkert.org{ 1475503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1485503Snate@binkert.org} 1492SN/A 1502SN/Asc_module::sc_module() 1512SN/A{ 1522SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1532SN/A} 1542SN/A 1555502Snate@binkert.orgvoid 1562SN/Asc_module::reset_signal_is(const sc_in<bool> &, bool) 1575502Snate@binkert.org{ 1585502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1595502Snate@binkert.org} 1605602Snate@binkert.org 1612SN/Avoid 1622SN/Asc_module::reset_signal_is(const sc_inout<bool> &, bool) 1632SN/A{ 1645502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1652SN/A} 1665502Snate@binkert.org 1675502Snate@binkert.orgvoid 1682SN/Asc_module::reset_signal_is(const sc_out<bool> &, bool) 1695502Snate@binkert.org{ 1702SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1712SN/A} 1725502Snate@binkert.org 1735502Snate@binkert.orgvoid 1745502Snate@binkert.orgsc_module::reset_signal_is(const sc_signal_in_if<bool> &, bool) 1755503Snate@binkert.org{ 1765503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1775502Snate@binkert.org} 1785602Snate@binkert.org 1792SN/A 1802SN/Avoid 1812667Sstever@eecs.umich.edusc_module::async_reset_signal_is(const sc_in<bool> &, bool) 1822SN/A{ 1832SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1845503Snate@binkert.org} 1855503Snate@binkert.org 1865769Snate@binkert.orgvoid 1875502Snate@binkert.orgsc_module::async_reset_signal_is(const sc_inout<bool> &, bool) 1885503Snate@binkert.org{ 1895503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1905503Snate@binkert.org} 1915503Snate@binkert.org 1925503Snate@binkert.orgvoid 1935503Snate@binkert.orgsc_module::async_reset_signal_is(const sc_out<bool> &, bool) 1945503Snate@binkert.org{ 1955502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 1965502Snate@binkert.org} 1975503Snate@binkert.org 1985502Snate@binkert.orgvoid 1992SN/Asc_module::async_reset_signal_is(const sc_signal_in_if<bool> &, bool) 2002SN/A{ 2012667Sstever@eecs.umich.edu warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2022SN/A} 2032667Sstever@eecs.umich.edu 2045769Snate@binkert.org 2052667Sstever@eecs.umich.eduvoid 2062667Sstever@eecs.umich.edusc_module::dont_initialize() 2072667Sstever@eecs.umich.edu{ 2085769Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2092667Sstever@eecs.umich.edu} 2102SN/A 2115769Snate@binkert.orgvoid 2122SN/Asc_module::set_stack_size(size_t) 2132667Sstever@eecs.umich.edu{ 2142667Sstever@eecs.umich.edu warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2152SN/A} 2162SN/A 217224SN/A 218224SN/Avoid 219224SN/Asc_module::next_trigger() 220224SN/A{ 221224SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2225769Snate@binkert.org} 2235769Snate@binkert.org 224224SN/Avoid 225224SN/Asc_module::next_trigger(const sc_event &) 226224SN/A{ 227237SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 228224SN/A} 2295695Snate@binkert.org 2305695Snate@binkert.orgvoid 231224SN/Asc_module::next_trigger(const sc_event_or_list &) 232224SN/A{ 233224SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 234224SN/A} 235224SN/A 236224SN/Avoid 237224SN/Asc_module::next_trigger(const sc_event_and_list &) 2385769Snate@binkert.org{ 2395769Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2405769Snate@binkert.org} 2415769Snate@binkert.org 2425769Snate@binkert.orgvoid 2435769Snate@binkert.orgsc_module::next_trigger(const sc_time &) 244224SN/A{ 245224SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 246224SN/A} 2475695Snate@binkert.org 248224SN/Avoid 249224SN/Asc_module::next_trigger(double, sc_time_unit) 250224SN/A{ 2512SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 252217SN/A} 2532SN/A 254265SN/Avoid 255237SN/Asc_module::next_trigger(const sc_time &, const sc_event &) 256237SN/A{ 2575502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2585502Snate@binkert.org} 2595503Snate@binkert.org 2605502Snate@binkert.orgvoid 2615503Snate@binkert.orgsc_module::next_trigger(double, sc_time_unit, const sc_event &) 2625769Snate@binkert.org{ 2635502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2645502Snate@binkert.org} 2655502Snate@binkert.org 2665502Snate@binkert.orgvoid 2675502Snate@binkert.orgsc_module::next_trigger(const sc_time &, const sc_event_or_list &) 2685503Snate@binkert.org{ 2695502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 2705502Snate@binkert.org} 2712SN/A 272237SN/Avoid 273265SN/Asc_module::next_trigger(double, sc_time_unit, const sc_event_or_list &) 274265SN/A{ 2755502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 276265SN/A} 277265SN/A 278265SN/Avoid 279265SN/Asc_module::next_trigger(const sc_time &, const sc_event_and_list &) 2802SN/A{ 2812SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 282237SN/A} 283237SN/A 284237SN/Avoid 285265SN/Asc_module::next_trigger(double, sc_time_unit, const sc_event_and_list &) 286265SN/A{ 287265SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 288270SN/A} 289265SN/A 290265SN/A 291270SN/Avoid 292265SN/Asc_module::wait() 293265SN/A{ 294395SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 295237SN/A} 296237SN/A 297237SN/Avoid 2982SN/Asc_module::wait(int) 2995501Snate@binkert.org{ 3002SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3012SN/A} 3022SN/A 3032SN/Avoid 3042SN/Asc_module::wait(const sc_event &) 3052SN/A{ 3062SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3072SN/A} 3085502Snate@binkert.org 3095502Snate@binkert.orgvoid 3105502Snate@binkert.orgsc_module::wait(const sc_event_or_list &) 3115503Snate@binkert.org{ 3125503Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3135502Snate@binkert.org} 3145503Snate@binkert.org 3155502Snate@binkert.orgvoid 3165502Snate@binkert.orgsc_module::wait(const sc_event_and_list &) 3172SN/A{ 3182SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3192SN/A} 3202SN/A 3212SN/Avoid 3222SN/Asc_module::wait(const sc_time &) 3235502Snate@binkert.org{ 3245502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3255502Snate@binkert.org} 3265502Snate@binkert.org 3275502Snate@binkert.orgvoid 3285502Snate@binkert.orgsc_module::wait(double, sc_time_unit) 3295502Snate@binkert.org{ 3305502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3315502Snate@binkert.org} 3325502Snate@binkert.org 3335503Snate@binkert.orgvoid 3345503Snate@binkert.orgsc_module::wait(const sc_time &, const sc_event &) 3355502Snate@binkert.org{ 3365502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3375502Snate@binkert.org} 3385502Snate@binkert.org 3395502Snate@binkert.orgvoid 3405502Snate@binkert.orgsc_module::wait(double, sc_time_unit, const sc_event &) 3415502Snate@binkert.org{ 3425502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3435502Snate@binkert.org} 3445502Snate@binkert.org 3455502Snate@binkert.orgvoid 3465502Snate@binkert.orgsc_module::wait(const sc_time &, const sc_event_or_list &) 3475502Snate@binkert.org{ 3485502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3495502Snate@binkert.org} 3505502Snate@binkert.org 3515502Snate@binkert.orgvoid 3525502Snate@binkert.orgsc_module::wait(double, sc_time_unit, const sc_event_or_list &) 3535502Snate@binkert.org{ 3545502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3555502Snate@binkert.org} 3565502Snate@binkert.org 3575503Snate@binkert.orgvoid 3585502Snate@binkert.orgsc_module::wait(const sc_time &, const sc_event_and_list &) 3595502Snate@binkert.org{ 3605502Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3615502Snate@binkert.org} 3625502Snate@binkert.org 3635502Snate@binkert.orgvoid 3645502Snate@binkert.orgsc_module::wait(double, sc_time_unit, const sc_event_and_list &) 3651019SN/A{ 3661019SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3671019SN/A} 3681019SN/A 3691019SN/A 3701019SN/Avoid 3712SN/Anext_trigger() 3722SN/A{ 3735336Shines@cs.fsu.edu warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3742SN/A} 3752SN/A 3762SN/Avoid 3772SN/Anext_trigger(const sc_event &) 3782SN/A{ 3792SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3802SN/A} 3812SN/A 3822SN/Avoid 3832SN/Anext_trigger(const sc_event_or_list &) 3842SN/A{ 3852SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3862SN/A} 3872SN/A 3882SN/Avoid 3892SN/Anext_trigger(const sc_event_and_list &) 3902SN/A{ 3912SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3922SN/A} 3932SN/A 3945501Snate@binkert.orgvoid 3952SN/Anext_trigger(const sc_time &) 3965501Snate@binkert.org{ 3975769Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 3985501Snate@binkert.org} 3995501Snate@binkert.org 4002SN/Avoid 4012SN/Anext_trigger(double, sc_time_unit) 4025501Snate@binkert.org{ 4035501Snate@binkert.org warn("%s not implemented.\n", __PRETTY_FUNCTION__); 4042SN/A} 4051019SN/A 4065501Snate@binkert.orgvoid 4071019SN/Anext_trigger(const sc_time &, const sc_event &) 4082SN/A{ 4092SN/A warn("%s not implemented.\n", __PRETTY_FUNCTION__); 410} 411 412void 413next_trigger(double, sc_time_unit, const sc_event &) 414{ 415 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 416} 417 418void 419next_trigger(const sc_time &, const sc_event_or_list &) 420{ 421 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 422} 423 424void 425next_trigger(double, sc_time_unit, const sc_event_or_list &) 426{ 427 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 428} 429 430void 431next_trigger(const sc_time &, const sc_event_and_list &) 432{ 433 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 434} 435 436void 437next_trigger(double, sc_time_unit, const sc_event_and_list &) 438{ 439 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 440} 441 442 443void 444wait() 445{ 446 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 447} 448 449void 450wait(int) 451{ 452 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 453} 454 455void 456wait(const sc_event &) 457{ 458 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 459} 460 461void 462wait(const sc_event_or_list &) 463{ 464 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 465} 466 467void 468wait(const sc_event_and_list &) 469{ 470 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 471} 472 473void 474wait(const sc_time &) 475{ 476 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 477} 478 479void 480wait(double, sc_time_unit) 481{ 482 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 483} 484 485void 486wait(const sc_time &, const sc_event &) 487{ 488 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 489} 490 491void 492wait(double, sc_time_unit, const sc_event &) 493{ 494 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 495} 496 497void 498wait(const sc_time &, const sc_event_or_list &) 499{ 500 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 501} 502 503void 504wait(double, sc_time_unit, const sc_event_or_list &) 505{ 506 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 507} 508 509void 510wait(const sc_time &, const sc_event_and_list &) 511{ 512 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 513} 514 515void 516wait(double, sc_time_unit, const sc_event_and_list &) 517{ 518 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 519} 520 521const char * 522sc_gen_unique_name(const char *) 523{ 524 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 525 return ""; 526} 527 528bool 529sc_start_of_simulation_invoked() 530{ 531 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 532 return false; 533} 534 535bool 536sc_end_of_simulation_invoked() 537{ 538 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 539 return false; 540} 541 542} // namespace sc_core 543