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

Unified Diff: runtime/lib/literal_factory.dart

Issue 8921033: Implement revised factories in the VM. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years 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/lib/literal_factory.dart
===================================================================
--- runtime/lib/literal_factory.dart (revision 2391)
+++ runtime/lib/literal_factory.dart (working copy)
@@ -2,12 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// Factory class constructing mutable List and Map objects from parser generated
-// list and map literals.
+// Factory classes constructing mutable List and Map objects from parser
+// generated list and map literals.
-class _LiteralFactory {
+class _ListLiteralFactory<E> {
// [elements] contains elements that are already type checked.
- factory List<E>.fromLiteral(List elements) {
+ factory List.fromLiteral(List elements) {
var list = new GrowableObjectArray<E>();
if (elements.length > 0) {
list.backingArray = elements;
@@ -15,12 +15,17 @@
}
return list;
}
+}
+// Factory class constructing mutable List and Map objects from parser generated
+// list and map literals.
+
+class _MapLiteralFactory<K, V> {
// [elements] contains n key-value pairs.
// The keys are at position 2*n and are already type checked by the parser
// in checked mode.
// The values are at position 2*n+1 and are not yet type checked.
- factory Map<K, V>.fromLiteral(List elements) {
+ factory Map.fromLiteral(List elements) {
var map = new LinkedHashMap<String, V>();
var len = elements.length;
for (int i = 1; i < len; i += 2) {
@@ -29,3 +34,4 @@
return map;
}
}
+

Powered by Google App Engine
This is Rietveld 408576698