blob: 55f88ffa35bd6d2b526ea317f6774e80bc1f389c [file] [log] [blame]
// Copyright (c) 2024, 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.
// Regression test for Issue 13817.
import 'dart:mirrors';
import 'package:expect/expect.dart';
class Tag {
final name;
const Tag({named}) : this.name = named;
}
@Tag(named: 'valid')
class B {}
@Tag(named: C.STATIC_FIELD)
class C {
static const STATIC_FIELD = 3;
}
checkMetadata(DeclarationMirror mirror, List expectedMetadata) {
Expect.listEquals(expectedMetadata.map(reflect).toList(), mirror.metadata);
}
main() {
checkMetadata(reflectClass(B), [const Tag(named: 'valid')]);
checkMetadata(reflectClass(C), [const Tag(named: C.STATIC_FIELD)]);
}