// 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. library test.invoke_test; import 'dart:mirrors'; import 'package:expect/expect.dart'; import "package:async_helper/async_helper.dart"; import 'invoke_private_test.dart' show C; main() { var result; C c = new C(); InstanceMirror im = reflect(c); Expect.throwsNoSuchMethodError(() => im.invoke(#_method, [2, 4, 8])); Expect.throwsNoSuchMethodError(() => im.getField(#_getter)); Expect.throwsNoSuchMethodError(() => im.getField(#_field)); Expect.throwsNoSuchMethodError(() => im.setField(#_setter, 'foo')); Expect.throwsNoSuchMethodError(() => im.setField(#_field, 'bar')); ClassMirror cm = reflectClass(C); Expect.throwsNoSuchMethodError(() => cm.invoke(#_staticFunction, [3, 4])); Expect.throwsNoSuchMethodError(() => cm.getField(#_staticGetter)); Expect.throwsNoSuchMethodError(() => cm.getField(#_staticField)); Expect.throwsNoSuchMethodError(() => cm.setField(#_staticSetter, 'sfoo')); Expect.throwsNoSuchMethodError(() => cm.setField(#_staticField, 'sbar')); Expect.throwsNoSuchMethodError(() => cm.newInstance(#_named, ['my value'])); LibraryMirror lm = cm.owner as LibraryMirror; Expect.throwsNoSuchMethodError( () => lm.invoke(#_libraryFunction, [':', ')'])); Expect.throwsNoSuchMethodError(() => lm.getField(#_libraryGetter)); Expect.throwsNoSuchMethodError(() => lm.getField(#_libraryField)); Expect.throwsNoSuchMethodError(() => lm.setField(#_librarySetter, 'lfoo')); Expect.throwsNoSuchMethodError(() => lm.setField(#_libraryField, 'lbar')); }