| Index: test/codegen/lib/mirrors/generic_class_declaration_test.dart
|
| diff --git a/test/codegen/lib/mirrors/generic_class_declaration_test.dart b/test/codegen/lib/mirrors/generic_class_declaration_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0b8260f9f24332772b060e8af4fa4c0d58798da1
|
| --- /dev/null
|
| +++ b/test/codegen/lib/mirrors/generic_class_declaration_test.dart
|
| @@ -0,0 +1,83 @@
|
| +// 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.
|
| +
|
| +import 'dart:mirrors';
|
| +import 'package:expect/expect.dart';
|
| +
|
| +import 'stringify.dart';
|
| +
|
| +class A<T> {
|
| + var instanceVariable;
|
| + get instanceGetter => null;
|
| + set instanceSetter(x) => x;
|
| + instanceMethod() => null;
|
| +
|
| + var _instanceVariable;
|
| + get _instanceGetter => null;
|
| + set _instanceSetter(x) => x;
|
| + _instanceMethod() => null;
|
| +
|
| + static var staticVariable;
|
| + static get staticGetter => null;
|
| + static set staticSetter(x) => x;
|
| + static staticMethod() => null;
|
| +
|
| + static var _staticVariable;
|
| + static get _staticGetter => null;
|
| + static set _staticSetter(x) => x;
|
| + static _staticMethod() => null;
|
| +}
|
| +
|
| +main() {
|
| + ClassMirror cm = reflect(new A<String>()).type;
|
| + Expect.setEquals(
|
| + ['Variable(s(_instanceVariable) in s(A), private)',
|
| + 'Variable(s(_staticVariable) in s(A), private, static)',
|
| + 'Variable(s(instanceVariable) in s(A))',
|
| + 'Variable(s(staticVariable) in s(A), static)'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is VariableMirror).map(stringify),
|
| + 'variables');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_instanceGetter) in s(A), private, getter)',
|
| + 'Method(s(_staticGetter) in s(A), private, static, getter)',
|
| + 'Method(s(instanceGetter) in s(A), getter)',
|
| + 'Method(s(staticGetter) in s(A), static, getter)'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isGetter).map(stringify),
|
| + 'getters');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_instanceSetter=) in s(A), private, setter)',
|
| + 'Method(s(_staticSetter=) in s(A), private, static, setter)',
|
| + 'Method(s(instanceSetter=) in s(A), setter)',
|
| + 'Method(s(staticSetter=) in s(A), static, setter)'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isSetter).map(stringify),
|
| + 'setters');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_instanceMethod) in s(A), private)',
|
| + 'Method(s(_staticMethod) in s(A), private, static)',
|
| + 'Method(s(instanceMethod) in s(A))',
|
| + 'Method(s(staticMethod) in s(A), static)'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isRegularMethod)
|
| + .map(stringify), 'methods');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(A) in s(A), constructor)'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isConstructor).map(stringify),
|
| + 'constructors');
|
| +
|
| + Expect.setEquals(
|
| + ['TypeVariable(s(T) in s(A), upperBound = Class(s(Object) in '
|
| + 's(dart.core), top-level))'],
|
| + cm.declarations.values
|
| + .where((dm) => dm is TypeVariableMirror).map(stringify),
|
| + 'type variables');
|
| +
|
| +}
|
|
|