Skip to content

Commit f401aaa

Browse files
module debug get_instance
1 parent 2f4db59 commit f401aaa

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

inst/include/Rcpp/module/class.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,17 @@
6868
private:
6969

7070
self* get_instance() {
71+
7172
// check if we already have it
72-
if( class_pointer ) return class_pointer ;
73+
if( class_pointer ) {
74+
RCPP_DEBUG_MODULE_2( "class_<%s>::get_instance(). [cached] class_pointer = <%p>\n", DEMANGLE(Class), class_pointer ) ;
75+
return class_pointer ;
76+
}
7377

7478
// check if it exists in the module
7579
Module* module = getCurrentScope() ;
7680
if( module->has_class(name) ){
81+
RCPP_DEBUG_MODULE_2( "class_<%s>::get_instance(). [from module] class_pointer = class_pointer\n", DEMANGLE(Class), class_pointer ) ;
7782
class_pointer = dynamic_cast<self*>( module->get_class_pointer(name) ) ;
7883
} else {
7984
class_pointer = new self ;
@@ -82,6 +87,8 @@
8287
class_pointer->finalizer_pointer = new finalizer_class ;
8388
class_pointer->typeinfo_name = typeid(Class).name() ;
8489
module->AddClass( name.c_str(), class_pointer ) ;
90+
RCPP_DEBUG_MODULE_2( "class_<%s>::get_instance(). [freshly created] class_pointer = class_pointer\n", DEMANGLE(Class), class_pointer ) ;
91+
8592
}
8693
return class_pointer ;
8794
}

0 commit comments

Comments
 (0)