blob: 829a8f226853385e60e3810e6a46888642f49fae [file] [log] [blame]
// Copyright (c) 2014, 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.
// @dart = 2.9
// Regression test for Issue 14972.
library test.declarations_type;
import 'dart:mirrors';
import 'package:expect/expect.dart';
class C {}
main() {
var classDeclarations = reflectClass(C).declarations;
Expect.isTrue(classDeclarations is Map<Symbol, DeclarationMirror>);
Expect.isTrue(classDeclarations.values is Iterable<DeclarationMirror>);
Expect.isTrue(classDeclarations.values.where((x) => true)
is Iterable<DeclarationMirror>);
Expect.isFalse(classDeclarations is Map<Symbol, MethodMirror>);
Expect.isFalse(classDeclarations.values is Iterable<MethodMirror>);
Expect.isFalse(
classDeclarations.values.where((x) => true) is Iterable<MethodMirror>);
var libraryDeclarations =
(reflectClass(C).owner as LibraryMirror).declarations;
Expect.isTrue(libraryDeclarations is Map<Symbol, DeclarationMirror>);
Expect.isTrue(libraryDeclarations.values is Iterable<DeclarationMirror>);
Expect.isTrue(libraryDeclarations.values.where((x) => true)
is Iterable<DeclarationMirror>);
Expect.isFalse(libraryDeclarations is Map<Symbol, ClassMirror>);
Expect.isFalse(libraryDeclarations.values is Iterable<ClassMirror>);
Expect.isFalse(
libraryDeclarations.values.where((x) => true) is Iterable<ClassMirror>);
}