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

Side by Side Diff: pkg/analyzer/lib/src/dart/element/element.dart

Issue 2022993002: Rollback the previous List<TypeParameterType> change and refix. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/dart/element/type.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 analyzer.src.dart.element.element; 5 library analyzer.src.dart.element.element;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import 'dart:math' show min; 8 import 'dart:math' show min;
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 5365 matching lines...) Expand 10 before | Expand all | Expand 10 after
5376 5376
5377 /** 5377 /**
5378 * Set whether this method is abstract. 5378 * Set whether this method is abstract.
5379 */ 5379 */
5380 void set abstract(bool isAbstract) { 5380 void set abstract(bool isAbstract) {
5381 assert(serializedExecutable == null); 5381 assert(serializedExecutable == null);
5382 setModifier(Modifier.ABSTRACT, isAbstract); 5382 setModifier(Modifier.ABSTRACT, isAbstract);
5383 } 5383 }
5384 5384
5385 @override 5385 @override
5386 List<DartType> get allEnclosingTypeParameterTypes { 5386 List<TypeParameterType> get allEnclosingTypeParameterTypes {
5387 if (isStatic) { 5387 if (isStatic) {
5388 return const <DartType>[]; 5388 return const <TypeParameterType>[];
5389 } 5389 }
5390 return super.allEnclosingTypeParameterTypes; 5390 return super.allEnclosingTypeParameterTypes;
5391 } 5391 }
5392 5392
5393 @override 5393 @override
5394 String get displayName { 5394 String get displayName {
5395 String displayName = super.displayName; 5395 String displayName = super.displayName;
5396 if ("unary-" == displayName) { 5396 if ("unary-" == displayName) {
5397 return "-"; 5397 return "-";
5398 } 5398 }
(...skipping 1220 matching lines...) Expand 10 before | Expand all | Expand 10 after
6619 6619
6620 /** 6620 /**
6621 * Set whether this accessor is abstract. 6621 * Set whether this accessor is abstract.
6622 */ 6622 */
6623 void set abstract(bool isAbstract) { 6623 void set abstract(bool isAbstract) {
6624 assert(serializedExecutable == null); 6624 assert(serializedExecutable == null);
6625 setModifier(Modifier.ABSTRACT, isAbstract); 6625 setModifier(Modifier.ABSTRACT, isAbstract);
6626 } 6626 }
6627 6627
6628 @override 6628 @override
6629 List<DartType> get allEnclosingTypeParameterTypes { 6629 List<TypeParameterType> get allEnclosingTypeParameterTypes {
6630 if (isStatic) { 6630 if (isStatic) {
6631 return const <DartType>[]; 6631 return const <TypeParameterType>[];
6632 } 6632 }
6633 return super.allEnclosingTypeParameterTypes; 6633 return super.allEnclosingTypeParameterTypes;
6634 } 6634 }
6635 6635
6636 @override 6636 @override
6637 PropertyAccessorElement get correspondingGetter { 6637 PropertyAccessorElement get correspondingGetter {
6638 if (isGetter || variable == null) { 6638 if (isGetter || variable == null) {
6639 return null; 6639 return null;
6640 } 6640 }
6641 return variable.getter; 6641 return variable.getter;
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
7262 } 7262 }
7263 } 7263 }
7264 7264
7265 /** 7265 /**
7266 * Mixin representing an element which can have type parameters. 7266 * Mixin representing an element which can have type parameters.
7267 */ 7267 */
7268 abstract class TypeParameterizedElementMixin 7268 abstract class TypeParameterizedElementMixin
7269 implements TypeParameterizedElement, ElementImpl { 7269 implements TypeParameterizedElement, ElementImpl {
7270 int _nestingLevel; 7270 int _nestingLevel;
7271 List<TypeParameterElement> _typeParameterElements; 7271 List<TypeParameterElement> _typeParameterElements;
7272 List<DartType> _typeParameterTypes; 7272 List<TypeParameterType> _typeParameterTypes;
7273 List<DartType> _allTypeParameterTypes; 7273 List<TypeParameterType> _allTypeParameterTypes;
7274 7274
7275 /** 7275 /**
7276 * Return all type parameter types of the element that encloses element. 7276 * Return all type parameter types of the element that encloses element.
7277 * Not `null`, but might be empty for top-level and static class members. 7277 * Not `null`, but might be empty for top-level and static class members.
7278 */ 7278 */
7279 List<DartType> get allEnclosingTypeParameterTypes { 7279 List<TypeParameterType> get allEnclosingTypeParameterTypes {
7280 return enclosingTypeParameterContext?.allTypeParameterTypes ?? 7280 return enclosingTypeParameterContext?.allTypeParameterTypes ??
7281 const <DartType>[]; 7281 const <TypeParameterType>[];
7282 } 7282 }
7283 7283
7284 /** 7284 /**
7285 * Return all type parameter types of this element. 7285 * Return all type parameter types of this element.
7286 */ 7286 */
7287 List<DartType> get allTypeParameterTypes { 7287 List<TypeParameterType> get allTypeParameterTypes {
7288 if (_allTypeParameterTypes == null) { 7288 if (_allTypeParameterTypes == null) {
7289 _allTypeParameterTypes = <DartType>[]; 7289 _allTypeParameterTypes = <TypeParameterType>[];
7290 // The most logical order would be (enclosing, this). 7290 // The most logical order would be (enclosing, this).
7291 // But we have to have it like this to be consistent with (inconsistent 7291 // But we have to have it like this to be consistent with (inconsistent
7292 // by itself) element builder for generic functions. 7292 // by itself) element builder for generic functions.
7293 _allTypeParameterTypes.addAll(typeParameterTypes); 7293 _allTypeParameterTypes.addAll(typeParameterTypes);
7294 _allTypeParameterTypes.addAll(allEnclosingTypeParameterTypes); 7294 _allTypeParameterTypes.addAll(allEnclosingTypeParameterTypes);
7295 } 7295 }
7296 return _allTypeParameterTypes; 7296 return _allTypeParameterTypes;
7297 } 7297 }
7298 7298
7299 /** 7299 /**
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
7613 7613
7614 @override 7614 @override
7615 void visitElement(Element element) { 7615 void visitElement(Element element) {
7616 int offset = element.nameOffset; 7616 int offset = element.nameOffset;
7617 if (offset != -1) { 7617 if (offset != -1) {
7618 map[offset] = element; 7618 map[offset] = element;
7619 } 7619 }
7620 super.visitElement(element); 7620 super.visitElement(element);
7621 } 7621 }
7622 } 7622 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/dart/element/type.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698