third_party/polymer3/bower_components/polymer/lib/mixins/property-effects.js
function runMethodEffect(inst, property, props, oldProps, info) {
  // Instances can optionally have a _methodHost which allows redirecting where
  // to find methods. Currently used by `templatize`.
  let context = inst._methodHost || inst;
  let fn = context[info.methodName];
  if (fn) {
    let args = marshalArgs(inst.__data, info.args, property, props);
    return fn.apply(context, args);
  } else if (!info.dynamicFn) {
    console.warn('method `' + info.methodName + '` not defined');
  }
}
function runMethodEffect(inst, property, props, oldProps, info) {
  // Instances can optionally have a _methodHost which allows redirecting where
  // to find methods. Currently used by `templatize`.
  let context = inst._methodHost || inst;
  let fn = context[info.methodName];
  if (fn) {
    let args = marshalArgs(inst.__data, info.args, property, props);
    return fn.apply(context, args);
  } else if (!info.dynamicFn) {
    console.warn('method `' + info.methodName + '` not defined');
  }
}
function runMethodEffect ( inst , property , props , oldProps , info ) { // Instances can optionally have a _methodHost which allows redirecting where // to find methods. Currently used by `templatize`. let context = inst . _methodHost || inst ; let fn = context [ info . methodName ] ; if ( fn ) { let args = marshalArgs ( inst . __data , info . args , property , props ) ; return fn . apply ( context , args ) ; } else if ( ! info . dynamicFn ) { console . warn ( 'method `' + info . methodName + '` not defined' ) ; } }
Calls a method with arguments marshaled from properties on the instance
based on the method signature contained in the effect metadata.

Multi-property observers, computed properties, and inline computing
functions call this function to invoke the method, then use the return
value accordingly.

@param {!PropertyEffectsType} inst The instance the effect will be run on
@param {string} property Name of property
@param {Object} props Bag of current property changes
@param {Object} oldProps Bag of previous values for changed properties
@param {?} info Effect metadata
@return {*} Returns the return value from the method invocation
@private
Calls a method with arguments marshaled from properties on the instance based on the method signature contained in the effect metadata .