| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'package:analyzer/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
| 6 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | 6 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
| 7 import 'package:analyzer/dart/ast/token.dart'; | 7 import 'package:analyzer/dart/ast/token.dart'; |
| 8 import 'package:analyzer/dart/element/element.dart'; | 8 import 'package:analyzer/dart/element/element.dart'; |
| 9 import 'package:analyzer/dart/element/type.dart'; | 9 import 'package:analyzer/dart/element/type.dart'; |
| 10 import 'package:analyzer/src/dart/element/element.dart'; | 10 import 'package:analyzer/src/dart/element/element.dart'; |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 } | 416 } |
| 417 | 417 |
| 418 TypeAnnotation _buildType(DartType type) { | 418 TypeAnnotation _buildType(DartType type) { |
| 419 if (type is InterfaceType) { | 419 if (type is InterfaceType) { |
| 420 var name = AstTestFactory.identifier3(type.element.name) | 420 var name = AstTestFactory.identifier3(type.element.name) |
| 421 ..staticElement = type.element | 421 ..staticElement = type.element |
| 422 ..staticType = type; | 422 ..staticType = type; |
| 423 List<TypeAnnotation> arguments = _buildTypeArguments(type.typeArguments); | 423 List<TypeAnnotation> arguments = _buildTypeArguments(type.typeArguments); |
| 424 return AstTestFactory.typeName3(name, arguments)..type = type; | 424 return AstTestFactory.typeName3(name, arguments)..type = type; |
| 425 } | 425 } |
| 426 if (type is DynamicTypeImpl) { | 426 if (type is DynamicTypeImpl || type is TypeParameterType) { |
| 427 var identifier = AstTestFactory.identifier3('dynamic') | 427 var identifier = AstTestFactory.identifier3(type.name) |
| 428 ..staticElement = type.element | 428 ..staticElement = type.element |
| 429 ..staticType = type; | 429 ..staticType = type; |
| 430 return AstTestFactory.typeName3(identifier)..type = type; | 430 return AstTestFactory.typeName3(identifier)..type = type; |
| 431 } | 431 } |
| 432 // TODO(scheglov) Implement for other types. | 432 // TODO(scheglov) Implement for other types. |
| 433 throw new UnimplementedError('type: (${type.runtimeType}) $type'); | 433 throw new UnimplementedError('type: (${type.runtimeType}) $type'); |
| 434 } | 434 } |
| 435 | 435 |
| 436 TypeArgumentList _buildTypeArgumentList(List<kernel.DartType> kernels) { | 436 TypeArgumentList _buildTypeArgumentList(List<kernel.DartType> kernels) { |
| 437 int length = kernels.length; | 437 int length = kernels.length; |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 847 for (var typeParameter in ctx.typeParameters) { | 847 for (var typeParameter in ctx.typeParameters) { |
| 848 if (typeParameter.name == name) { | 848 if (typeParameter.name == name) { |
| 849 return typeParameter; | 849 return typeParameter; |
| 850 } | 850 } |
| 851 } | 851 } |
| 852 } | 852 } |
| 853 } | 853 } |
| 854 throw new StateError('Not found $kernelTypeParameter in $context'); | 854 throw new StateError('Not found $kernelTypeParameter in $context'); |
| 855 } | 855 } |
| 856 } | 856 } |
| OLD | NEW |