Index: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
index 83bb32c8f678f7c5ce2a05260e8f099c6de90d5a..bb90dca5269d106dc169630313e1c5fe454b1afe 100644 |
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
@@ -191,6 +191,8 @@ class DartTypeConverter extends ir.DartTypeVisitor<DartType> { |
DartTypeConverter(this.astAdapter); |
+ DartType visitType(ir.DartType type) => type.accept(this); |
+ |
List<DartType> visitTypes(List<ir.DartType> types) { |
return new List.generate( |
types.length, (int index) => types[index].accept(this)); |
@@ -203,7 +205,12 @@ class DartTypeConverter extends ir.DartTypeVisitor<DartType> { |
@override |
DartType visitFunctionType(ir.FunctionType node) { |
- throw new UnimplementedError("Function types not currently supported"); |
+ return new FunctionType.synthesized( |
+ visitType(node.returnType), |
Harry Terkelsen
2016/09/22 19:20:15
long lines
Johnni Winther
2016/09/23 09:01:50
Done.
|
+ visitTypes(node.positionalParameters.take(node.requiredParameterCount).toList()), |
+ visitTypes(node.positionalParameters.skip(node.requiredParameterCount).toList()), |
+ node.namedParameters.keys.toList(), |
+ visitTypes(node.namedParameters.values.toList())); |
} |
@override |