OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |