@@ -157,13 +157,15 @@ sc_object::dump(::std::ostream& os) const
157157// | nm = leaf name for the object.
158158// +----------------------------------------------------------------------------
159159void
160- sc_object::sc_object_init (const char * nm)
160+ sc_object::sc_object_init (const char * nm, sc_simcontext *simc )
161161{
162162 // SET UP POINTERS TO OBJECT MANAGER, PARENT, AND SIMULATION CONTEXT:
163163 //
164164 // Make the current simcontext the simcontext for this object
165165
166- m_simc = sc_get_curr_simcontext ();
166+ if (!simc) m_simc = sc_get_curr_simcontext ();
167+ else m_simc=simc;
168+
167169 m_attr_cltn_p = 0 ;
168170 sc_object_manager* object_manager = m_simc->get_object_manager ();
169171 m_parent = m_simc->active_object ();
@@ -183,18 +185,18 @@ sc_object::sc_object_init(const char* nm)
183185 m_simc->add_child_object ( this );
184186}
185187
186- sc_object::sc_object ()
188+ sc_object::sc_object (sc_simcontext *simc )
187189 : m_attr_cltn_p(0 ), m_name()
188190 , m_parent(0 ), m_simc(0 )
189191{
190- sc_object_init ( sc_gen_unique_name (" object" ) );
192+ sc_object_init ( sc_gen_unique_name (" object" ), simc );
191193}
192194
193195sc_object::sc_object ( const sc_object& that )
194196 : m_attr_cltn_p(0 ), m_name()
195197 , m_parent(0 ), m_simc(0 )
196198{
197- sc_object_init ( sc_gen_unique_name ( that.basename () ) );
199+ sc_object_init ( sc_gen_unique_name ( that.basename () ), that. m_simc );
198200}
199201
200202
@@ -204,7 +206,7 @@ object_name_illegal_char(char ch)
204206 return (ch == SC_HIERARCHY_CHAR) || std::isspace (ch);
205207}
206208
207- sc_object::sc_object (const char * nm)
209+ sc_object::sc_object (const char * nm, sc_simcontext *simc )
208210 : m_attr_cltn_p(0 ), m_name()
209211 , m_parent(0 ), m_simc(0 )
210212{
@@ -244,7 +246,7 @@ sc_object::sc_object(const char* nm)
244246 SC_REPORT_WARNING ( SC_ID_ILLEGAL_CHARACTERS_, message.c_str ());
245247 }
246248 }
247- sc_object_init (p);
249+ sc_object_init (p, simc );
248250 sc_mempool::release ( namebuf, namebuf_alloc );
249251}
250252
0 commit comments