| Index: tests/language/external_test.dart
|
| ===================================================================
|
| --- tests/language/external_test.dart (revision 37188)
|
| +++ tests/language/external_test.dart (working copy)
|
| @@ -2,10 +2,16 @@
|
| // 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.
|
|
|
| +class Bar {
|
| + Bar(val);
|
| +}
|
| +
|
| class Foo {
|
| var x;
|
| f() {}
|
|
|
| + Foo() : x = 0;
|
| +
|
| external var x01; /// 01: compile-time error
|
| external int x02; /// 02: compile-time error
|
|
|
| @@ -16,10 +22,12 @@
|
| static external f14(); /// 14: compile-time error
|
| int external f16(); /// 16: compile-time error
|
|
|
| - external Foo.n20(); /// 20: runtime error
|
| - external Foo.n21() : x(1); /// 21: compile-time error
|
| - external Foo.n22() { x = 1; } /// 22: compile-time error
|
| - external factory Foo.n23() => new Foo(); /// 23: compile-time error
|
| + external Foo.n20(val); /// 20: runtime error
|
| + external Foo.n21(val) : x = 1; /// 21: compile-time error
|
| + external Foo.n22(val) { x = 1; } /// 22: compile-time error
|
| + external factory Foo.n23(val) => new Foo(); /// 23: compile-time error
|
| + external Foo.n24(this.x); /// 24: compile-time error
|
| + external factory Foo.n25(val) = Bar; /// 25: compile-time error
|
| }
|
|
|
| external int t06(int i) { } /// 30: compile-time error
|
| @@ -27,40 +35,25 @@
|
|
|
| main() {
|
|
|
| - // Try calling an unpatched external function.
|
| + // Ensure Foo class is compiled.
|
| var foo = new Foo();
|
| - try { /// 10: continued
|
| - foo.f05(); /// 10: continued
|
| - } on String catch (exc) { /// 10: continued
|
| - if (exc == "External implementation missing.") { /// 10: continued
|
| - throw exc; /// 10: continued
|
| - } /// 10: continued
|
| - } /// 10: continued
|
|
|
| + // Try calling an unpatched external function.
|
| + new Foo().f10(); /// 10: continued
|
| new Foo().f11(); /// 11: continued
|
| new Foo().f12(); /// 12: continued
|
| + Foo.f13(); /// 13: continued
|
| + Foo.f14(); /// 14: continued
|
| + new Foo().f16(); /// 16: continued
|
|
|
| - try { /// 13: continued
|
| - Foo.f13(); /// 13: continued
|
| - } on String catch (exc) { /// 13: continued
|
| - if (exc == "External implementation missing.") { /// 13: continued
|
| - throw exc; /// 13: continued
|
| - } /// 13: continued
|
| - } /// 13: continued
|
| -
|
| // Try calling an unpatched external constructor.
|
| - try { /// 20: continued
|
| - var foo = new Foo.n09(); /// 20: continued
|
| - } on String catch (exc) { /// 20: continued
|
| - if (exc == "External implementation missing.") { /// 20: continued
|
| - throw exc; /// 20: continued
|
| - } /// 20: continued
|
| - } /// 20: continued
|
| + new Foo.n20(1); /// 20: continued
|
| + new Foo.n21(1); /// 21: continued
|
| + new Foo.n22(1); /// 22: continued
|
| + new Foo.n23(1); /// 23: continued
|
| + new Foo.n24(1); /// 24: continued
|
| + new Foo.n25(1); /// 25: continued
|
|
|
| - new Foo.n21(); /// 21: continued
|
| - new Foo.n22(); /// 22: continued
|
| - new Foo.n23(); /// 23: continued
|
| -
|
| t06(1); /// 30: continued
|
| t07(1); /// 31: continued
|
| }
|
|
|