blob: 359a2d961818f787662bfe099c21c58654d32b1f [file] [log] [blame]
// Copyright (c) 2020, 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.
/// @author sgrekhov@unipro.ru
// @dart=2.6
library legacy_library_lib;
import 'dart:async';
class A implements AMx {
int c1 = 0, c2 = 0;
String get log => "test() called $c1 times, text2 called $c2 times";
void foo() {}
String test() {
c1++;
return "Lily was here";
}
String text = "Let it be";
String get text2 {
c2++;
return text;
}
void set text3(String val) {
this.text = val;
}
int operator[](int index) => index;
void operator[]=(int index, var value) => value;
AMx c = new AMx();
}
class C<X extends A> {
X x;
C(this.x);
}
class B<X extends int> {
X x;
B(this.x);
}
class M {
}
class Mx {
int iMx = 42;
}
class AMx {
String text = "No woman, no cry";
}
mixin Mxn on AMx {
String sMxn = "Show must go on";
}
abstract class I {}
class Const {
const Const();
}
int iLegacy = 42;
int nLegacy = null;
String sLegacy = "Yesterday, All my troubles seemed so far away";
A aLegacy = new A();
class S {}
S getLegacyS() => null;
dynamic get legacyDynamic => new Object();
dynamic getLegacyDynamic(x) => x;
Null getLegacyNull() => null;
FutureOr<Null> futureOrNull = null;
FutureOr futureOrDynamic = new Object();
FutureOr<FutureOr<S>> futureOrfutureOrS = new S();
void legacyFoo() {}
typedef void LegacyFoo();
Function fLegacy1 = legacyFoo;
LegacyFoo fLegacy2 = legacyFoo;
class F1<X extends Function> {
X x;
F1(this.x);
}
class F2<X extends LegacyFoo> {
X x;
F2(this.x);
}
F1<Function> funcLegacy1 = F1<Function>(legacyFoo);
F2<LegacyFoo> funcLegacy2 = F2<LegacyFoo>(legacyFoo);
int getInt() => 42;
T getType<T>(T t) => t;