| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| 2 // for details. All rights reserved. Use of this source code is governed by a | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 class _Platform { | |
| 6 static int _numberOfProcessors() native "Platform_NumberOfProcessors"; | |
| 7 static String _pathSeparator() native "Platform_PathSeparator"; | |
| 8 static String _operatingSystem() native "Platform_OperatingSystem"; | |
| 9 static _localHostname() native "Platform_LocalHostname"; | |
| 10 static _environment() native "Platform_Environment"; | |
| 11 | |
| 12 static int get numberOfProcessors { | |
| 13 return _numberOfProcessors(); | |
| 14 } | |
| 15 | |
| 16 static String get pathSeparator { | |
| 17 return _pathSeparator(); | |
| 18 } | |
| 19 | |
| 20 static String get operatingSystem { | |
| 21 return _operatingSystem(); | |
| 22 } | |
| 23 | |
| 24 static String get localHostname { | |
| 25 var result = _localHostname(); | |
| 26 if (result is OSError) { | |
| 27 throw result; | |
| 28 } else { | |
| 29 return result; | |
| 30 } | |
| 31 } | |
| 32 | |
| 33 static Map<String, String> get environment { | |
| 34 var env = _environment(); | |
| 35 if (env is OSError) { | |
| 36 throw env; | |
| 37 } else { | |
| 38 var result = new Map(); | |
| 39 for (var str in env) { | |
| 40 // When running on Windows through cmd.exe there are strange | |
| 41 // environment variables that are used to record the current | |
| 42 // working directory for each drive and the exit code for the | |
| 43 // last command. As an example: '=A:=A:\subdir' records the | |
| 44 // current working directory on the 'A' drive. In order to | |
| 45 // handle these correctly we search for a second occurrence of | |
| 46 // of '=' in the string if the first occurrence is at index 0. | |
| 47 var equalsIndex = str.indexOf('='); | |
| 48 if (equalsIndex == 0) { | |
| 49 equalsIndex = str.indexOf('=', 1); | |
| 50 } | |
| 51 assert(equalsIndex != -1); | |
| 52 result[str.substring(0, equalsIndex)] = str.substring(equalsIndex + 1); | |
| 53 } | |
| 54 return result; | |
| 55 } | |
| 56 } | |
| 57 } | |
| OLD | NEW |