experimental/gc/gcobject.cpp
gcDisconnectObject::gcDisconnectObject(gcObject*const object){

    parent = object;

    // Continue at root scope at time of object destruction (come out from object scope)
    _gc_scope_info->current_scope_stack.push_back(_gc_scope_info->current_scope);
    _gc_scope_info->current_scope = _gc_scope_info->root_scope;
}
// [4]
// Called inside object's destructor
// Actually, only prevents that destructor were at correct context
[4]
Called inside object's destructor
Actually, only prevents that destructor were at correct context
[ 4 ] Called inside object ' s destructor Actually only prevents that destructor were at correct context
gcDisconnectObject::gcDisconnectObject(gcObject*const object){
    parent = object;
    _gc_scope_info->current_scope_stack.push_back(_gc_scope_info->current_scope);
    _gc_scope_info->current_scope = _gc_scope_info->root_scope;
}
gcDisconnectObject :: gcDisconnectObject ( gcObject * const object ) { parent = object ; _gc_scope_info -> current_scope_stack . push_back ( _gc_scope_info -> current_scope ) ; _gc_scope_info -> current_scope = _gc_scope_info -> root_scope ; }
[4]
Called inside object's destructor
Actually, only prevents that destructor were at correct context
[ 4 ] Called inside object ' s destructor Actually only prevents that destructor were at correct context
// Continue at root scope at time of object destruction (come out from object scope)