Index: pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart |
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart |
index c061dfe59df19447264edef3f8e4a2cadd9af02d..888ac72861037b12ec83b7b69920e59bf3741b38 100644 |
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart |
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart |
@@ -1868,8 +1868,12 @@ class KernelSymbolLiteral extends SymbolLiteral implements KernelExpression { |
@override |
DartType _inferExpression( |
KernelTypeInferrer inferrer, DartType typeContext, bool typeNeeded) { |
- // TODO(scheglov): implement. |
- return typeNeeded ? const DynamicType() : null; |
+ typeNeeded = |
+ inferrer.listener.symbolLiteralEnter(this, typeContext) || typeNeeded; |
+ var inferredType = |
+ typeNeeded ? inferrer.coreTypes.symbolClass.rawType : null; |
+ inferrer.listener.symbolLiteralExit(this, inferredType); |
+ return inferredType; |
} |
} |