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

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

Issue 1442883003: generic method type parameter inference (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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
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 engine.element; 5 library engine.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/src/generated/utilities_general.dart'; 10 import 'package:analyzer/src/generated/utilities_general.dart';
(...skipping 9265 matching lines...) Expand 10 before | Expand all | Expand 10 after
9276 9276
9277 @override 9277 @override
9278 ParameterElement get baseElement => super.baseElement as ParameterElement; 9278 ParameterElement get baseElement => super.baseElement as ParameterElement;
9279 9279
9280 @override 9280 @override
9281 String get defaultValueCode => baseElement.defaultValueCode; 9281 String get defaultValueCode => baseElement.defaultValueCode;
9282 9282
9283 @override 9283 @override
9284 Element get enclosingElement => baseElement.enclosingElement; 9284 Element get enclosingElement => baseElement.enclosingElement;
9285 9285
9286 int get hashCode => baseElement.hashCode;
Leaf 2015/11/20 02:09:43 @override? Seems to be used elsewhere this is ove
Jennifer Messerly 2015/11/20 17:09:46 Done.
9287
9286 @override 9288 @override
9287 bool get isInitializingFormal => baseElement.isInitializingFormal; 9289 bool get isInitializingFormal => baseElement.isInitializingFormal;
9288 9290
9289 @override 9291 @override
9290 ParameterKind get parameterKind => baseElement.parameterKind; 9292 ParameterKind get parameterKind => baseElement.parameterKind;
9291 9293
9292 @override 9294 @override
9293 List<ParameterElement> get parameters { 9295 List<ParameterElement> get parameters {
9294 List<ParameterElement> baseParameters = baseElement.parameters; 9296 List<ParameterElement> baseParameters = baseElement.parameters;
9295 int parameterCount = baseParameters.length; 9297 int parameterCount = baseParameters.length;
9296 if (parameterCount == 0) { 9298 if (parameterCount == 0) {
9297 return baseParameters; 9299 return baseParameters;
9298 } 9300 }
9299 List<ParameterElement> parameterizedParameters = 9301 List<ParameterElement> parameterizedParameters =
9300 new List<ParameterElement>(parameterCount); 9302 new List<ParameterElement>(parameterCount);
9301 for (int i = 0; i < parameterCount; i++) { 9303 for (int i = 0; i < parameterCount; i++) {
9302 parameterizedParameters[i] = 9304 parameterizedParameters[i] =
9303 ParameterMember.from(baseParameters[i], definingType); 9305 ParameterMember.from(baseParameters[i], definingType);
9304 } 9306 }
9305 return parameterizedParameters; 9307 return parameterizedParameters;
9306 } 9308 }
9307 9309
9308 @override 9310 @override
9309 List<TypeParameterElement> get typeParameters => baseElement.typeParameters; 9311 List<TypeParameterElement> get typeParameters => baseElement.typeParameters;
9310 9312
9311 @override 9313 @override
9312 SourceRange get visibleRange => baseElement.visibleRange; 9314 SourceRange get visibleRange => baseElement.visibleRange;
9313 9315
9314 @override 9316 @override
9317 bool operator ==(Object object) =>
Leaf 2015/11/20 02:09:43 Was this a bug? Why did this need to change?
Jennifer Messerly 2015/11/20 17:09:46 yeah, generally these exist on Elements, and they
9318 object is ParameterMember && baseElement == object.baseElement;
9319
9320 @override
9315 accept(ElementVisitor visitor) => visitor.visitParameterElement(this); 9321 accept(ElementVisitor visitor) => visitor.visitParameterElement(this);
9316 9322
9317 @override 9323 @override
9318 FormalParameter computeNode() => baseElement.computeNode(); 9324 FormalParameter computeNode() => baseElement.computeNode();
9319 9325
9320 @override 9326 @override
9321 Element getAncestor(Predicate<Element> predicate) { 9327 Element getAncestor(Predicate<Element> predicate) {
9322 Element element = baseElement.getAncestor(predicate); 9328 Element element = baseElement.getAncestor(predicate);
9323 ParameterizedType definingType = this.definingType; 9329 ParameterizedType definingType = this.definingType;
9324 if (definingType is InterfaceType) { 9330 if (definingType is InterfaceType) {
(...skipping 1820 matching lines...) Expand 10 before | Expand all | Expand 10 after
11145 11151
11146 @override 11152 @override
11147 void visitElement(Element element) { 11153 void visitElement(Element element) {
11148 int offset = element.nameOffset; 11154 int offset = element.nameOffset;
11149 if (offset != -1) { 11155 if (offset != -1) {
11150 map[offset] = element; 11156 map[offset] = element;
11151 } 11157 }
11152 super.visitElement(element); 11158 super.visitElement(element);
11153 } 11159 }
11154 } 11160 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698