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

Unified Diff: sdk/lib/_internal/compiler/implementation/constants.dart

Issue 24282005: Move compile-time constant registrations to the backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status Created 7 years, 3 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: sdk/lib/_internal/compiler/implementation/constants.dart
diff --git a/sdk/lib/_internal/compiler/implementation/constants.dart b/sdk/lib/_internal/compiler/implementation/constants.dart
index bca652405c49be6b45649dac303a38a077fdd068..ae0c3be9b5873ce6d6b9e3810ce0d51a85429f8b 100644
--- a/sdk/lib/_internal/compiler/implementation/constants.dart
+++ b/sdk/lib/_internal/compiler/implementation/constants.dart
@@ -295,6 +295,10 @@ class StringConstant extends PrimitiveConstant {
int get length => value.length;
accept(ConstantVisitor visitor) => visitor.visitString(this);
+
+ String toString() {
ahe 2013/09/30 11:05:26 Nice with toString implementation, but I suggest t
Johnni Winther 2013/10/01 11:21:48 Done.
+ return "'" + value.slowToString() + "'";
ahe 2013/09/30 11:05:26 Use string interpolation, please.
Johnni Winther 2013/10/01 11:21:48 Done.
+ }
}
abstract class ObjectConstant extends Constant {
@@ -323,6 +327,8 @@ class TypeConstant extends ObjectConstant {
List<Constant> getDependencies() => const <Constant>[];
accept(ConstantVisitor visitor) => visitor.visitType(this);
+
+ String toString() => '$representedType';
}
class ListConstant extends ObjectConstant {
@@ -362,6 +368,17 @@ class ListConstant extends ObjectConstant {
int get length => entries.length;
accept(ConstantVisitor visitor) => visitor.visitList(this);
+
+ String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.write('[');
+ for (int i = 0 ; i < entries.length ; i++) {
+ if (i > 0) sb.write(',');
+ sb.write(entries[i]);
+ }
+ sb.write(']');
+ return sb.toString();
+ }
}
class MapConstant extends ObjectConstant {
@@ -437,6 +454,19 @@ class MapConstant extends ObjectConstant {
int get length => keys.length;
accept(ConstantVisitor visitor) => visitor.visitMap(this);
+
+ String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.write('{');
+ for (int i = 0 ; i < keys.entries.length ; i++) {
+ if (i > 0) sb.write(',');
+ sb.write(keys.entries[i]);
+ sb.write(':');
+ sb.write(values[i]);
+ }
+ sb.write('}');
+ return sb.toString();
+ }
}
class InterceptorConstant extends Constant {
@@ -460,6 +490,10 @@ class InterceptorConstant extends Constant {
accept(ConstantVisitor visitor) => visitor.visitInterceptor(this);
DartType computeType(Compiler compiler) => compiler.types.dynamicType;
+
+ String toString() {
+ return 'InterceptorConstant($dispatchedType)';
+ }
}
class ConstructedConstant extends ObjectConstant {
@@ -510,4 +544,20 @@ class ConstructedConstant extends ObjectConstant {
}, includeSuperAndInjectedMembers: true);
return result;
}
+
+ String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.write(type);
+ sb.write('(');
+ int i = 0;
+ fieldElements.forEach((Element field, Constant value) {
+ if (i > 0) sb.write(',');
+ sb.write(field.name.slowToString());
+ sb.write('=');
+ sb.write(value);
+ i++;
+ });
+ sb.write(')');
+ return sb.toString();
+ }
}

Powered by Google App Engine
This is Rietveld 408576698