# invoke method

InstanceMirror invoke (Symbol memberName, List positionalArguments, [ Map<Symbol, dynamic> namedArguments ])

Invokes the named function and returns a mirror on the result.

Let o be the object reflected by this mirror, let f be the simple name of the member denoted by `memberName`, let a1, ..., an be the elements of `positionalArguments`, let k1, ..., km be the identifiers denoted by the elements of `namedArguments.keys`, and let v1, ..., vm be the elements of `namedArguments.values`. Then this method will perform the method invocation o.f(a1, ..., an, k1: v1, ..., km: vm) in a scope that has access to the private members of o (if o is a class or library) or the private members of the class of o (otherwise).

If the invocation returns a result r, this method returns the result of calling reflect(r).

If the invocation causes a compilation error the effect is the same as if a non-reflective compilation error had been encountered.

If the invocation throws an exception e (that it does not catch), this method throws e.

## Implementation

    /*
     * TODO(turnidge): Handle ambiguous names.
     * TODO(turnidge): Handle optional & named arguments.
     */
    InstanceMirror invoke(Symbol memberName, List positionalArguments,
        [Map<Symbol, dynamic> namedArguments]);