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

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

Issue 2950923002: Add type inference for null-aware method invocations. (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 import 'package:front_end/src/fasta/type_inference/type_inference_engine.dart'; 5 import 'package:front_end/src/fasta/type_inference/type_inference_engine.dart';
6 import 'package:kernel/ast.dart'; 6 import 'package:kernel/ast.dart';
7 7
8 /// Base class for [TypeInferenceListener] that defines the API for debugging. 8 /// Base class for [TypeInferenceListener] that defines the API for debugging.
9 /// 9 ///
10 /// By default no debug info is printed. To enable debug printing, mix in 10 /// By default no debug info is printed. To enable debug printing, mix in
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 204
205 void listLiteralExit(ListLiteral expression, DartType inferredType) => 205 void listLiteralExit(ListLiteral expression, DartType inferredType) =>
206 debugExpressionExit("listLiteral", expression, inferredType); 206 debugExpressionExit("listLiteral", expression, inferredType);
207 207
208 bool mapLiteralEnter(MapLiteral expression, DartType typeContext) => 208 bool mapLiteralEnter(MapLiteral expression, DartType typeContext) =>
209 debugExpressionEnter("mapLiteral", expression, typeContext); 209 debugExpressionEnter("mapLiteral", expression, typeContext);
210 210
211 void mapLiteralExit(MapLiteral expression, DartType typeContext) => 211 void mapLiteralExit(MapLiteral expression, DartType typeContext) =>
212 debugExpressionExit("mapLiteral", expression, typeContext); 212 debugExpressionExit("mapLiteral", expression, typeContext);
213 213
214 bool methodInvocationEnter( 214 bool methodInvocationEnter(Expression expression, DartType typeContext) =>
215 MethodInvocation expression, DartType typeContext) =>
216 debugExpressionEnter("methodInvocation", expression, typeContext); 215 debugExpressionEnter("methodInvocation", expression, typeContext);
217 216
218 void methodInvocationExit( 217 void methodInvocationExit(Expression expression, DartType inferredType) =>
219 MethodInvocation expression, DartType inferredType) =>
220 debugExpressionExit("methodInvocation", expression, inferredType); 218 debugExpressionExit("methodInvocation", expression, inferredType);
221 219
222 bool notEnter(Not expression, DartType typeContext) => 220 bool notEnter(Not expression, DartType typeContext) =>
223 debugExpressionEnter("not", expression, typeContext); 221 debugExpressionEnter("not", expression, typeContext);
224 222
225 void notExit(Not expression, DartType inferredType) => 223 void notExit(Not expression, DartType inferredType) =>
226 debugExpressionExit("not", expression, inferredType); 224 debugExpressionExit("not", expression, inferredType);
227 225
228 bool nullLiteralEnter(NullLiteral expression, DartType typeContext) => 226 bool nullLiteralEnter(NullLiteral expression, DartType typeContext) =>
229 debugExpressionEnter("nullLiteral", expression, typeContext); 227 debugExpressionEnter("nullLiteral", expression, typeContext);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 319
322 void variableSetExit(VariableSet expression, DartType inferredType) => 320 void variableSetExit(VariableSet expression, DartType inferredType) =>
323 debugExpressionExit("variableSet", expression, inferredType); 321 debugExpressionExit("variableSet", expression, inferredType);
324 322
325 void yieldStatementEnter(YieldStatement statement) => 323 void yieldStatementEnter(YieldStatement statement) =>
326 debugStatementEnter('yieldStatement', statement); 324 debugStatementEnter('yieldStatement', statement);
327 325
328 void yieldStatementExit(YieldStatement statement) => 326 void yieldStatementExit(YieldStatement statement) =>
329 debugStatementExit('yieldStatement', statement); 327 debugStatementExit('yieldStatement', statement);
330 } 328 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698