Fix bug with classes, use slim exclusively, add package private data and change rehaul cmake configs
This commit is contained in:
@@ -1,37 +1,25 @@
|
||||
#include "CrossLang.hpp"
|
||||
|
||||
namespace Tesses::CrossLang
|
||||
{
|
||||
SharedPtrTObject::SharedPtrTObject(std::shared_ptr<GC> gc, TObject o)
|
||||
{
|
||||
this->ls = new GCList(gc);
|
||||
this->ls->Add(o);
|
||||
this->o = o;
|
||||
}
|
||||
TObject& SharedPtrTObject::GetObject()
|
||||
{
|
||||
return this->o;
|
||||
}
|
||||
SharedPtrTObject::~SharedPtrTObject()
|
||||
{
|
||||
if(this->ls)
|
||||
namespace Tesses::CrossLang {
|
||||
SharedPtrTObject::SharedPtrTObject(std::shared_ptr<GC> gc, TObject o) {
|
||||
this->ls = new GCList(gc);
|
||||
this->ls->Add(o);
|
||||
this->o = o;
|
||||
}
|
||||
TObject &SharedPtrTObject::GetObject() { return this->o; }
|
||||
SharedPtrTObject::~SharedPtrTObject() {
|
||||
if (this->ls)
|
||||
delete this->ls;
|
||||
}
|
||||
std::shared_ptr<GC> SharedPtrTObject::GetGC()
|
||||
{
|
||||
return this->ls->GetGC();
|
||||
}
|
||||
MarkedTObject CreateMarkedTObject(std::shared_ptr<GC> gc, TObject o)
|
||||
{
|
||||
return std::make_shared<SharedPtrTObject>(gc,o);
|
||||
}
|
||||
|
||||
MarkedTObject CreateMarkedTObject(GCList* gc, TObject o)
|
||||
{
|
||||
return CreateMarkedTObject(gc->GetGC(),o);
|
||||
}
|
||||
MarkedTObject CreateMarkedTObject(GCList& gc, TObject o)
|
||||
{
|
||||
return CreateMarkedTObject(gc.GetGC(),o);
|
||||
}
|
||||
}
|
||||
}
|
||||
std::shared_ptr<GC> SharedPtrTObject::GetGC() { return this->ls->GetGC(); }
|
||||
MarkedTObject CreateMarkedTObject(std::shared_ptr<GC> gc, TObject o) {
|
||||
return std::make_shared<SharedPtrTObject>(gc, o);
|
||||
}
|
||||
|
||||
MarkedTObject CreateMarkedTObject(GCList *gc, TObject o) {
|
||||
return CreateMarkedTObject(gc->GetGC(), o);
|
||||
}
|
||||
MarkedTObject CreateMarkedTObject(GCList &gc, TObject o) {
|
||||
return CreateMarkedTObject(gc.GetGC(), o);
|
||||
}
|
||||
} // namespace Tesses::CrossLang
|
||||
Reference in New Issue
Block a user