Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(608)

Unified Diff: runtime/bin/main.cc

Issue 9159013: Add script attribute to Options class, providing the name of the running script. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/main.cc
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index be408da173628d16664f23c45b14a8ebb812e258..4827ab10ce7d7094c62a34b71195718e60f4ac5c 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -151,8 +151,13 @@ static int ParseArguments(int argc,
}
-static Dart_Handle SetupRuntimeOptions(CommandLineOptions* options) {
+static Dart_Handle SetupRuntimeOptions(CommandLineOptions* options,
+ char* script_name) {
int options_count = options->count();
+ Dart_Handle dart_script = Dart_NewString(script_name);
+ if (Dart_IsError(dart_script)) {
+ return dart_script;
+ }
Dart_Handle dart_arguments = Dart_NewList(options_count);
if (Dart_IsError(dart_arguments)) {
return dart_arguments;
@@ -184,6 +189,15 @@ static Dart_Handle SetupRuntimeOptions(CommandLineOptions* options) {
if (Dart_IsError(runtime_options_class)) {
return runtime_options_class;
}
+ Dart_Handle script_name_name = Dart_NewString("_nativeScript");
+ if (Dart_IsError(script_name_name)) {
+ return script_name_name;
+ }
+ Dart_Handle set_script_name =
+ Dart_SetStaticField(runtime_options_class, script_name_name, dart_script);
+ if (Dart_IsError(set_script_name)) {
+ return set_script_name;
+ }
Dart_Handle native_name = Dart_NewString("_nativeArguments");
if (Dart_IsError(native_name)) {
return native_name;
@@ -489,7 +503,8 @@ int main(int argc, char** argv) {
}
// Create a dart options object that can be accessed from dart code.
- Dart_Handle options_result = SetupRuntimeOptions(&dart_options);
+ Dart_Handle options_result =
+ SetupRuntimeOptions(&dart_options, canonical_script_name);
if (Dart_IsError(options_result)) {
fprintf(stderr, "%s\n", Dart_GetError(options_result));
Dart_ExitScope();

Powered by Google App Engine
This is Rietveld 408576698