| Index: pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart b/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| index 10b056d8fbc80c9f49698bb362dfc5347e4d837e..fd7a45f325246159f52e326861c87aff3ad3a7a7 100644
|
| --- a/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| +++ b/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| @@ -9,13 +9,11 @@ import '../dart_types.dart';
|
| import '../elements/elements.dart';
|
|
|
| class TypeGenerator {
|
| -
|
| /// TODO(johnniwinther): Remove this when issue 21283 has been resolved.
|
| static int pseudoNameCounter = 0;
|
|
|
| static Parameter emitParameter(DartType type,
|
| - {String name,
|
| - Element element}) {
|
| + {String name, Element element}) {
|
| if (name == null && element != null) {
|
| name = element.name;
|
| }
|
| @@ -26,8 +24,7 @@ class TypeGenerator {
|
| if (type.isFunctionType) {
|
| FunctionType functionType = type;
|
| TypeAnnotation returnType = createOptionalType(functionType.returnType);
|
| - Parameters innerParameters =
|
| - createParametersFromType(functionType);
|
| + Parameters innerParameters = createParametersFromType(functionType);
|
| parameter = new Parameter.function(name, returnType, innerParameters);
|
| } else {
|
| TypeAnnotation typeAnnotation = createOptionalType(type);
|
| @@ -40,31 +37,26 @@ class TypeGenerator {
|
| static Parameters createParametersFromType(FunctionType functionType) {
|
| pseudoNameCounter = 0;
|
| if (functionType.namedParameters.isEmpty) {
|
| - return new Parameters(
|
| - createParameters(functionType.parameterTypes),
|
| - createParameters(functionType.optionalParameterTypes),
|
| - false);
|
| + return new Parameters(createParameters(functionType.parameterTypes),
|
| + createParameters(functionType.optionalParameterTypes), false);
|
| } else {
|
| return new Parameters(
|
| createParameters(functionType.parameterTypes),
|
| createParameters(functionType.namedParameterTypes,
|
| - names: functionType.namedParameters),
|
| + names: functionType.namedParameters),
|
| true);
|
| }
|
| }
|
|
|
| - static List<Parameter> createParameters(
|
| - Iterable<DartType> parameterTypes,
|
| + static List<Parameter> createParameters(Iterable<DartType> parameterTypes,
|
| {Iterable<String> names: const <String>[],
|
| - Iterable<Element> elements: const <Element>[]}) {
|
| + Iterable<Element> elements: const <Element>[]}) {
|
| Iterator<String> name = names.iterator;
|
| Iterator<Element> element = elements.iterator;
|
| return parameterTypes.map((DartType type) {
|
| name.moveNext();
|
| element.moveNext();
|
| - return emitParameter(type,
|
| - name: name.current,
|
| - element: element.current);
|
| + return emitParameter(type, name: name.current, element: element.current);
|
| }).toList();
|
| }
|
|
|
| @@ -83,22 +75,17 @@ class TypeGenerator {
|
| if (type.treatAsRaw) {
|
| return new TypeAnnotation(type.element.name)..dartType = type;
|
| }
|
| - return new TypeAnnotation(
|
| - type.element.name,
|
| - type.typeArguments.map(createType).toList(growable:false))
|
| - ..dartType = type;
|
| + return new TypeAnnotation(type.element.name,
|
| + type.typeArguments.map(createType).toList(growable: false))
|
| + ..dartType = type;
|
| } else if (type is VoidType) {
|
| - return new TypeAnnotation('void')
|
| - ..dartType = type;
|
| + return new TypeAnnotation('void')..dartType = type;
|
| } else if (type is TypeVariableType) {
|
| - return new TypeAnnotation(type.name)
|
| - ..dartType = type;
|
| + return new TypeAnnotation(type.name)..dartType = type;
|
| } else if (type is DynamicType) {
|
| - return new TypeAnnotation("dynamic")
|
| - ..dartType = type;
|
| + return new TypeAnnotation("dynamic")..dartType = type;
|
| } else if (type is MalformedType) {
|
| - return new TypeAnnotation(type.name)
|
| - ..dartType = type;
|
| + return new TypeAnnotation(type.name)..dartType = type;
|
| } else {
|
| throw "Unsupported type annotation: $type";
|
| }
|
|
|