Chromium Code Reviews| Index: runtime/bin/platform.cc |
| diff --git a/runtime/bin/platform.cc b/runtime/bin/platform.cc |
| index 0ed2bd364fd10eec6d347472f6233379e94a3cc1..735bc432476664c60001c4656fb8c0b3a378f1f1 100644 |
| --- a/runtime/bin/platform.cc |
| +++ b/runtime/bin/platform.cc |
| @@ -85,6 +85,22 @@ void FUNCTION_NAME(Platform_PackageRoot)(Dart_NativeArguments args) { |
| } |
| +void FUNCTION_NAME(Platform_PackageResolution)(Dart_NativeArguments args) { |
|
Ivan Posva
2015/08/26 04:29:35
There should be no need to rely on C++ code for th
Lasse Reichstein Nielsen
2015/08/26 06:26:06
Excellent. It did seem a bit overengineered to go
|
| + Dart_Handle builtin_lib = |
| + Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary); |
| + ASSERT(!Dart_IsError(builtin_lib)); |
| + Dart_Handle field_name = DartUtils::NewString("_packageRoot"); |
| + Dart_Handle result = Dart_GetField(builtin_lib, field_name); |
| + ASSERT(!Dart_IsError(result)); |
| + if (Dart_IsNull(result)) { |
| + field_name = DartUtils::NewString("_packageMap"); |
| + result = Dart_GetField(builtin_lib, field_name); |
| + ASSERT(!Dart_IsError(result)); |
| + } |
| + Dart_SetReturnValue(args, result); |
| +} |
| + |
| + |
| void FUNCTION_NAME(Platform_Environment)(Dart_NativeArguments args) { |
| intptr_t count = 0; |
| char** env = Platform::Environment(&count); |