mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 02:07:06 +00:00
Legacy. Deprecate LibraryElement.toLegacyElementIfOptOut
Change-Id: I2dceca5c2f0a5771a8f6aff79db3e32a7fa8993c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349984 Reviewed-by: Phil Quitslund <pquitslund@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
parent
e933cf570d
commit
648e43e34e
|
@ -1,5 +1,6 @@
|
|||
## 6.5.0-dev
|
||||
* Deprecated `LibraryElement.toLegacyTypeIfOptOut`.
|
||||
* Deprecated `LibraryElement.toLegacyElementIfOptOut`.
|
||||
|
||||
## 6.4.1
|
||||
* Patch for crash in ffi_verifier.
|
||||
|
|
|
@ -1875,6 +1875,7 @@ abstract class LibraryElement
|
|||
/// If a legacy library, returns the legacy view on the [element].
|
||||
///
|
||||
/// Otherwise, return the original element.
|
||||
@Deprecated('Only non-nullable by default mode is supported')
|
||||
T toLegacyElementIfOptOut<T extends Element>(T element);
|
||||
|
||||
/// If a legacy library, return the legacy version of the [type].
|
||||
|
|
|
@ -4516,10 +4516,10 @@ class LibraryElementImpl extends LibraryOrAugmentationElementImpl
|
|||
);
|
||||
}
|
||||
|
||||
@Deprecated('Only non-nullable by default mode is supported')
|
||||
@override
|
||||
T toLegacyElementIfOptOut<T extends Element>(T element) {
|
||||
if (isNonNullableByDefault) return element;
|
||||
return Member.legacy(element) as T;
|
||||
return element;
|
||||
}
|
||||
|
||||
@Deprecated('Only non-nullable by default mode is supported')
|
||||
|
|
|
@ -9,7 +9,6 @@ import 'package:analyzer/dart/element/type.dart';
|
|||
import 'package:analyzer/error/error.dart';
|
||||
import 'package:analyzer/error/listener.dart';
|
||||
import 'package:analyzer/src/dart/analysis/session.dart';
|
||||
import 'package:analyzer/src/dart/element/element.dart';
|
||||
import 'package:analyzer/src/dart/element/extensions.dart';
|
||||
import 'package:analyzer/src/dart/element/type.dart';
|
||||
import 'package:analyzer/src/dart/element/type_algebra.dart';
|
||||
|
@ -18,7 +17,6 @@ import 'package:analyzer/src/diagnostic/diagnostic_factory.dart';
|
|||
import 'package:analyzer/src/error/codes.dart';
|
||||
|
||||
class CorrectOverrideHelper {
|
||||
final LibraryElementImpl _library;
|
||||
final TypeSystemImpl _typeSystem;
|
||||
|
||||
final ExecutableElement _thisMember;
|
||||
|
@ -27,10 +25,9 @@ class CorrectOverrideHelper {
|
|||
final DiagnosticFactory _diagnosticFactory = DiagnosticFactory();
|
||||
|
||||
CorrectOverrideHelper({
|
||||
required LibraryElementImpl library,
|
||||
required TypeSystemImpl typeSystem,
|
||||
required ExecutableElement thisMember,
|
||||
}) : _library = library,
|
||||
_typeSystem = library.typeSystem,
|
||||
}) : _typeSystem = typeSystem,
|
||||
_thisMember = thisMember {
|
||||
_computeThisTypeForSubtype();
|
||||
}
|
||||
|
@ -39,8 +36,6 @@ class CorrectOverrideHelper {
|
|||
bool isCorrectOverrideOf({
|
||||
required ExecutableElement superMember,
|
||||
}) {
|
||||
superMember = _library.toLegacyElementIfOptOut(superMember);
|
||||
|
||||
var superType = superMember.type;
|
||||
return _typeSystem.isSubtypeOf(_thisTypeForSubtype!, superType);
|
||||
}
|
||||
|
|
|
@ -319,9 +319,8 @@ class _ClassVerifier {
|
|||
// diagnostic should be reported on the name of the mixin defining the
|
||||
// method. In other cases, it should be reported on the name of the
|
||||
// overriding method. The classNameNode is always wrong.
|
||||
concreteElement = library.toLegacyElementIfOptOut(concreteElement);
|
||||
CorrectOverrideHelper(
|
||||
library: library,
|
||||
typeSystem: typeSystem,
|
||||
thisMember: concreteElement,
|
||||
).verify(
|
||||
superMember: interfaceElement,
|
||||
|
@ -355,7 +354,7 @@ class _ClassVerifier {
|
|||
|
||||
var name = Name(libraryUri, member.name);
|
||||
var correctOverrideHelper = CorrectOverrideHelper(
|
||||
library: library,
|
||||
typeSystem: typeSystem,
|
||||
thisMember: member,
|
||||
);
|
||||
|
||||
|
|
|
@ -4057,7 +4057,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
|||
|
||||
if (mixinMember != null) {
|
||||
var isCorrect = CorrectOverrideHelper(
|
||||
library: _currentLibrary,
|
||||
typeSystem: typeSystem,
|
||||
thisMember: superMember,
|
||||
).isCorrectOverrideOf(
|
||||
superMember: mixinMember,
|
||||
|
@ -4239,9 +4239,6 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
|||
final superElement = superType.element;
|
||||
// try to find default generative super constructor
|
||||
var superUnnamedConstructor = superElement.unnamedConstructor;
|
||||
superUnnamedConstructor = superUnnamedConstructor != null
|
||||
? _currentLibrary.toLegacyElementIfOptOut(superUnnamedConstructor)
|
||||
: superUnnamedConstructor;
|
||||
if (superUnnamedConstructor != null) {
|
||||
if (superUnnamedConstructor.isFactory) {
|
||||
errorReporter.reportErrorForElement(
|
||||
|
@ -5073,9 +5070,6 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
|||
}
|
||||
|
||||
var superUnnamedConstructor = superElement.unnamedConstructor;
|
||||
superUnnamedConstructor = superUnnamedConstructor != null
|
||||
? _currentLibrary.toLegacyElementIfOptOut(superUnnamedConstructor)
|
||||
: superUnnamedConstructor;
|
||||
if (superUnnamedConstructor == null) {
|
||||
errorReporter.atNode(
|
||||
constructor.returnType,
|
||||
|
|
Loading…
Reference in a new issue