blob: 58dff6d68e781a247fd5c42d078fd17d35b7cb60 [file] [log] [blame]
// 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);
}