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

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

Issue 2944933002: Implement type inference for null-aware property gets. (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 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 230
231 void nullLiteralExit(NullLiteral expression, DartType inferredType) => 231 void nullLiteralExit(NullLiteral expression, DartType inferredType) =>
232 debugExpressionExit("nullLiteral", expression, inferredType); 232 debugExpressionExit("nullLiteral", expression, inferredType);
233 233
234 bool propertyAssignEnter(Expression expression, DartType typeContext) => 234 bool propertyAssignEnter(Expression expression, DartType typeContext) =>
235 debugExpressionEnter("propertyAssign", expression, typeContext); 235 debugExpressionEnter("propertyAssign", expression, typeContext);
236 236
237 void propertyAssignExit(Expression expression, DartType inferredType) => 237 void propertyAssignExit(Expression expression, DartType inferredType) =>
238 debugExpressionExit("propertyAssign", expression, inferredType); 238 debugExpressionExit("propertyAssign", expression, inferredType);
239 239
240 bool propertyGetEnter(PropertyGet expression, DartType typeContext) => 240 bool propertyGetEnter(Expression expression, DartType typeContext) =>
241 debugExpressionEnter("propertyGet", expression, typeContext); 241 debugExpressionEnter("propertyGet", expression, typeContext);
242 242
243 void propertyGetExit(PropertyGet expression, DartType inferredType) => 243 void propertyGetExit(Expression expression, DartType inferredType) =>
244 debugExpressionExit("propertyGet", expression, inferredType); 244 debugExpressionExit("propertyGet", expression, inferredType);
245 245
246 bool propertySetEnter(PropertySet expression, DartType typeContext) => 246 bool propertySetEnter(PropertySet expression, DartType typeContext) =>
247 debugExpressionEnter("propertySet", expression, typeContext); 247 debugExpressionEnter("propertySet", expression, typeContext);
248 248
249 void propertySetExit(PropertySet expression, DartType inferredType) => 249 void propertySetExit(PropertySet expression, DartType inferredType) =>
250 debugExpressionExit("propertySet", expression, inferredType); 250 debugExpressionExit("propertySet", expression, inferredType);
251 251
252 void recordDependency(FieldNode fieldNode) => debugDependency(fieldNode); 252 void recordDependency(FieldNode fieldNode) => debugDependency(fieldNode);
253 253
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 320
321 void variableSetExit(VariableSet expression, DartType inferredType) => 321 void variableSetExit(VariableSet expression, DartType inferredType) =>
322 debugExpressionExit("variableSet", expression, inferredType); 322 debugExpressionExit("variableSet", expression, inferredType);
323 323
324 void yieldStatementEnter(YieldStatement statement) => 324 void yieldStatementEnter(YieldStatement statement) =>
325 debugStatementEnter('yieldStatement', statement); 325 debugStatementEnter('yieldStatement', statement);
326 326
327 void yieldStatementExit(YieldStatement statement) => 327 void yieldStatementExit(YieldStatement statement) =>
328 debugStatementExit('yieldStatement', statement); 328 debugStatementExit('yieldStatement', statement);
329 } 329 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698