Description
Static functions get methods from the JSFunction interceptor.
Some methods ($asFoo) are different depending on the type of the static function.
For each subtype of Function implemented by a static function, introduce a new interceptor subclass of JSFunction.
Instead of decorating each static function with type information, decorate it with the created interceptor for the subtype it implements.
getInterceptor should be changed to use the decorating interceptor if present, otherwise use the JSFunction interceptor.
$.typeNameInFirefox.call$1 = $.typeNameInFirefox;
$.typeNameInFirefox.$name = "typeNameInFirefox";
$.typeNameInFirefox.$isAnimationCallback = true;
$.typeNameInFirefox.$isChangeListener = true;
$.typeNameInFirefox.$isSelectHandler = true;
$.typeNameInFirefox.$is_FutureOnError = true;
$.typeNameInFirefox.$is_ErrorHandler = true;
$.typeNameInFirefox.$isEventListener = true;
$.typeNameInIE.call$1 = $.typeNameInIE;
$.typeNameInIE.$name = "typeNameInIE";
$.typeNameInIE.$isAnimationCallback = true;
$.typeNameInIE.$isChangeListener = true;
$.typeNameInIE.$isSelectHandler = true;
$.typeNameInIE.$is_FutureOnError = true;
$.typeNameInIE.$is_ErrorHandler = true;
$.typeNameInIE.$isEventListener = true;
-->
$$.JSFunction123 = {"": "JSfunction",
$isAnimationCallback: true,
$isChangeListener: true,
$isSelectHandler: true,
$is_FutureOnError: true,
$is_ErrorHandler: true,
$isEventListener: true
};
$.typeNameInFirefox.call$1 = $.typeNameInFirefox;
$.typeNameInFirefox.$name = "typeNameInFirefox";
$.typeNameInFirefox.$interceptor = $.JSFunction123.prototype;
$.typeNameInIE.call$1 = $.typeNameInIE;
$.typeNameInIE.$name = "typeNameInIE";
$.typeNameInIE.$interceptor = $.JSFunction123.prototype;