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

Unified Diff: pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart

Issue 2905163002: Perform type inference on redirecting initializers (`C() : this(...);`). (Closed)
Patch Set: Created 3 years, 7 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: pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
index cbc22121465bcf63854865ba5e735f04d7ce020a..c7bfd35f644324e177df6b6a0d9c9e2b9177abfc 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
@@ -17,6 +17,10 @@ class TypeInferenceBase {
void debugExpressionExit(
String expressionType, Expression expression, DartType inferredType) {}
+ void debugInitializerEnter(String initializerType, Initializer initializer) {}
+
+ void debugInitializerExit(String initializerType, Initializer initializer) {}
+
void debugStatementEnter(String statementType, Statement statement) {}
void debugStatementExit(String statementType, Statement statement) {}
@@ -36,6 +40,14 @@ class TypeInferenceDebugging implements TypeInferenceBase {
print('Exit $expressionType($expression) (type=$inferredType)');
}
+ void debugInitializerEnter(String initializerType, Initializer initializer) {
+ print('Enter $initializerType($initializer)');
+ }
+
+ void debugInitializerExit(String initializerType, Initializer initializer) {
+ print('Exit $initializerType($initializer)');
+ }
+
void debugStatementEnter(String statementType, Statement statement) {
print('Enter $statementType($statement)');
}
@@ -170,6 +182,12 @@ class TypeInferenceListener
void nullLiteralExit(NullLiteral expression, DartType inferredType) =>
debugExpressionExit("nullLiteral", expression, inferredType);
+ void redirectingInitializerEnter(RedirectingInitializer initializer) =>
+ debugInitializerEnter("redirectingInitializer", initializer);
+
+ void redirectingInitializerExit(RedirectingInitializer initializer) =>
+ debugInitializerExit("redirectingInitializer", initializer);
+
void returnStatementEnter(ReturnStatement statement) =>
debugStatementEnter('returnStatement', statement);

Powered by Google App Engine
This is Rietveld 408576698