| // Copyright (c) 2011, 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. |
| // |
| // Use qualified symbols at various places. |
| |
| // @dart = 2.9 |
| |
| library Prefix14Test.dart; |
| |
| import "package:expect/expect.dart"; |
| import "../library12.dart" as lib12; |
| |
| typedef lib12.Library12 myFunc(lib12.Library12 param); |
| |
| class myInterface implements lib12.Library12Interface { |
| myInterface(lib12.Library12 this.myfld); |
| lib12.Library12 addObjects(lib12.Library12 value1, lib12.Library12 value2) { |
| myfld.fld = (value1.fld + value2.fld + myfld.fld); |
| return myfld; |
| } |
| |
| lib12.Library12 myfld; |
| } |
| |
| class myClass extends lib12.Library12 { |
| myClass(int value) : super(value); |
| static lib12.Library12 func1() { |
| var i = new lib12.Library12(10); |
| return i; |
| } |
| |
| static lib12.Library12 func2(lib12.Library12 param) { |
| return param; |
| } |
| } |
| |
| class myClass1 { |
| myClass1(int value) : fld1 = new lib12.Library12(value); |
| lib12.Library12 fld1; |
| } |
| |
| class myClass2 { |
| myClass2(lib12.Library12 this.fld2); |
| lib12.Library12 fld2; |
| } |
| |
| main() { |
| var o; |
| o = myClass.func1(); |
| Expect.equals(2, o.func()); |
| o = new myClass(10); |
| Expect.equals(10, o.fld); |
| |
| myFunc func = myClass.func2; |
| Expect.equals(2, func(new lib12.Library12(10)).func()); |
| Expect.equals(10, func(new lib12.Library12(10)).fld); |
| |
| o = new myClass1(100); |
| Expect.equals(2, o.fld1.func()); |
| Expect.equals(100, o.fld1.fld); |
| |
| o = new myClass2(new lib12.Library12(200)); |
| Expect.equals(2, o.fld2.func()); |
| Expect.equals(200, o.fld2.fld); |
| |
| o = new myInterface(new lib12.Library12(100)); |
| Expect.equals(2, o.myfld.func()); |
| Expect.equals(100, o.myfld.fld); |
| o = o.addObjects(new lib12.Library12(200), new lib12.Library12(300)); |
| Expect.equals(2, o.func()); |
| Expect.equals(600, o.fld); |
| } |