Open
Description
First of all thank you very much for your work, I happen to have the need to embed the Dart VM to execute the code. Here is the code I read in dart_api_impl_test.cc
and it seems that the VM can execute Dart code directly in string form:
TEST_CASE(DartAPI_InstanceOf) {
const char* kScriptChars =
"class OtherClass {\n"
" static returnNull() { return null; }\n"
"}\n"
"class InstanceOfTest {\n"
" InstanceOfTest() {}\n"
" static InstanceOfTest testMain() {\n"
" return new InstanceOfTest();\n"
" }\n"
"}\n";
Dart_Handle result;
// Create a test library and Load up a test script in it.
Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
// Fetch InstanceOfTest class.
Dart_Handle type =
Dart_GetNonNullableType(lib, NewString("InstanceOfTest"), 0, NULL);
EXPECT_VALID(type);
// Invoke a function which returns an object of type InstanceOf..
Dart_Handle instanceOfTestObj =
Dart_Invoke(type, NewString("testMain"), 0, NULL);
EXPECT_VALID(instanceOfTestObj);
}
Can you add an API like TestCase::LoadTestScript
?