You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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) {
constchar* 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?
The text was updated successfully, but these errors were encountered:
I did a brief look and it looks possible, but will need to take advantage of some internal methods. This is really the magic method that's doing most of the work.
So with some work it could be probably be added, and I'd accept a PR to do so, but it's not in my use case so I likely won't get around to it any time soon.
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:Can you add an API like
TestCase::LoadTestScript
?The text was updated successfully, but these errors were encountered: