| Index: test/codegen/expect/language/dynamic_test.js
|
| diff --git a/test/codegen/expect/language/dynamic_test.js b/test/codegen/expect/language/dynamic_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..80addf98244c3fb9ca1564ccf543fa4df0863586
|
| --- /dev/null
|
| +++ b/test/codegen/expect/language/dynamic_test.js
|
| @@ -0,0 +1,99 @@
|
| +dart_library.library('language/dynamic_test', null, /* Imports */[
|
| + 'dart_sdk',
|
| + 'expect'
|
| +], function load__dynamic_test(exports, dart_sdk, expect) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const expect$ = expect.expect;
|
| + const dynamic_test = Object.create(null);
|
| + let Iface = () => (Iface = dart.constFn(dynamic_test.Iface$()))();
|
| + let M1 = () => (M1 = dart.constFn(dynamic_test.M1$()))();
|
| + let M2 = () => (M2 = dart.constFn(dynamic_test.M2$()))();
|
| + let IfaceOfString$dynamic = () => (IfaceOfString$dynamic = dart.constFn(dynamic_test.Iface$(core.String, dart.dynamic)))();
|
| + let F1 = () => (F1 = dart.constFn(dynamic_test.F1$()))();
|
| + let IfaceOfdynamic$num = () => (IfaceOfdynamic$num = dart.constFn(dynamic_test.Iface$(dart.dynamic, core.num)))();
|
| + let IfaceOfString$num = () => (IfaceOfString$num = dart.constFn(dynamic_test.Iface$(core.String, core.num)))();
|
| + let IfaceOfnum$String = () => (IfaceOfnum$String = dart.constFn(dynamic_test.Iface$(core.num, core.String)))();
|
| + let F1Ofint = () => (F1Ofint = dart.constFn(dynamic_test.F1$(core.int)))();
|
| + let StringAndintToString = () => (StringAndintToString = dart.constFn(dart.definiteFunctionType(core.String, [core.String, core.int])))();
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
|
| + dynamic_test.Iface$ = dart.generic((K, V) => {
|
| + class Iface extends core.Object {}
|
| + dart.addTypeTests(Iface);
|
| + return Iface;
|
| + });
|
| + dynamic_test.Iface = Iface();
|
| + dynamic_test.M1$ = dart.generic((K, V) => {
|
| + let IfaceOfK$V = () => (IfaceOfK$V = dart.constFn(dynamic_test.Iface$(K, V)))();
|
| + class M1 extends core.Object {}
|
| + dart.addTypeTests(M1);
|
| + M1[dart.implements] = () => [IfaceOfK$V()];
|
| + return M1;
|
| + });
|
| + dynamic_test.M1 = M1();
|
| + dynamic_test.M2$ = dart.generic(K => {
|
| + let IfaceOfK$dynamic = () => (IfaceOfK$dynamic = dart.constFn(dynamic_test.Iface$(K, dart.dynamic)))();
|
| + class M2 extends core.Object {}
|
| + dart.addTypeTests(M2);
|
| + M2[dart.implements] = () => [IfaceOfK$dynamic()];
|
| + return M2;
|
| + });
|
| + dynamic_test.M2 = M2();
|
| + dynamic_test.M3 = class M3 extends core.Object {};
|
| + dynamic_test.M3[dart.implements] = () => [IfaceOfString$dynamic()];
|
| + dynamic_test.F1$ = dart.generic(T => {
|
| + const F1 = dart.typedef('F1', () => dart.functionType(dart.dynamic, [dart.dynamic, T]));
|
| + return F1;
|
| + });
|
| + dynamic_test.F1 = F1();
|
| + dynamic_test.HasFieldDynamic = class HasFieldDynamic extends core.Object {
|
| + new() {
|
| + this.dynamic = "dynamic";
|
| + }
|
| + };
|
| + dart.setSignature(dynamic_test.HasFieldDynamic, {
|
| + constructors: () => ({new: dart.definiteFunctionType(dynamic_test.HasFieldDynamic, [])})
|
| + });
|
| + dynamic_test.HasMethodDynamic = class HasMethodDynamic extends core.Object {
|
| + dynamic() {
|
| + return "dynamic";
|
| + }
|
| + };
|
| + dart.setSignature(dynamic_test.HasMethodDynamic, {
|
| + methods: () => ({dynamic: dart.definiteFunctionType(dart.dynamic, [])})
|
| + });
|
| + dynamic_test.main = function() {
|
| + expect$.Expect.isTrue(core.Type.is(dart.wrapType(dart.dynamic)));
|
| + expect$.Expect.equals(dart.wrapType(dart.dynamic), dart.wrapType(dart.dynamic));
|
| + let m1 = new dynamic_test.M1();
|
| + expect$.Expect.isTrue(IfaceOfdynamic$num().is(m1));
|
| + expect$.Expect.isTrue(IfaceOfString$dynamic().is(m1));
|
| + expect$.Expect.isTrue(IfaceOfString$num().is(m1));
|
| + expect$.Expect.isTrue(IfaceOfnum$String().is(m1));
|
| + let m2 = new dynamic_test.M2();
|
| + expect$.Expect.isTrue(IfaceOfdynamic$num().is(m2));
|
| + expect$.Expect.isTrue(IfaceOfString$dynamic().is(m2));
|
| + expect$.Expect.isTrue(IfaceOfString$num().is(m2));
|
| + expect$.Expect.isTrue(IfaceOfnum$String().is(m2));
|
| + let m3 = new dynamic_test.M3();
|
| + expect$.Expect.isTrue(IfaceOfdynamic$num().is(m3));
|
| + expect$.Expect.isTrue(IfaceOfString$dynamic().is(m3));
|
| + expect$.Expect.isTrue(IfaceOfString$num().is(m3));
|
| + expect$.Expect.isTrue(!IfaceOfnum$String().is(m3));
|
| + let f1 = dart.fn((s, i) => s[dartx.get](i), StringAndintToString());
|
| + expect$.Expect.isTrue(F1Ofint().is(f1));
|
| + let has_field = new dynamic_test.HasFieldDynamic();
|
| + expect$.Expect.equals("dynamic", has_field.dynamic);
|
| + let has_method = new dynamic_test.HasMethodDynamic();
|
| + expect$.Expect.equals("dynamic", has_method.dynamic());
|
| + {
|
| + let dynamic = 0;
|
| + expect$.Expect.equals(0, dynamic);
|
| + }
|
| + };
|
| + dart.fn(dynamic_test.main, VoidTodynamic());
|
| + // Exports:
|
| + exports.dynamic_test = dynamic_test;
|
| +});
|
|
|