Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api

Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
This commit is contained in:
Wojtek Figat
2023-03-27 17:29:42 +02:00
parent eed2cdfe04
commit 510fc443e8
111 changed files with 17048 additions and 8765 deletions

View File

@@ -78,6 +78,12 @@ public:
String(buf.Get());
}
void String(const StringView& value)
{
const StringAsUTF8<256> buf(*value, value.Length());
String(buf.Get());
}
void String(const StringAnsi& value)
{
String(value.Get(), static_cast<unsigned>(value.Length()));
@@ -85,7 +91,13 @@ public:
FORCE_INLINE void RawValue(const StringAnsi& str)
{
RawValue(str.Get(), static_cast<int32>(str.Length()));
RawValue(str.Get(), str.Length());
}
void RawValue(const StringView& str)
{
const StringAsUTF8<256> buf(*str, str.Length());
RawValue(buf.Get(), buf.Length());
}
FORCE_INLINE void RawValue(const CharType* json)