Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: pkg/fasta/test/rasta/type_literals.dart

Issue 2650913007: Import rasta tests. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/fasta/test/rasta/type_literals.dart
diff --git a/pkg/fasta/test/rasta/type_literals.dart b/pkg/fasta/test/rasta/type_literals.dart
new file mode 100644
index 0000000000000000000000000000000000000000..b3302c7e0f72582fc42eebc5b19bc2bae5390e43
--- /dev/null
+++ b/pkg/fasta/test/rasta/type_literals.dart
@@ -0,0 +1,109 @@
+// Copyright (c) 2016, 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.md file.
+
+typedef void Func();
+
+class C<T> {
+ test() {
+ // Note: we cannot write a type literal with generic type arguments. For
+ // example, `C<String>` isn't a valid expression.
+ C;
+ use(C);
+ dynamic;
+ use(dynamic);
+ T;
+ use(T);
+ Func;
+ use(Func);
+
+ C();
+ use(C());
+ dynamic();
+ use(dynamic());
+ T();
+ use(T());
+ Func();
+ use(Func());
+
+ C = 42;
+ use(C = 42);
+ dynamic = 42;
+ use(dynamic = 42);
+ T = 42;
+ use(T = 42);
+ Func = 42;
+ use(Func = 42);
+
+ C++;
+ use(C++);
+ dynamic++;
+ use(dynamic++);
+ T++;
+ use(T++);
+ Func++;
+ use(Func++);
+
+ ++C;
+ use(++C);
+ ++dynamic;
+ use(++dynamic);
+ ++T;
+ use(++T);
+ ++Func;
+ use(++Func);
+
+ C--;
+ use(C--);
+ dynamic--;
+ use(dynamic--);
+ T--;
+ use(T--);
+ Func--;
+ use(Func--);
+
+ --C;
+ use(--C);
+ --dynamic;
+ use(--dynamic);
+ --T;
+ use(--T);
+ --Func;
+ use(--Func);
+
+ C ??= 42;
+ use(C ??= 42);
+ dynamic ??= 42;
+ use(dynamic ??= 42);
+ T ??= 42;
+ use(T ??= 42);
+ Func ??= 42;
+ use(Func ??= 42);
+
+ C += 42;
+ use(C += 42);
+ dynamic += 42;
+ use(dynamic += 42);
+ T += 42;
+ use(T += 42);
+ Func += 42;
+ use(Func += 42);
+
+ C-= 42;
+ use(C-= 42);
+ dynamic-= 42;
+ use(dynamic-= 42);
+ T-= 42;
+ use(T-= 42);
+ Func-= 42;
+ use(Func-= 42);
+ }
+}
+
+use(x) {
+ if (x == new DateTime.now().millisecondsSinceEpoch) throw "Shouldn't happen";
+}
+
+main() {
+ new C().test();
+}

Powered by Google App Engine
This is Rietveld 408576698