| 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 engine.resolver; | 5 library engine.resolver; |
| 6 | 6 |
| 7 import "dart:math" as math; | 7 import "dart:math" as math; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analyzer/src/generated/utilities_collection.dart'; | 10 import 'package:analyzer/src/generated/utilities_collection.dart'; |
| (...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2480 } | 2480 } |
| 2481 | 2481 |
| 2482 @override | 2482 @override |
| 2483 Object visitClassTypeAlias(ClassTypeAlias node) { | 2483 Object visitClassTypeAlias(ClassTypeAlias node) { |
| 2484 ElementHolder holder = new ElementHolder(); | 2484 ElementHolder holder = new ElementHolder(); |
| 2485 _functionTypesToFix = new List<FunctionTypeImpl>(); | 2485 _functionTypesToFix = new List<FunctionTypeImpl>(); |
| 2486 _visitChildren(holder, node); | 2486 _visitChildren(holder, node); |
| 2487 SimpleIdentifier className = node.name; | 2487 SimpleIdentifier className = node.name; |
| 2488 ClassElementImpl element = new ClassElementImpl.forNode(className); | 2488 ClassElementImpl element = new ClassElementImpl.forNode(className); |
| 2489 element.abstract = node.abstractKeyword != null; | 2489 element.abstract = node.abstractKeyword != null; |
| 2490 element.mixinApplication = true; |
| 2490 element.typedef = true; | 2491 element.typedef = true; |
| 2491 List<TypeParameterElement> typeParameters = holder.typeParameters; | 2492 List<TypeParameterElement> typeParameters = holder.typeParameters; |
| 2492 element.typeParameters = typeParameters; | 2493 element.typeParameters = typeParameters; |
| 2493 List<DartType> typeArguments = _createTypeParameterTypes(typeParameters); | 2494 List<DartType> typeArguments = _createTypeParameterTypes(typeParameters); |
| 2494 InterfaceTypeImpl interfaceType = new InterfaceTypeImpl.con1(element); | 2495 InterfaceTypeImpl interfaceType = new InterfaceTypeImpl.con1(element); |
| 2495 interfaceType.typeArguments = typeArguments; | 2496 interfaceType.typeArguments = typeArguments; |
| 2496 element.type = interfaceType; | 2497 element.type = interfaceType; |
| 2497 // set default constructor | 2498 // set default constructor |
| 2498 element.constructors = _createDefaultConstructors(interfaceType); | 2499 element.constructors = _createDefaultConstructors(interfaceType); |
| 2499 for (FunctionTypeImpl functionType in _functionTypesToFix) { | 2500 for (FunctionTypeImpl functionType in _functionTypesToFix) { |
| (...skipping 12911 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15411 nonFields.add(node); | 15412 nonFields.add(node); |
| 15412 return null; | 15413 return null; |
| 15413 } | 15414 } |
| 15414 | 15415 |
| 15415 @override | 15416 @override |
| 15416 Object visitNode(AstNode node) => node.accept(TypeResolverVisitor_this); | 15417 Object visitNode(AstNode node) => node.accept(TypeResolverVisitor_this); |
| 15417 | 15418 |
| 15418 @override | 15419 @override |
| 15419 Object visitWithClause(WithClause node) => null; | 15420 Object visitWithClause(WithClause node) => null; |
| 15420 } | 15421 } |
| OLD | NEW |