// 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. 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]); }