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

Side by Side Diff: pkg/compiler/lib/src/elements/resolution_types.dart

Issue 2567133002: Add support for the new function-type syntax. (Closed)
Patch Set: Fixes after rebase. Created 3 years, 10 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Implementation of the Dart types hierarchy in 'types.dart' specifically 5 /// Implementation of the Dart types hierarchy in 'types.dart' specifically
6 /// tailored to the resolution phase of the compiler. 6 /// tailored to the resolution phase of the compiler.
7 7
8 library resolution_types; 8 library resolution_types;
9 9
10 import 'dart:math' show min; 10 import 'dart:math' show min;
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 List<ResolutionDartType> parameterTypes = const <ResolutionDartType>[], 635 List<ResolutionDartType> parameterTypes = const <ResolutionDartType>[],
636 List<ResolutionDartType> optionalParameterTypes = 636 List<ResolutionDartType> optionalParameterTypes =
637 const <ResolutionDartType>[], 637 const <ResolutionDartType>[],
638 List<String> namedParameters = const <String>[], 638 List<String> namedParameters = const <String>[],
639 List<ResolutionDartType> namedParameterTypes = 639 List<ResolutionDartType> namedParameterTypes =
640 const <ResolutionDartType>[]]) { 640 const <ResolutionDartType>[]]) {
641 return new ResolutionFunctionType.internal(null, returnType, parameterTypes, 641 return new ResolutionFunctionType.internal(null, returnType, parameterTypes,
642 optionalParameterTypes, namedParameters, namedParameterTypes); 642 optionalParameterTypes, namedParameters, namedParameterTypes);
643 } 643 }
644 644
645 factory ResolutionFunctionType.generalized(
646 ResolutionDartType returnType,
647 List<ResolutionDartType> parameterTypes,
648 List<ResolutionDartType> optionalParameterTypes,
649 List<String> namedParameters,
650 List<ResolutionDartType> namedParameterTypes) {
651 return new ResolutionFunctionType.internal(null, returnType, parameterTypes,
652 optionalParameterTypes, namedParameters, namedParameterTypes);
653 }
654
645 ResolutionFunctionType.internal(FunctionTypedElement this.element, 655 ResolutionFunctionType.internal(FunctionTypedElement this.element,
646 [ResolutionDartType returnType = const ResolutionDynamicType(), 656 [ResolutionDartType returnType = const ResolutionDynamicType(),
647 List<ResolutionDartType> parameterTypes = const <ResolutionDartType>[], 657 List<ResolutionDartType> parameterTypes = const <ResolutionDartType>[],
648 List<ResolutionDartType> optionalParameterTypes = 658 List<ResolutionDartType> optionalParameterTypes =
649 const <ResolutionDartType>[], 659 const <ResolutionDartType>[],
650 List<String> namedParameters = const <String>[], 660 List<String> namedParameters = const <String>[],
651 List<ResolutionDartType> namedParameterTypes = 661 List<ResolutionDartType> namedParameterTypes =
652 const <ResolutionDartType>[]]) 662 const <ResolutionDartType>[]])
653 : this.returnType = returnType, 663 : this.returnType = returnType,
654 this.parameterTypes = parameterTypes, 664 this.parameterTypes = parameterTypes,
(...skipping 1410 matching lines...) Expand 10 before | Expand all | Expand 10 after
2065 sb.write(', '); 2075 sb.write(', ');
2066 } 2076 }
2067 namedParameterTypes[index].accept(this, namedParameters[index]); 2077 namedParameterTypes[index].accept(this, namedParameters[index]);
2068 needsComma = true; 2078 needsComma = true;
2069 } 2079 }
2070 sb.write('}'); 2080 sb.write('}');
2071 } 2081 }
2072 sb.write(')'); 2082 sb.write(')');
2073 } 2083 }
2074 } 2084 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698