Skip to content

Commit 85dee97

Browse files
scheglovCommit Bot
authored and
Commit Bot
committed
Specify that 'get element' for FunctionType, RecordType and VoidType always return 'Null'.
Change-Id: I4bbf7aaef2afc3d9ad5d2f7da35a4c8bd9e39caa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256421 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent a95bf31 commit 85dee97

File tree

2 files changed

+32
-6
lines changed

2 files changed

+32
-6
lines changed

pkg/analyzer/lib/dart/element/type.dart

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,13 @@ abstract class DynamicType implements DartType {}
210210
///
211211
/// Clients may not extend, implement or mix-in this class.
212212
abstract class FunctionType implements DartType {
213+
@Deprecated('Use element2 instead')
214+
@override
215+
Null get element;
216+
217+
@override
218+
Null get element2;
219+
213220
/// Return a map from the names of named parameters to the types of the named
214221
/// parameters of this type of function. The entries in the map will be
215222
/// iterated in the same order as the order in which the named parameters were
@@ -436,10 +443,10 @@ abstract class ParameterizedType implements DartType {
436443
abstract class RecordType implements DartType {
437444
@Deprecated('Use element2 instead')
438445
@override
439-
Element? get element;
446+
Null get element;
440447

441448
@override
442-
Element? get element2;
449+
Null get element2;
443450

444451
/// The named fields (might be empty).
445452
List<RecordTypeNamedField> get namedFields;
@@ -497,4 +504,11 @@ abstract class TypeParameterType implements DartType {
497504

498505
/// The special type `void` is used to indicate that the value of an
499506
/// expression is meaningless, and intended to be discarded.
500-
abstract class VoidType implements DartType {}
507+
abstract class VoidType implements DartType {
508+
@Deprecated('Use element2 instead')
509+
@override
510+
Null get element;
511+
512+
@override
513+
Null get element2;
514+
}

pkg/analyzer/lib/src/dart/element/type.dart

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,12 @@ class FunctionTypeImpl extends TypeImpl implements FunctionType {
102102
}) : parameters = _sortNamedParameters(parameters),
103103
super(null, alias: alias);
104104

105+
@Deprecated('Use element2 instead')
106+
@override
107+
Null get element => null;
108+
105109
@override
106-
Element? get element2 => null;
110+
Null get element2 => null;
107111

108112
@override
109113
int get hashCode {
@@ -1010,8 +1014,12 @@ class RecordTypeImpl extends TypeImpl implements RecordType {
10101014
}) : namedFields = _sortNamedFields(namedFields),
10111015
super(null, alias: alias);
10121016

1017+
@Deprecated('Use element2 instead')
10131018
@override
1014-
Element? get element2 => null;
1019+
Null get element => null;
1020+
1021+
@override
1022+
Null get element2 => null;
10151023

10161024
@override
10171025
int get hashCode {
@@ -1448,8 +1456,12 @@ class VoidTypeImpl extends TypeImpl implements VoidType {
14481456
/// Prevent the creation of instances of this class.
14491457
VoidTypeImpl._() : super(null);
14501458

1459+
@Deprecated('Use element2 instead')
1460+
@override
1461+
Null get element => null;
1462+
14511463
@override
1452-
Element? get element2 => null;
1464+
Null get element2 => null;
14531465

14541466
@override
14551467
int get hashCode => 2;

0 commit comments

Comments
 (0)