blob: d43fd1d53fd7fd756b47f835066ba28e0f0636a1 [file] [log] [blame]
// Copyright (c) 2019, 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
import 'dart:mirrors';
import 'package:expect/expect.dart';
import 'stringify.dart';
const X = 'X';
const Y = 'Y';
const Z = 'Z';
abstract class C {
foo1({@X int x: 1, @Y int y: 2, @Z int z: 3});
}
main() {
ClassMirror cm = reflectClass(C);
MethodMirror foo1 = cm.declarations[#foo1] as MethodMirror;
expect('Method(s(foo1) in s(C), abstract)', foo1);
expect(
'Parameter(s(x) in s(foo1), optional, named, type = Class(s(int) in s(dart.core), top-level))',
foo1.parameters[0]);
expect(
'Parameter(s(y) in s(foo1), optional, named, type = Class(s(int) in s(dart.core), top-level))',
foo1.parameters[1]);
expect(
'Parameter(s(z) in s(foo1), optional, named, type = Class(s(int) in s(dart.core), top-level))',
foo1.parameters[2]);
}