initial nativestring and nativearray marshalling
Some checks failed
Build Android / Game (Android, Release ARM64) (push) Has been cancelled
Build iOS / Game (iOS, Release ARM64) (push) Has been cancelled
Build Linux / Editor (Linux, Development x64) (push) Has been cancelled
Build Linux / Game (Linux, Release x64) (push) Has been cancelled
Build macOS / Editor (Mac, Development ARM64) (push) Has been cancelled
Build macOS / Game (Mac, Release ARM64) (push) Has been cancelled
Build Windows / Editor (Windows, Development x64) (push) Has been cancelled
Build Windows / Game (Windows, Release x64) (push) Has been cancelled
Cooker / Cook (Mac) (push) Has been cancelled
Tests / Tests (Linux) (push) Has been cancelled
Tests / Tests (Windows) (push) Has been cancelled
Some checks failed
Build Android / Game (Android, Release ARM64) (push) Has been cancelled
Build iOS / Game (iOS, Release ARM64) (push) Has been cancelled
Build Linux / Editor (Linux, Development x64) (push) Has been cancelled
Build Linux / Game (Linux, Release x64) (push) Has been cancelled
Build macOS / Editor (Mac, Development ARM64) (push) Has been cancelled
Build macOS / Game (Mac, Release ARM64) (push) Has been cancelled
Build Windows / Editor (Windows, Development x64) (push) Has been cancelled
Build Windows / Game (Windows, Release x64) (push) Has been cancelled
Cooker / Cook (Mac) (push) Has been cancelled
Tests / Tests (Linux) (push) Has been cancelled
Tests / Tests (Windows) (push) Has been cancelled
This commit is contained in:
@@ -41,6 +41,118 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
#if USE_NETCORE
|
||||
StringView MUtils::ToString(MString* str)
|
||||
{
|
||||
if (str == nullptr)
|
||||
return StringView::Empty;
|
||||
return StringView(*(String*)str);
|
||||
}
|
||||
|
||||
StringAnsi MUtils::ToStringAnsi(MString* str)
|
||||
{
|
||||
if (str == nullptr)
|
||||
return StringAnsi::Empty;
|
||||
return StringAnsi(*(String*)str);
|
||||
}
|
||||
|
||||
void MUtils::ToString(MString* str, String& result)
|
||||
{
|
||||
if (str)
|
||||
{
|
||||
const StringView chars = StringView(*(String*)str);
|
||||
result.Set(chars.Get(), chars.Length());
|
||||
}
|
||||
else
|
||||
result.Clear();
|
||||
}
|
||||
|
||||
void MUtils::ToString(MString* str, StringView& result)
|
||||
{
|
||||
if (str)
|
||||
result = StringView(*(String*)str);
|
||||
else
|
||||
result = StringView();
|
||||
}
|
||||
|
||||
void MUtils::ToString(MString* str, Variant& result)
|
||||
{
|
||||
result.SetString(str ? StringView(*(String*)str) : StringView::Empty);
|
||||
}
|
||||
|
||||
void MUtils::ToString(MString* str, StringAnsi& result)
|
||||
{
|
||||
if (str)
|
||||
{
|
||||
const StringView chars = StringView(*(String*)str);
|
||||
result.Set(chars.Get(), chars.Length());
|
||||
}
|
||||
else
|
||||
result.Clear();
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const char* str)
|
||||
{
|
||||
CRASH;
|
||||
if (str == nullptr || *str == 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str, StringUtils::Length(str)));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const StringAnsi& str)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const String& str)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const String& str, MDomain* domain)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const StringAnsiView& str)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const StringView& str)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
|
||||
MString* MUtils::ToString(const StringView& str, MDomain* domain)
|
||||
{
|
||||
CRASH;
|
||||
const int32 len = str.Length();
|
||||
if (len <= 0)
|
||||
return (MString*)(New<String>());
|
||||
return (MString*)(New<String>(str.Get(), len));
|
||||
}
|
||||
#else
|
||||
StringView MUtils::ToString(MString* str)
|
||||
{
|
||||
if (str == nullptr)
|
||||
@@ -144,6 +256,7 @@ MString* MUtils::ToString(const StringView& str, MDomain* domain)
|
||||
return MCore::String::GetEmpty(domain);
|
||||
return MCore::String::New(str.Get(), len, domain);
|
||||
}
|
||||
#endif
|
||||
|
||||
ScriptingTypeHandle MUtils::UnboxScriptingTypeHandle(MTypeObject* value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user