bcb3c3e8ba
The special code for mirrors was brittle and was the reason for several bugs. BUG= http://dartbug.com/18076 BUG= http://dartbug.com/15405 BUG= http://dartbug.com/14025 BUG= http://dartbug.com/13842 BUG= http://dartbug.com/16804 BUG= http://dartbug.com/15555 R=karlklose@google.com Review URL: https://codereview.chromium.org//236313012 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35586 260f80e4-7a28-3924-810f-c04153c831b5
29 lines
843 B
Dart
29 lines
843 B
Dart
// 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.
|
|
|
|
library test.superclass;
|
|
|
|
import 'dart:mirrors';
|
|
import 'package:expect/expect.dart';
|
|
|
|
checkSuperclassChain(ClassMirror cm) {
|
|
ClassMirror last;
|
|
do {
|
|
last = cm;
|
|
cm = cm.superclass;
|
|
} while (cm != null);
|
|
Expect.equals(reflectClass(Object), last);
|
|
}
|
|
|
|
main() {
|
|
checkSuperclassChain(reflect(null).type);
|
|
checkSuperclassChain(reflect([]).type);
|
|
checkSuperclassChain(reflect(<int>[]).type);
|
|
checkSuperclassChain(reflect(0).type);
|
|
checkSuperclassChain(reflect(1.5).type);
|
|
checkSuperclassChain(reflect("str").type);
|
|
checkSuperclassChain(reflect(true).type);
|
|
checkSuperclassChain(reflect(false).type);
|
|
}
|