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

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

Issue 2641543003: Use "Object" as the reified type of covariant override parameters. (Closed)
Patch Set: Format. Created 3 years, 11 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/element.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 /** 5 /**
6 * Defines the element model. The element model describes the semantic (as 6 * Defines the element model. The element model describes the semantic (as
7 * opposed to syntactic) structure of Dart code. The syntactic structure of the 7 * opposed to syntactic) structure of Dart code. The syntactic structure of the
8 * code is modeled by the [AST structure](../ast/ast.dart). 8 * code is modeled by the [AST structure](../ast/ast.dart).
9 * 9 *
10 * The element model consists of two closely related kinds of objects: elements 10 * The element model consists of two closely related kinds of objects: elements
(...skipping 1556 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 * Clients may not extend, implement or mix-in this class. 1567 * Clients may not extend, implement or mix-in this class.
1568 */ 1568 */
1569 abstract class MethodElement implements ClassMemberElement, ExecutableElement { 1569 abstract class MethodElement implements ClassMemberElement, ExecutableElement {
1570 /** 1570 /**
1571 * An empty list of method elements. 1571 * An empty list of method elements.
1572 */ 1572 */
1573 static const List<MethodElement> EMPTY_LIST = const <MethodElement>[]; 1573 static const List<MethodElement> EMPTY_LIST = const <MethodElement>[];
1574 1574
1575 @override 1575 @override
1576 MethodDeclaration computeNode(); 1576 MethodDeclaration computeNode();
1577
1578 /**
1579 * Gets the reified type of a tear-off of this method.
1580 *
1581 * If any of the parameters in the method are covariant, they are replaced
1582 * with Object in the returned type. If no covariant parameters are present,
1583 * returns `this`.
1584 */
1585 FunctionType getReifiedType(DartType objectType);
1577 } 1586 }
1578 1587
1579 /** 1588 /**
1580 * A pseudo-element that represents multiple elements defined within a single 1589 * A pseudo-element that represents multiple elements defined within a single
1581 * scope that have the same name. This situation is not allowed by the language, 1590 * scope that have the same name. This situation is not allowed by the language,
1582 * so objects implementing this interface always represent an error. As a 1591 * so objects implementing this interface always represent an error. As a
1583 * result, most of the normal operations on elements do not make sense and will 1592 * result, most of the normal operations on elements do not make sense and will
1584 * return useless results. 1593 * return useless results.
1585 * 1594 *
1586 * Clients may not extend, implement or mix-in this class. 1595 * Clients may not extend, implement or mix-in this class.
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
2036 DartType get type; 2045 DartType get type;
2037 2046
2038 /** 2047 /**
2039 * Return a representation of the value of this variable, forcing the value 2048 * Return a representation of the value of this variable, forcing the value
2040 * to be computed if it had not previously been computed, or `null` if either 2049 * to be computed if it had not previously been computed, or `null` if either
2041 * this variable was not declared with the 'const' modifier or if the value of 2050 * this variable was not declared with the 'const' modifier or if the value of
2042 * this variable could not be computed because of errors. 2051 * this variable could not be computed because of errors.
2043 */ 2052 */
2044 DartObject computeConstantValue(); 2053 DartObject computeConstantValue();
2045 } 2054 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/dart/element/element.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698