mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:16:51 +00:00
46ceec41d2
Change-Id: I0cfd2ad9e59c985f632d7038a64d903f6b472dd1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199480 Auto-Submit: Lasse R.H. Nielsen <lrn@google.com> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com> Reviewed-by: Erik Ernst <eernst@google.com>
65 lines
1.2 KiB
Dart
65 lines
1.2 KiB
Dart
// Copyright (c) 2019, 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.
|
|
|
|
|
|
// Introduce an aliased type.
|
|
|
|
typedef T = Object;
|
|
|
|
// Use the aliased type.
|
|
|
|
T? v1;
|
|
List<T> v2 = [];
|
|
final T v3 = throw "Anything";
|
|
const List<T> v4 = [];
|
|
const v5 = <Type, Type>{T: T};
|
|
|
|
abstract class C {
|
|
static T? v6;
|
|
static List<T> v7 = [];
|
|
static final T v8 = throw "Anything";
|
|
static const List<T> v9 = [];
|
|
|
|
T? v10;
|
|
List<T> v11 = [];
|
|
final T v12;
|
|
|
|
C(): v12 = T();
|
|
C.name1(this.v10, this.v12);
|
|
factory C.name2(T arg1, T arg2) = C1.name1;
|
|
|
|
T operator +(T other);
|
|
T get g;
|
|
set g(T value);
|
|
Map<T, T> m1(covariant T arg1, [Set<Set<T>> arg2]);
|
|
void m2({T arg1, T arg2(T arg21, T arg22)});
|
|
}
|
|
|
|
class C1 implements C {
|
|
C1.name1(T arg1, T arg2);
|
|
noSuchMethod(Invocation invocation) => throw 0;
|
|
}
|
|
|
|
class D1 extends T {}
|
|
|
|
extension E on T {
|
|
T foo(T t) => t;
|
|
}
|
|
|
|
X foo<X>(X x) => x;
|
|
|
|
T Function(T) id = (x) => x;
|
|
|
|
main() {
|
|
var v13 = <T>[];
|
|
var v14 = <Set<T>, Set<T>>{{}: {}};
|
|
v14[{}] = {T()};
|
|
var v15 = {v13};
|
|
Set<List<T>> v16 = v15;
|
|
v15 = v16;
|
|
T();
|
|
T v17 = foo<T>(T());
|
|
id(v17);
|
|
}
|