[3.0 alpha] Remove deprecated dart:core apis

- Remove `proxy` and `Provisional` annotations.
  - Remove `Deprecated.expires` getter.

Change-Id: I4521b48bb92e5f8420c778686f4efa9c6426cebb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258004
Commit-Queue: Lasse Nielsen <lrn@google.com>
Reviewed-by: Brian Quinlan <bquinlan@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
This commit is contained in:
Lasse R.H. Nielsen 2022-12-12 11:46:58 +00:00 committed by Lasse Nielsen
parent 3ed65601b0
commit 767049139a
22 changed files with 19 additions and 1827 deletions

View file

@ -7,10 +7,21 @@
- **Breaking change** [#49529][]:
- Removed the deprecated [`NoSuchMethodError`][] default constructor.
Use the [`NoSuchMethodError.withInvocation`][] named constructor instead.
- Removed the deprecated [`proxy`][] and [`Provisional`][] annotations.
The original `proxy` annotation has no effect in Dart 2,
and the `Provisional` type and [`provisional`][] constant
were only used internally during the Dart 2.0 development process.
- Removed the deprecated [`Deprecated.expires`][] getter.
Use [`Deprecated.message`][] instead.
[#49529]: https://github.com/dart-lang/sdk/issues/49529
[`Deprecated.expires`]: https://api.dart.dev/stable/2.18.4/dart-core/Deprecated/expires.html
[`Deprecated.message`]: https://api.dart.dev/stable/2.18.4/dart-core/Deprecated/message.html
[`NoSuchMethodError`]: https://api.dart.dev/stable/2.18.4/dart-core/NoSuchMethodError/NoSuchMethodError.html
[`NoSuchMethodError.withInvocation`]: https://api.dart.dev/stable/2.18.4/dart-core/NoSuchMethodError/NoSuchMethodError.withInvocation.html
[`Provisional`]: https://api.dart.dev/stable/2.18.4/dart-core/Provisional-class.html
[`provisional`]: https://api.dart.dev/stable/2.18.4/dart-core/provisional-constant.html
[`proxy`]: https://api.dart.dev/stable/2.18.4/dart-core/proxy-constant.html
#### `dart:html`
@ -130,7 +141,6 @@
constructor.
- Deprecated `NullThrownError` and `CyclicInitializationError`.
Neither error is thrown by null safe code.
[#49529]: https://github.com/dart-lang/sdk/issues/49529
[#24644]: https://github.com/dart-lang/sdk/issues/24644
@ -342,7 +352,7 @@ Updated the Linter to `1.31.0`, which includes changes that
- Update `dart pub publish` to require a working resolution.
If publishing a breaking release of mutually dependent packages use `dependency_overrides`
to obtain a resolution.
- `dart pub add` will now allow adding multiple packages from any source using
- `dart pub add` will now allow adding multiple packages from any source using
the same YAML syntax as in `pubspec.yaml`.
For example:

View file

@ -1943,10 +1943,6 @@ class ElementAnnotationImpl implements ElementAnnotation {
/// protected.
static const String _protectedVariableName = 'protected';
/// The name of the top-level variable used to mark a class as implementing a
/// proxy object.
static const String _proxyVariableName = 'proxy';
/// The name of the class used to mark a parameter as being required.
static const String _requiredClassName = 'Required';
@ -2081,7 +2077,7 @@ class ElementAnnotationImpl implements ElementAnnotation {
bool get isProtected => _isPackageMetaGetter(_protectedVariableName);
@override
bool get isProxy => _isDartCoreGetter(_proxyVariableName);
bool get isProxy => false;
@override
bool get isRequired =>

View file

@ -274,8 +274,6 @@ const deprecated = const Deprecated("next release");
const override = const _Override();
const proxy = const _Proxy();
external bool identical(Object? a, Object? b);
void print(Object? object) {}
@ -318,8 +316,8 @@ class DateTime extends Object {
}
class Deprecated extends Object {
final String expires;
const Deprecated(this.expires);
final String message;
const Deprecated(this.message);
}
class pragma {
@ -669,10 +667,6 @@ class _Override {
const _Override();
}
class _Proxy {
const _Proxy();
}
@Since("2.15")
extension EnumName on Enum {
String get name => _name;

View file

@ -52,7 +52,6 @@ class _MockSdkElementsBuilder {
ClassElementImpl? _numElement;
ClassElementImpl? _objectElement;
ClassElementImpl? _overrideElement;
ClassElementImpl? _proxyElement;
ClassElementImpl? _recordElement;
ClassElementImpl? _setElement;
ClassElementImpl? _stackTraceElement;
@ -628,20 +627,6 @@ class _MockSdkElementsBuilder {
return overrideElement;
}
ClassElementImpl get proxyElement {
var proxyElement = _proxyElement;
if (proxyElement != null) return proxyElement;
_proxyElement = proxyElement = _class(name: '_Proxy');
proxyElement.supertype = objectType;
proxyElement.constructors = [
_constructor(isConst: true),
];
return proxyElement;
}
ClassElementImpl get recordElement {
var recordElement = _recordElement;
if (recordElement != null) return recordElement;
@ -930,7 +915,6 @@ class _MockSdkElementsBuilder {
numElement,
objectElement,
overrideElement,
proxyElement,
recordElement,
setElement,
stackTraceElement,
@ -959,20 +943,13 @@ class _MockSdkElementsBuilder {
_interfaceType(overrideElement),
);
var proxyVariable = _topLevelVariableConst(
'proxy',
_interfaceType(proxyElement),
);
coreUnit.accessors = <PropertyAccessorElementImpl>[
deprecatedVariable.getter!,
overrideVariable.getter!,
proxyVariable.getter!,
];
coreUnit.topLevelVariables = <TopLevelVariableElementImpl>[
deprecatedVariable,
overrideVariable,
proxyVariable,
];
var coreLibrary = LibraryElementImpl(

View file

@ -78,70 +78,6 @@ class Z {
''');
}
test_proxy_annotation_prefixed() async {
await assertErrorsInCode(r'''
library L;
@proxy
class A {}
f(var a) {
a = new A();
a.m();
var x = a.g;
a.s = 1;
var y = a + a;
a++;
++a;
}
''', [
error(HintCode.UNUSED_LOCAL_VARIABLE, 70, 1),
error(HintCode.UNUSED_LOCAL_VARIABLE, 96, 1),
]);
}
test_proxy_annotation_prefixed2() async {
await assertErrorsInCode(r'''
library L;
@proxy
class A {}
class B {
f(var a) {
a = new A();
a.m();
var x = a.g;
a.s = 1;
var y = a + a;
a++;
++a;
}
}
''', [
error(HintCode.UNUSED_LOCAL_VARIABLE, 88, 1),
error(HintCode.UNUSED_LOCAL_VARIABLE, 118, 1),
]);
}
test_proxy_annotation_prefixed3() async {
await assertErrorsInCode(r'''
library L;
class B {
f(var a) {
a = new A();
a.m();
var x = a.g;
a.s = 1;
var y = a + a;
a++;
++a;
}
}
@proxy
class A {}
''', [
error(HintCode.UNUSED_LOCAL_VARIABLE, 70, 1),
error(HintCode.UNUSED_LOCAL_VARIABLE, 100, 1),
]);
}
test_undefinedMethod_assignmentExpression_inSubtype() async {
await assertNoErrorsInCode(r'''
class A {}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// Copyright (c) 2019, the Dart propject authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@ -463,22 +463,6 @@ void f(A a) {
''');
}
test_proxy_annotation_fakeProxy() async {
await assertErrorsInCode(r'''
library L;
class Fake {
const Fake();
}
const proxy = const Fake();
@proxy class PrefixProxy {}
main() {
new PrefixProxy().foo;
}
''', [
error(CompileTimeErrorCode.UNDEFINED_GETTER, 127, 3),
]);
}
test_static_conditionalAccess_defined() async {
await assertErrorsInCode(
'''

View file

@ -2825,53 +2825,6 @@ class Child extends helper.Base {
]);
}
test_proxy() {
return assertErrorsInCode(r'''
@proxy class C {}
@proxy class D {
var f;
m() => null;
operator -() => null;
operator +(int other) => null;
operator [](int index) => null;
call() => null;
}
@proxy class F implements Function { noSuchMethod(i) => 42; }
m() {
D d = new D();
d.m();
d.m;
d.f;
-d;
d + 7;
d[7];
d();
C c = new C();
c.m();
c.m;
-c;
c + 7;
c[7];
c();
F f = new F();
f();
}
''', [
error(HintCode.DEPRECATED_IMPLEMENTS_FUNCTION, 197, 8),
error(CompileTimeErrorCode.UNDEFINED_METHOD, 332, 1),
error(CompileTimeErrorCode.UNDEFINED_GETTER, 341, 1),
error(CompileTimeErrorCode.UNDEFINED_OPERATOR, 346, 1),
error(CompileTimeErrorCode.UNDEFINED_OPERATOR, 354, 1),
error(CompileTimeErrorCode.UNDEFINED_OPERATOR, 362, 3),
error(CompileTimeErrorCode.INVOCATION_OF_NON_FUNCTION_EXPRESSION, 369, 1),
error(CompileTimeErrorCode.INVOCATION_OF_NON_FUNCTION_EXPRESSION, 394, 1),
]);
}
test_redirectingConstructor() async {
await assertErrorsInCode('''
class A {

View file

@ -65,8 +65,8 @@ class DateTime extends Object {}
class Null extends Object {}
class Deprecated extends Object {
final String expires;
const Deprecated(this.expires);
final String message;
const Deprecated(this.message);
}
const Object deprecated = const Deprecated("next release");

View file

@ -93,7 +93,6 @@ import self as self2;
import "dart:core" as core;
import "dart:async" as asy;
additionalExports = (core::Deprecated,
core::Provisional,
core::pragma,
core::BigInt,
core::bool,
@ -164,8 +163,6 @@ additionalExports = (core::Deprecated,
core::Comparator,
core::deprecated,
core::override,
core::provisional,
core::proxy,
asy::Future,
asy::Stream,
asy::FutureExtensions)

View file

@ -28,7 +28,6 @@ import self as self2;
import "dart:core" as core;
import "dart:async" as asy;
additionalExports = (core::Deprecated,
core::Provisional,
core::pragma,
core::BigInt,
core::bool,
@ -99,8 +98,6 @@ additionalExports = (core::Deprecated,
core::Comparator,
core::deprecated,
core::override,
core::provisional,
core::proxy,
asy::Future,
asy::Stream,
asy::FutureExtensions)

View file

@ -89,7 +89,6 @@ import self as self2;
import "dart:core" as core;
import "dart:async" as asy;
additionalExports = (core::Deprecated,
core::Provisional,
core::pragma,
core::BigInt,
core::bool,
@ -160,8 +159,6 @@ additionalExports = (core::Deprecated,
core::Comparator,
core::deprecated,
core::override,
core::provisional,
core::proxy,
asy::Future,
asy::Stream,
asy::FutureExtensions)

View file

@ -5,8 +5,6 @@ additionalExports = (asy::Future,
asy::Stream,
core::deprecated,
core::override,
core::provisional,
core::proxy,
core::identical,
core::identityHashCode,
core::print,
@ -48,7 +46,6 @@ additionalExports = (asy::Future,
core::Object,
core::OutOfMemoryError,
core::Pattern,
core::Provisional,
core::RangeError,
core::Record,
core::RegExp,

View file

@ -5,8 +5,6 @@ additionalExports = (asy::Future,
asy::Stream,
core::deprecated,
core::override,
core::provisional,
core::proxy,
core::identical,
core::identityHashCode,
core::print,
@ -48,7 +46,6 @@ additionalExports = (asy::Future,
core::Object,
core::OutOfMemoryError,
core::Pattern,
core::Provisional,
core::RangeError,
core::Record,
core::RegExp,

View file

@ -1,284 +0,0 @@
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// VMOptions=--use_slow_path --deterministic
// Reduced from:
// The Dart Project Fuzz Tester (1.91).
// Program generated as:
// dart dartfuzz.dart --seed 1339276199 --no-fp --no-ffi --no-flat
// @dart=2.14
import 'dart:collection';
import 'dart:typed_data';
MapEntry<Map<bool, int>, List<String>>? var0 =
MapEntry<Map<bool, int>, List<String>>(
<bool, int>{true: -32, true: 47, false: -11, false: 9, false: -69},
<String>['n', 'Rz!4\u2665']);
Uint8List? var9 = Uint8List.fromList(Uint64List.fromList(
Int64List.fromList(Int16List.fromList(Int16List.fromList(Uint8List(38))))));
Uint8ClampedList var10 = Uint8ClampedList.fromList(
Int32List.fromList(Uint64List.fromList(<int>[-27, -74])));
Uint8ClampedList? var11 = Uint8ClampedList(31);
Int16List var12 = Int16List(5);
Int16List? var13 = Int16List(44);
Uint16List var14 = Uint16List.fromList(<int>[-96, 24, -43, -9]);
Uint16List? var15 = Uint16List.fromList(Int8List.fromList(Int32List(34)));
Int32List var16 = Int32List(7);
Int32List? var17 =
Int32List.fromList(<int>[-67, if (false) -98 else -36, -4294967295]);
Uint32List var18 = Uint32List(28);
Uint32List? var19 = Uint32List(18);
Int64List var20 = Int64List.fromList(Uint64List.fromList(Uint16List(47)));
Int64List? var21 = Int64List(1);
Uint64List var22 = Uint64List(49);
Uint64List? var23 = Uint64List(43);
Int32x4List var24 = Int32x4List(45);
Int32x4List? var25 = Int32x4List(46);
Int32x4 var26 = Int32x4(46, 24, 23, 15);
Int32x4? var27 = Int32x4(20, 28, 20, 2);
Deprecated var28 = Deprecated('G-Ki');
Deprecated? var29 = Deprecated('#Ww');
Provisional var30 = Provisional();
Provisional? var31 = Provisional();
bool var32 = bool.fromEnvironment('');
bool? var33 = bool.hasEnvironment('P9LY');
Duration var34 = Duration();
Duration? var35 = Duration();
Error var36 = Error();
Error? var37 = Error();
AssertionError var38 = AssertionError(17);
AssertionError? var39 = AssertionError(8);
TypeError var40 = TypeError();
TypeError? var41 = TypeError();
CastError var42 = CastError();
CastError? var43 = new CastError();
NullThrownError var44 = NullThrownError();
NullThrownError? var45 = new NullThrownError();
ArgumentError var46 = ArgumentError.value(22, 'K90\u{1f600}QtS', 33);
ArgumentError? var47 = ArgumentError.notNull(')');
RangeError var48 = RangeError.range(2, 23, 36, 'H', 'w&');
RangeError? var49 = new RangeError(22);
IndexError var50 =
IndexError.withLength(15, 1, indexable: 14, name: 'ZuC', message: '#1z9xJ');
IndexError? var51 = IndexError.withLength(14, 2,
indexable: 36, name: 'V(', message: '9Jf!0\u2665');
FallThroughError var52 = FallThroughError();
FallThroughError? var53 = FallThroughError();
UnsupportedError var56 = UnsupportedError('5txzg');
UnsupportedError? var57 = UnsupportedError('W4vVdfv');
UnimplementedError var58 = UnimplementedError('pK00TI\u2665');
UnimplementedError? var59 = UnimplementedError('J(teto2');
StateError var60 = StateError('L\u2665');
StateError? var61 = StateError('e\u2665mykMK');
ConcurrentModificationError var62 = new ConcurrentModificationError(22);
ConcurrentModificationError? var63 = ConcurrentModificationError(7);
StackOverflowError var64 = StackOverflowError();
StackOverflowError? var65 = new StackOverflowError();
CyclicInitializationError var66 = CyclicInitializationError('\u{1f600}');
CyclicInitializationError? var67 = CyclicInitializationError('C');
Exception var68 = Exception(14);
Exception? var69 = Exception(40);
FormatException var70 = FormatException('\u{1f600}lv32', 21, 28);
FormatException? var71 = FormatException('e', 19, 12);
IntegerDivisionByZeroException var72 = IntegerDivisionByZeroException();
IntegerDivisionByZeroException? var73 = IntegerDivisionByZeroException();
int var74 = 40;
int? var75 = -44;
Null var76 = null;
Null? var77 = null;
num var78 = 42;
num? var79 = -85;
RegExp var80 = new RegExp('M5O');
RegExp? var81 = RegExp('Fs2');
String var82 = 'W6';
String? var83 = 'h';
Runes var84 = Runes('+');
Runes? var85 = Runes('');
RuneIterator var86 = RuneIterator('\u2665w');
RuneIterator? var87 = new RuneIterator('iNEK\u{1f600}');
StringBuffer var88 = StringBuffer(47);
StringBuffer? var89 = StringBuffer(5);
Symbol var90 = new Symbol('q\u{1f600}');
Symbol? var91 = new Symbol('&j5');
Expando<bool> var92 = Expando<bool>(' ');
Expando<bool>? var93 = Expando<bool>('f5B');
Expando<int> var94 = Expando<int>('');
Expando<int>? var95 = Expando<int>('\u{1f600}1AwU\u2665C');
Expando<String> var96 = Expando<String>('Xzj(d');
Expando<String>? var97 = Expando<String>('Ulsd');
List<bool> var98 = <bool>[false, false, false];
List<bool>? var99 = <bool>[false, false, false, true];
List<int> var100 = Uint8ClampedList(17);
List<int>? var101 = Uint8ClampedList(40);
List<String> var102 = <String>['Y h', 'f', '\u{1f600}ip dQ', ')p', '2Qo'];
List<String>? var103 = <String>[
'BQ(6-',
'\u{1f600}6\u2665yJaC',
'3wa',
'VJ',
'k',
''
];
Set<bool> var104 = <bool>{false, true, false};
Set<bool>? var105 = <bool>{false, true, false, true, false, false};
Set<int> var106 = <int>{44, 11};
Set<int>? var107 = <int>{if (false) -94, 35};
Set<String> var108 = <String>{''};
Set<String>? var109 = <String>{'4'};
Map<bool, bool> var110 = <bool, bool>{
false: true,
false: true,
false: true,
true: false
};
Map<bool, bool>? var111 = <bool, bool>{
false: false,
true: false,
false: false,
true: false
};
Map<bool, int> var112 = <bool, int>{
true: 35,
true: -4,
true: -14,
false: 30,
false: -25
};
Map<bool, int>? var113 = null;
Map<bool, String> var114 = <bool, String>{
false: '7d',
false: '\u{1f600}sv+',
false: 'aY',
false: 'dt'
};
Map<bool, String>? var115 = <bool, String>{
false: '',
false: '(G7\u{1f600}TBN',
true: '',
true: 'zZ-\u{1f600}\u2665)X',
false: ')-9',
false: ''
};
Map<int, bool> var116 = <int, bool>{
3: true,
10: true,
-59: true,
15: false,
-36: true
};
Map<int, bool>? var117 = <int, bool>{16: false, 0: false};
Map<int, int> var118 = <int, int>{
-92: 29,
-12: 40,
-29: -26,
-21: 1,
13: 28,
28: -44
};
Map<int, int>? var119 = <int, int>{-54: -37};
Map<int, String> var120 = <int, String>{-80: '', -62: 'h', 40: 'C\u2665FVU'};
Map<int, String>? var121 = <int, String>{
...<int, String>{
-8: 'S\u{1f600}kjRb',
23: '4',
-9223372034707292160: '',
28: 'uz',
-69: '@'
},
-53: 'nU6f',
-5: '',
-9223372034707292159: '',
20: 'h7EB+'
};
Map<String, bool> var122 = <String, bool>{'8+G': false};
Map<String, bool>? var123 = <String, bool>{'rM9m6k': true, '2': true};
Map<String, int> var124 = <String, int>{'Z+p@\u2665Ww': -55};
Map<String, int>? var125 = <String, int>{'9': -2147483647, 'uQ': 40};
Map<String, String> var126 = <String, String>{
'Q!': ' V\u{1f600}A2\u{1f600}',
'z': '\u2665)',
'cM@7\u{1f600}': 'XUT',
'oLoh': 'bLPrZ',
'YmR67nj': 'BdeuR'
};
Map<String, String>? var127 = <String, String>{'nOsSM1': '3 @yIj'};
MapEntry<bool, bool> var128 = MapEntry<bool, bool>(true, false);
MapEntry<bool, bool>? var129 = MapEntry<bool, bool>(true, false);
MapEntry<bool, int> var130 = MapEntry<bool, int>(false, 13);
MapEntry<bool, int>? var131 = MapEntry<bool, int>(true, 31);
MapEntry<bool, String> var132 =
MapEntry<bool, String>(true, '\u26653KE\u{1f600}');
MapEntry<bool, String>? var133 = MapEntry<bool, String>(false, 'd');
MapEntry<int, bool> var134 = MapEntry<int, bool>(46, true);
MapEntry<int, bool>? var135 = MapEntry<int, bool>(34, false);
MapEntry<int, int> var136 = MapEntry<int, int>(22, 30);
MapEntry<int, int>? var137 = MapEntry<int, int>(30, 48);
MapEntry<int, String> var138 = MapEntry<int, String>(46, 'by#@-nv');
MapEntry<int, String>? var139 = MapEntry<int, String>(49, 'N@KF');
MapEntry<String, bool> var140 =
MapEntry<String, bool>('\u{1f600}km\u2665', true);
MapEntry<String, bool>? var141 = new MapEntry<String, bool>('7PZX', false);
MapEntry<String, int> var142 = new MapEntry<String, int>('OE', 27);
Map<String, Map<String, bool>> var446 = <String, Map<String, bool>>{
'YJ\u{1f600}': <String, bool>{'BcKzE': true, 'Cz1A+n': false, '': true},
'u!KEz9I': <String, bool>{
'\u26653Hjr': true,
'-\u{1f600}': true,
'': true,
')-': false,
'ygN': true
},
'+R6': <String, bool>{'ta\u2665dKu)': true, 'rao9j': true},
'YGXS!': <String, bool>{
'': false,
'6R': false,
'': true,
'MV\u{1f600} PP': true
}
};
Map<MapEntry<String, int>, Map<int, bool>> var2000 =
<MapEntry<String, int>, Map<int, bool>>{
new MapEntry<String, int>('', 7): <int, bool>{
-55: true,
4294967295: false,
48: true,
-1: true,
-96: false
},
MapEntry<String, int>('ORLVr', 1): <int, bool>{
-21: false,
4294967297: false,
-12: false,
-84: false
}
};
void foo1_Extension0() {
var446.forEach((loc0, loc1) {
for (int loc2 = 0; loc2 < 34; loc2++) {
print(<MapEntry<bool, bool>, String>{
MapEntry<bool, bool>(true, false): 'pqKqb',
MapEntry<bool, bool>(true, true): 'Fkx',
MapEntry<bool, bool>(true, false): '',
MapEntry<bool, bool>(false, true): 'fJvVWOW',
MapEntry<bool, bool>(false, true): 'q\u2665NR',
MapEntry<bool, bool>(false, true): '\u2665'
});
var2000.forEach((loc3, loc4) {
print(MapEntry<Map<bool, String>, MapEntry<int, bool>>(
<bool, String>{false: 'L'}, MapEntry<int, bool>(42, false)));
});
}
});
}
main() {
foo1_Extension0();
print(
'$var0\n$var9\n$var11\n$var12\n$var13\n$var14\n$var15\n$var16\n$var17\n$var18\n$var19\n$var20\n$var21\n$var22\n$var23\n$var24\n$var25\n$var26\n$var27\n$var28\n$var29\n$var30\n$var31\n$var32\n$var33\n$var34\n$var35\n$var36\n$var37\n$var38\n$var39\n$var40\n$var41\n$var42\n$var43\n$var44\n$var45\n$var46\n$var47\n$var48\n$var49\n$var50\n$var51\n$var52\n$var53\n$var56\n$var57\n$var58\n$var59\n$var60\n$var61\n$var62\n$var63\n$var64\n$var65\n$var66\n$var67\n$var68\n$var69\n$var70\n$var71\n$var72\n$var73\n$var74\n$var75\n$var76\n$var77\n$var78\n$var79\n$var80\n$var81\n$var82\n$var83\n$var84\n$var85\n$var86\n$var87\n$var88\n$var89\n$var90\n$var91\n$var92\n$var93\n$var94\n$var95\n$var96\n$var97\n$var98\n$var99\n$var100\n$var101\n$var102\n$var103\n$var104\n$var105\n$var106\n$var107\n$var108\n$var109\n$var110\n$var111\n$var112\n$var113\n$var114\n$var115\n$var116\n$var117\n$var118\n$var119\n$var120\n$var121\n$var122\n$var123\n$var124\n$var125\n$var126\n$var127\n$var128\n$var129\n$var130\n$var131\n$var132\n');
}

File diff suppressed because it is too large Load diff

View file

@ -14,7 +14,7 @@ import 'dartfuzz_type_table.dart';
// Version of DartFuzz. Increase this each time changes are made
// to preserve the property that a given version of DartFuzz yields
// the same fuzzed program for a deterministic random seed.
const String version = '1.94';
const String version = '1.95';
// Restriction on statements and expressions.
const int stmtDepth = 1;

View file

@ -66,8 +66,6 @@ class DartLib {
DartType.LIST_INT_NULLABLE: listLibsNullable,
DartType.MAP_INT_STRING: mapLibs,
DartType.MAP_INT_STRING_NULLABLE: mapLibsNullable,
DartType.NULL: nullLibs,
DartType.NULL_NULLABLE: nullLibsNullable,
DartType.RUNEITERATOR: runeIteratorLibs,
DartType.RUNEITERATOR_NULLABLE: runeIteratorLibsNullable,
DartType.RUNES: runesLibs,
@ -1955,14 +1953,6 @@ class DartLib {
DartLib('Map<int, String>.unmodifiable',
[DartType.VOID, DartType.MAP_INT_STRING], true),
];
static const nullLibs = [
DartLib('provisional', [DartType.VOID, DartType.VOID], false),
DartLib('proxy', [DartType.VOID, DartType.VOID], false),
];
static const nullLibsNullable = [
DartLib('provisional', [DartType.VOID, DartType.VOID], false),
DartLib('proxy', [DartType.VOID, DartType.VOID], false),
];
static const runeIteratorLibs = [
DartLib('iterator', [DartType.RUNES, DartType.VOID], false),
];
@ -2004,7 +1994,6 @@ class DartLib {
DartLib('base64Encode', [DartType.VOID, DartType.LIST_INT], true),
DartLib('base64UrlEncode', [DartType.VOID, DartType.LIST_INT], true),
DartLib('currentAsString', [DartType.RUNEITERATOR, DartType.VOID], false),
DartLib('expires', [DartType.DEPRECATED, DartType.VOID], false),
DartLib('message', [DartType.DEPRECATED, DartType.VOID], false),
DartLib('message', [DartType.FORMATEXCEPTION, DartType.VOID], false),
DartLib('message', [DartType.STATEERROR, DartType.VOID], false),
@ -2072,12 +2061,10 @@ class DartLib {
DartLib('base64Encode', [DartType.VOID, DartType.LIST_INT], true),
DartLib('base64UrlEncode', [DartType.VOID, DartType.LIST_INT], true),
DartLib('currentAsString', [DartType.RUNEITERATOR, DartType.VOID], false),
DartLib('expires', [DartType.DEPRECATED, DartType.VOID], false),
DartLib('message', [DartType.DEPRECATED, DartType.VOID], false),
DartLib('message', [DartType.FORMATEXCEPTION, DartType.VOID], false),
DartLib('message', [DartType.INTEGERDIVISIONBYZEROEXCEPTION, DartType.VOID],
false),
DartLib('message', [DartType.PROVISIONAL, DartType.VOID], false),
DartLib('message', [DartType.STATEERROR, DartType.VOID], false),
DartLib('message', [DartType.UNIMPLEMENTEDERROR, DartType.VOID], false),
DartLib('message', [DartType.UNSUPPORTEDERROR, DartType.VOID], false),

View file

@ -76,9 +76,6 @@ class Deprecated {
/// is expected to be removed.
const Deprecated(this.message);
@Deprecated('Use `message` instead. Will be removed in Dart 3.0.0')
String get expires => message;
String toString() => "Deprecated feature: $message";
}
@ -117,27 +114,6 @@ class _Override {
/// can be used to enable more warnings based on `@override` annotations.
const Object override = _Override();
/// An annotation class that was used during development of Dart 2.
///
/// Should not be used any more.
@deprecated
class Provisional {
String? get message => null;
const Provisional({String? message});
}
/// An annotation that was used during development of Dart 2.
///
/// The annotation has no effect, and will be removed.
@deprecated
const Null provisional = null;
/// This annotation was used in Dart prior to version 2.
///
/// The annotation has no effect, and will be removed.
@deprecated
const Null proxy = null;
/// A hint to tools.
///
/// Tools that work with Dart programs may accept hints to guide their behavior

View file

@ -2,7 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@proxy
class C {
noSuchMethod(Invocation invocation) => 42;
}

View file

@ -4,7 +4,6 @@
// @dart = 2.9
@proxy
class C {
noSuchMethod(Invocation invocation) => 42;
}

View file

@ -15,7 +15,6 @@ class Mock {
}
}
@proxy
class MockBodyElement extends Mock implements BodyElement {
Node append(Node e) => e;
}
@ -24,29 +23,24 @@ class _EventListeners {
Stream<Event> get onBlur => new Stream.fromIterable([]);
}
@proxy
class MockHtmlDocument extends Mock
with _EventListeners
implements HtmlDocument {
BodyElement get body => new MockBodyElement();
}
@proxy
class MockWindow extends Mock with _EventListeners implements Window {
Stream<Event> get onBeforeUnload => new Stream.fromIterable([]);
String? name = "MOCK_NAME";
}
@proxy
class MockLocation extends Mock implements Location {
String href = "MOCK_HREF";
}
@proxy
class MockFileList extends Mock implements FileList {}
@proxy
class MockFile extends Mock implements File {}
main() {

View file

@ -17,7 +17,6 @@ class Mock {
}
}
@proxy
class MockBodyElement extends Mock implements BodyElement {
Node append(Node e) => e;
}
@ -26,29 +25,24 @@ class _EventListeners {
Stream<Event> get onBlur => new Stream.fromIterable([]);
}
@proxy
class MockHtmlDocument extends Mock
with _EventListeners
implements HtmlDocument {
BodyElement get body => new MockBodyElement();
}
@proxy
class MockWindow extends Mock with _EventListeners implements Window {
Stream<Event> get onBeforeUnload => new Stream.fromIterable([]);
String name = "MOCK_NAME";
}
@proxy
class MockLocation extends Mock implements Location {
String href = "MOCK_HREF";
}
@proxy
class MockFileList extends Mock implements FileList {}
@proxy
class MockFile extends Mock implements File {}
main() {