Files
FlaxEngine/Source/Engine/Scripting/Runtime/None.cpp

577 lines
9.5 KiB
C++

// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
#include "Engine/Scripting/Types.h"
#if !USE_CSHARP
#include "Engine/Core/Types/Span.h"
#include "Engine/Scripting/ManagedCLR/MCore.h"
#include "Engine/Scripting/ManagedCLR/MDomain.h"
#include "Engine/Scripting/ManagedCLR/MAssembly.h"
#include "Engine/Scripting/ManagedCLR/MClass.h"
#include "Engine/Scripting/ManagedCLR/MDomain.h"
#include "Engine/Scripting/ManagedCLR/MEvent.h"
#include "Engine/Scripting/ManagedCLR/MException.h"
#include "Engine/Scripting/ManagedCLR/MField.h"
#include "Engine/Scripting/ManagedCLR/MMethod.h"
#include "Engine/Scripting/ManagedCLR/MProperty.h"
extern MDomain* MRootDomain;
extern Array<MDomain*, FixedAllocation<4>> MDomains;
MDomain* MCore::CreateDomain(const StringAnsi& domainName)
{
for (int32 i = 0; i < MDomains.Count(); i++)
{
if (MDomains[i]->GetName() == domainName)
return MDomains[i];
}
auto domain = New<MDomain>(domainName);
MDomains.Add(domain);
return domain;
}
void MCore::UnloadDomain(const StringAnsi& domainName)
{
int32 i = 0;
for (; i < MDomains.Count(); i++)
{
if (MDomains[i]->GetName() == domainName)
break;
}
if (i == MDomains.Count())
return;
auto domain = MDomains[i];
Delete(domain);
MDomains.RemoveAtKeepOrder(i);
}
bool MCore::LoadEngine()
{
MRootDomain = New<MDomain>("Root");
MDomains.Add(MRootDomain);
return false;
}
void MCore::UnloadEngine()
{
MDomains.ClearDelete();
MRootDomain = nullptr;
}
#if USE_EDITOR
void MCore::LoadScriptingAssemblyLoadContext()
{
}
#endif
MObject* MCore::Object::Box(void* value, const MClass* klass)
{
return nullptr;
}
void* MCore::Object::Unbox(MObject* obj)
{
return nullptr;
}
MObject* MCore::Object::New(const MClass* klass)
{
return nullptr;
}
void MCore::Object::Init(MObject* obj)
{
}
MClass* MCore::Object::GetClass(MObject* obj)
{
return nullptr;
}
MString* MCore::Object::ToString(MObject* obj)
{
return nullptr;
}
int32 MCore::Object::GetHashCode(MObject* obj)
{
return 0;
}
MString* MCore::String::GetEmpty(MDomain* domain)
{
return nullptr;
}
MString* MCore::String::New(const char* str, int32 length, MDomain* domain)
{
return nullptr;
}
MString* MCore::String::New(const Char* str, int32 length, MDomain* domain)
{
return nullptr;
}
StringView MCore::String::GetChars(MString* obj)
{
return StringView::Empty;
}
MArray* MCore::Array::New(const MClass* elementKlass, int32 length)
{
return nullptr;
}
MClass* MCore::Array::GetClass(MClass* elementKlass)
{
return nullptr;
}
int32 MCore::Array::GetLength(const MArray* obj)
{
return 0;
}
void* MCore::Array::GetAddress(const MArray* obj)
{
return nullptr;
}
MArray* MCore::Array::Unbox(MObject* obj)
{
return nullptr;
}
MGCHandle MCore::GCHandle::New(MObject* obj, bool pinned)
{
return (MGCHandle)(uintptr)obj;
}
MGCHandle MCore::GCHandle::NewWeak(MObject* obj, bool trackResurrection)
{
return (MGCHandle)(uintptr)obj;
}
MObject* MCore::GCHandle::GetTarget(const MGCHandle& handle)
{
return (MObject*)(uintptr)handle;
}
void MCore::GCHandle::Free(const MGCHandle& handle)
{
}
void MCore::GC::Collect()
{
}
void MCore::GC::Collect(int32 generation)
{
}
void MCore::GC::Collect(int32 generation, MGCCollectionMode collectionMode, bool blocking, bool compacting)
{
}
int32 MCore::GC::MaxGeneration()
{
return 0;
}
void MCore::GC::WaitForPendingFinalizers()
{
}
void MCore::GC::WriteRef(void* ptr, MObject* ref)
{
}
void MCore::GC::WriteValue(void* dst, void* src, int32 count, const MClass* klass)
{
}
void MCore::GC::WriteArrayRef(MArray* dst, MObject* ref, int32 index)
{
}
void MCore::GC::WriteArrayRef(MArray* dst, Span<MObject*> refs)
{
}
void MCore::Thread::Attach()
{
}
void MCore::Thread::Exit()
{
}
bool MCore::Thread::IsAttached()
{
return true;
}
void MCore::Exception::Throw(MObject* exception)
{
}
MObject* MCore::Exception::GetNullReference()
{
return nullptr;
}
MObject* MCore::Exception::Get(const char* msg)
{
return nullptr;
}
MObject* MCore::Exception::GetArgument(const char* arg, const char* msg)
{
return nullptr;
}
MObject* MCore::Exception::GetArgumentNull(const char* arg)
{
return nullptr;
}
MObject* MCore::Exception::GetArgumentOutOfRange(const char* arg)
{
return nullptr;
}
MObject* MCore::Exception::GetNotSupported(const char* msg)
{
return nullptr;
}
const MAssembly::ClassesDictionary& MAssembly::GetClasses() const
{
_hasCachedClasses = true;
return _classes;
}
bool MAssembly::LoadCorlib()
{
return false;
}
bool MAssembly::LoadImage(const String& assemblyPath, const StringView& nativePath)
{
_hasCachedClasses = false;
_assemblyPath = assemblyPath;
return false;
}
bool MAssembly::UnloadImage(bool isReloading)
{
return false;
}
bool MAssembly::ResolveMissingFile(String& assemblyPath) const
{
return true;
}
MClass::~MClass()
{
_fields.ClearDelete();
_properties.ClearDelete();
_methods.ClearDelete();
_events.ClearDelete();
}
MClass* MClass::GetBaseClass() const
{
return nullptr;
}
bool MClass::IsSubClassOf(const MClass* klass, bool checkInterfaces) const
{
return false;
}
bool MClass::HasInterface(const MClass* klass) const
{
return false;
}
bool MClass::IsInstanceOfType(MObject* object) const
{
return false;
}
uint32 MClass::GetInstanceSize() const
{
return 0;
}
MMethod* MClass::GetMethod(const char* name, int32 numParams) const
{
return nullptr;
}
const Array<MMethod*>& MClass::GetMethods() const
{
_hasCachedMethods = true;
return _methods;
}
MField* MClass::GetField(const char* name) const
{
return nullptr;
}
const Array<MField*>& MClass::GetFields() const
{
_hasCachedFields = true;
return _fields;
}
const Array<MEvent*>& MClass::GetEvents() const
{
_hasCachedEvents = true;
return _events;
}
MProperty* MClass::GetProperty(const char* name) const
{
return nullptr;
}
const Array<MProperty*>& MClass::GetProperties() const
{
_hasCachedProperties = true;
return _properties;
}
bool MClass::HasAttribute(const MClass* monoClass) const
{
return false;
}
bool MClass::HasAttribute() const
{
return false;
}
MObject* MClass::GetAttribute(const MClass* monoClass) const
{
return nullptr;
}
const Array<MObject*>& MClass::GetAttributes() const
{
_hasCachedAttributes = true;
return _attributes;
}
bool MDomain::SetCurrentDomain(bool force)
{
extern MDomain* MActiveDomain;
MActiveDomain = this;
return true;
}
void MDomain::Dispatch() const
{
}
MMethod* MEvent::GetAddMethod() const
{
return _addMethod;
}
MMethod* MEvent::GetRemoveMethod() const
{
return _removeMethod;
}
bool MEvent::HasAttribute(MClass* monoClass) const
{
return false;
}
bool MEvent::HasAttribute() const
{
return false;
}
MObject* MEvent::GetAttribute(MClass* monoClass) const
{
return nullptr;
}
const Array<MObject*>& MEvent::GetAttributes() const
{
return _attributes;
}
MException::MException(MObject* exception)
: InnerException(nullptr)
{
}
MException::~MException()
{
}
MType* MField::GetType() const
{
return nullptr;
}
int32 MField::GetOffset() const
{
return 0;
}
void MField::GetValue(MObject* instance, void* result) const
{
}
MObject* MField::GetValueBoxed(MObject* instance) const
{
return nullptr;
}
void MField::SetValue(MObject* instance, void* value) const
{
}
bool MField::HasAttribute(MClass* monoClass) const
{
return false;
}
bool MField::HasAttribute() const
{
return false;
}
MObject* MField::GetAttribute(MClass* monoClass) const
{
return nullptr;
}
const Array<MObject*>& MField::GetAttributes() const
{
return _attributes;
}
MObject* MMethod::Invoke(void* instance, void** params, MObject** exception) const
{
return nullptr;
}
MObject* MMethod::InvokeVirtual(MObject* instance, void** params, MObject** exception) const
{
return nullptr;
}
MMethod* MMethod::InflateGeneric() const
{
return nullptr;
}
MType* MMethod::GetReturnType() const
{
return nullptr;
}
int32 MMethod::GetParametersCount() const
{
return 0;
}
MType* MMethod::GetParameterType(int32 paramIdx) const
{
return nullptr;
}
bool MMethod::GetParameterIsOut(int32 paramIdx) const
{
return false;
}
bool MMethod::HasAttribute(MClass* monoClass) const
{
return false;
}
bool MMethod::HasAttribute() const
{
return false;
}
MObject* MMethod::GetAttribute(MClass* monoClass) const
{
return nullptr;
}
const Array<MObject*>& MMethod::GetAttributes() const
{
return _attributes;
}
MProperty::~MProperty()
{
if (_getMethod)
Delete(_getMethod);
if (_setMethod)
Delete(_setMethod);
}
MMethod* MProperty::GetGetMethod() const
{
return _getMethod;
}
MMethod* MProperty::GetSetMethod() const
{
return _setMethod;
}
MObject* MProperty::GetValue(MObject* instance, MObject** exception) const
{
return nullptr;
}
void MProperty::SetValue(MObject* instance, void* value, MObject** exception) const
{
}
bool MProperty::HasAttribute(MClass* monoClass) const
{
return false;
}
bool MProperty::HasAttribute() const
{
return false;
}
MObject* MProperty::GetAttribute(MClass* monoClass) const
{
return nullptr;
}
const Array<MObject*>& MProperty::GetAttributes() const
{
return _attributes;
}
void MCore::ScriptingObject::SetInternalValues(MClass* klass, MObject* object, void* unmanagedPtr, const Guid* id)
{
}
MObject* MCore::ScriptingObject::CreateScriptingObject(MClass* klass, void* unmanagedPtr, const Guid* id)
{
return nullptr;
}
#endif