Index: bin/builtin.cc |
=================================================================== |
--- bin/builtin.cc (revision 4317) |
+++ bin/builtin.cc (working copy) |
@@ -25,11 +25,24 @@ |
Dart_Handle Builtin::Source(BuiltinLibraryId id) { |
Dart_Handle source; |
- if (id == kBuiltinLibrary) { |
- source = Dart_NewString(Builtin::builtin_source_); |
- } else { |
- ASSERT(id == kIOLibrary); |
- source = Dart_NewString(Builtin::io_source_); |
+ switch (id) { |
+ case kBuiltinLibrary: |
+ source = Dart_NewString(Builtin::builtin_source_); |
+ break; |
+ case kIOLibrary: |
+ source = Dart_NewString(Builtin::io_source_); |
+ break; |
+ case kJsonLibrary: |
+ source = Dart_NewString(Builtin::json_source_); |
+ break; |
+ case kUriLibrary: |
+ source = Dart_NewString(Builtin::uri_source_); |
+ break; |
+ case kUtf8Library: |
+ source = Dart_NewString(Builtin::utf8_source_); |
+ break; |
+ default: |
+ return Dart_Error("Unknown builtin source requested."); |
} |
return source; |
} |
@@ -47,11 +60,24 @@ |
Dart_Handle Builtin::LoadLibrary(BuiltinLibraryId id) { |
Dart_Handle url; |
- if (id == kBuiltinLibrary) { |
- url = Dart_NewString(DartUtils::kBuiltinLibURL); |
- } else { |
- ASSERT(id == kIOLibrary); |
- url = Dart_NewString(DartUtils::kIOLibURL); |
+ switch (id) { |
+ case kBuiltinLibrary: |
+ url = Dart_NewString(DartUtils::kBuiltinLibURL); |
+ break; |
+ case kIOLibrary: |
+ url = Dart_NewString(DartUtils::kIOLibURL); |
+ break; |
+ case kJsonLibrary: |
+ url = Dart_NewString(DartUtils::kJsonLibURL); |
+ break; |
+ case kUriLibrary: |
+ url = Dart_NewString(DartUtils::kUriLibURL); |
+ break; |
+ case kUtf8Library: |
+ url = Dart_NewString(DartUtils::kUtf8LibURL); |
+ break; |
+ default: |
+ return Dart_Error("Unknown builtin library requested."); |
turnidge
2012/02/16 17:42:02
This switch can go away if we get rid of ids. Ins
siva
2012/02/16 18:44:17
I would go for a table driven scheme for this, we
Ivan Posva
2012/02/16 19:58:50
I agree with you both that the way we are collecti
|
} |
Dart_Handle library = Dart_LookupLibrary(url); |
if (Dart_IsError(library)) { |