| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library dart2js.resolution.signatures; | 5 library dart2js.resolution.signatures; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/resolution.dart'; | 8 import '../common/resolution.dart'; |
| 9 import '../dart_types.dart'; | 9 import '../dart_types.dart'; |
| 10 import '../elements/elements.dart'; | 10 import '../elements/elements.dart'; |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 NodeList formalParameters, | 300 NodeList formalParameters, |
| 301 Node returnNode, | 301 Node returnNode, |
| 302 FunctionTypedElement element, | 302 FunctionTypedElement element, |
| 303 ResolutionRegistry registry, | 303 ResolutionRegistry registry, |
| 304 {MessageKind defaultValuesError, | 304 {MessageKind defaultValuesError, |
| 305 bool createRealParameters: false, | 305 bool createRealParameters: false, |
| 306 bool isFunctionExpression: false}) { | 306 bool isFunctionExpression: false}) { |
| 307 DiagnosticReporter reporter = resolution.reporter; | 307 DiagnosticReporter reporter = resolution.reporter; |
| 308 | 308 |
| 309 List<DartType> createTypeVariables(NodeList typeVariableNodes) { | 309 List<DartType> createTypeVariables(NodeList typeVariableNodes) { |
| 310 if (element.isPatch) { |
| 311 FunctionTypedElement origin = element.origin; |
| 312 origin.computeType(resolution); |
| 313 return origin.typeVariables; |
| 314 } |
| 310 if (typeVariableNodes == null) return const <DartType>[]; | 315 if (typeVariableNodes == null) return const <DartType>[]; |
| 311 | 316 |
| 312 // Create the types and elements corresponding to [typeVariableNodes]. | 317 // Create the types and elements corresponding to [typeVariableNodes]. |
| 313 Link<Node> nodes = typeVariableNodes.nodes; | 318 Link<Node> nodes = typeVariableNodes.nodes; |
| 314 List<DartType> arguments = | 319 List<DartType> arguments = |
| 315 new List.generate(nodes.slowLength(), (int index) { | 320 new List.generate(nodes.slowLength(), (int index) { |
| 316 TypeVariable node = nodes.head; | 321 TypeVariable node = nodes.head; |
| 317 String variableName = node.name.source; | 322 String variableName = node.name.source; |
| 318 nodes = nodes.tail; | 323 nodes = nodes.tail; |
| 319 TypeVariableElementX variableElement = | 324 TypeVariableElementX variableElement = |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 /// variables of the function signature itself when its signature is analyzed. | 482 /// variables of the function signature itself when its signature is analyzed. |
| 478 class FunctionSignatureBuildingScope extends TypeVariablesScope { | 483 class FunctionSignatureBuildingScope extends TypeVariablesScope { |
| 479 @override | 484 @override |
| 480 final List<DartType> typeVariables; | 485 final List<DartType> typeVariables; |
| 481 | 486 |
| 482 FunctionSignatureBuildingScope(Scope parent, this.typeVariables) | 487 FunctionSignatureBuildingScope(Scope parent, this.typeVariables) |
| 483 : super(parent); | 488 : super(parent); |
| 484 | 489 |
| 485 String toString() => 'FunctionSignatureBuildingScope($typeVariables)'; | 490 String toString() => 'FunctionSignatureBuildingScope($typeVariables)'; |
| 486 } | 491 } |
| OLD | NEW |