| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |  | 
| 2 // for details. All rights reserved. Use of this source code is governed by a |  | 
| 3 // BSD-style license that can be found in the LICENSE file. |  | 
| 4 |  | 
| 5 // Hidden native class with factory constructors and NO static methods. |  | 
| 6 // Regression test. |  | 
| 7 |  | 
| 8 |  | 
| 9 class A native "*A" { |  | 
| 10 |  | 
| 11   // No static methods in this class. |  | 
| 12 |  | 
| 13   factory A(int len) => makeA(len); |  | 
| 14 |  | 
| 15   factory A.fromString(String s)  => makeA(s.length); |  | 
| 16 |  | 
| 17   factory A.nativeConstructor(int a, int b) native @'return makeA(a+b);'; |  | 
| 18 |  | 
| 19   foo() native 'return this._x;'; |  | 
| 20 } |  | 
| 21 |  | 
| 22 makeA(v) native; |  | 
| 23 |  | 
| 24 void setup() native """ |  | 
| 25 // This code is all inside 'setup' and so not accesible from the global scope. |  | 
| 26 function A(arg) { this._x = arg; } |  | 
| 27 makeA = function(arg) { return new A(arg); } |  | 
| 28 """; |  | 
| 29 |  | 
| 30 main() { |  | 
| 31   setup(); |  | 
| 32   var a1 = new A(100); |  | 
| 33   var a2 = new A.fromString('Hello'); |  | 
| 34   var a3 = new A.nativeConstructor(100, 2); |  | 
| 35 |  | 
| 36   Expect.equals(100, a1.foo()); |  | 
| 37   Expect.equals(5, a2.foo()); |  | 
| 38   Expect.equals(102, a3.foo()); |  | 
| 39 } |  | 
| OLD | NEW | 
|---|