| Index: dart/tests/lib/mirrors/intercepted_cache_test.dart
|
| diff --git a/dart/tests/lib/mirrors/intercepted_cache_test.dart b/dart/tests/lib/mirrors/intercepted_cache_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..58dff6d68e781a247fd5c42d078fd17d35b7cb60
|
| --- /dev/null
|
| +++ b/dart/tests/lib/mirrors/intercepted_cache_test.dart
|
| @@ -0,0 +1,25 @@
|
| +// Copyright (c) 2013, 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.
|
| +
|
| +// This is a test for a problem in how dart2js cached InstanceMirror.invoke,
|
| +// etc. The test is using getField, as invoke, setField, and getField all share
|
| +// the same caching.
|
| +
|
| +import 'dart:mirrors';
|
| +
|
| +import 'package:expect/expect.dart';
|
| +
|
| +
|
| +class Foo {
|
| + Foo(this.length);
|
| + int length;
|
| +}
|
| +
|
| +main() {
|
| + Expect.equals(
|
| + 1, reflect(new Foo(1)).getField(const Symbol('length')).reflectee);
|
| + Expect.equals(
|
| + 2, reflect(new Foo(2)).getField(const Symbol('length')).reflectee);
|
| + Expect.equals(0, reflect([]).getField(const Symbol('length')).reflectee);
|
| +}
|
|
|