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

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

Issue 1447373002: re-land Use FunctionElementImpl for inline function type parameters (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
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/error_verifier.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 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 4496 matching lines...) Expand 10 before | Expand all | Expand 10 after
4507 getNodeMatching((node) => node is FunctionDeclaration); 4507 getNodeMatching((node) => node is FunctionDeclaration);
4508 4508
4509 /** 4509 /**
4510 * Set the visible range for this element to the range starting at the given 4510 * Set the visible range for this element to the range starting at the given
4511 * [offset] with the given [length]. 4511 * [offset] with the given [length].
4512 */ 4512 */
4513 void setVisibleRange(int offset, int length) { 4513 void setVisibleRange(int offset, int length) {
4514 _visibleRangeOffset = offset; 4514 _visibleRangeOffset = offset;
4515 _visibleRangeLength = length; 4515 _visibleRangeLength = length;
4516 } 4516 }
4517
4518 /**
4519 * Set the parameters defined by this type alias to the given [parameters]
4520 * without becoming the parent of the parameters. This should only be used by
4521 * the [TypeResolverVisitor] when creating a synthetic type alias.
4522 */
4523 void shareParameters(List<ParameterElement> parameters) {
4524 this._parameters = parameters;
4525 }
4517 } 4526 }
4518 4527
4519 /** 4528 /**
4520 * The type of a function, method, constructor, getter, or setter. Function 4529 * The type of a function, method, constructor, getter, or setter. Function
4521 * types come in three variations: 4530 * types come in three variations:
4522 * 4531 *
4523 * * The types of functions that only have required parameters. These have the 4532 * * The types of functions that only have required parameters. These have the
4524 * general form <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>) &rarr; T</i>. 4533 * general form <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>) &rarr; T</i>.
4525 * * The types of functions with optional positional parameters. These have the 4534 * * The types of functions with optional positional parameters. These have the
4526 * general form <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, [T<sub>n+1</sub> 4535 * general form <i>(T<sub>1</sub>, &hellip;, T<sub>n</sub>, [T<sub>n+1</sub>
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
4813 } 4822 }
4814 for (TypeParameterElement typeParameter in _typeParameters) { 4823 for (TypeParameterElement typeParameter in _typeParameters) {
4815 if ((typeParameter as TypeParameterElementImpl).identifier == 4824 if ((typeParameter as TypeParameterElementImpl).identifier ==
4816 identifier) { 4825 identifier) {
4817 return typeParameter as TypeParameterElementImpl; 4826 return typeParameter as TypeParameterElementImpl;
4818 } 4827 }
4819 } 4828 }
4820 return null; 4829 return null;
4821 } 4830 }
4822 4831
4823 /**
4824 * Set the parameters defined by this type alias to the given [parameters]
4825 * without becoming the parent of the parameters. This should only be used by
4826 * the [TypeResolverVisitor] when creating a synthetic type alias.
4827 */
4828 void shareParameters(List<ParameterElement> parameters) {
4829 this._parameters = parameters;
4830 }
4831
4832 /**
4833 * Set the type parameters defined for this type to the given [typeParameters]
4834 * without becoming the parent of the parameters. This should only be used by
4835 * the [TypeResolverVisitor] when creating a synthetic type alias.
4836 */
4837 void shareTypeParameters(List<TypeParameterElement> typeParameters) {
4838 this._typeParameters = typeParameters;
4839 }
4840
4841 @override 4832 @override
4842 void visitChildren(ElementVisitor visitor) { 4833 void visitChildren(ElementVisitor visitor) {
4843 super.visitChildren(visitor); 4834 super.visitChildren(visitor);
4844 safelyVisitChildren(_parameters, visitor); 4835 safelyVisitChildren(_parameters, visitor);
4845 safelyVisitChildren(_typeParameters, visitor); 4836 safelyVisitChildren(_typeParameters, visitor);
4846 } 4837 }
4847 } 4838 }
4848 4839
4849 /** 4840 /**
4850 * The type of a function, method, constructor, getter, or setter. 4841 * The type of a function, method, constructor, getter, or setter.
(...skipping 6303 matching lines...) Expand 10 before | Expand all | Expand 10 after
11154 11145
11155 @override 11146 @override
11156 void visitElement(Element element) { 11147 void visitElement(Element element) {
11157 int offset = element.nameOffset; 11148 int offset = element.nameOffset;
11158 if (offset != -1) { 11149 if (offset != -1) {
11159 map[offset] = element; 11150 map[offset] = element;
11160 } 11151 }
11161 super.visitElement(element); 11152 super.visitElement(element);
11162 } 11153 }
11163 } 11154 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/error_verifier.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698