UNPKG

@awayfl/avm2

Version:

Virtual machine for executing AS3 code

21 lines (18 loc) 584 B
import { AXSecurityDomain } from '../../run/AXSecurityDomain'; export function createGlobalNative(native: Function, sec: AXSecurityDomain) { return function() { switch (arguments.length) { case 0: return native(sec); case 1: return native(sec, arguments[0]); case 2: return native(sec, arguments[0], arguments[1]); case 3: return native(sec, arguments[0], arguments[1], arguments[2]); default: { const args: any[] = [sec]; for (let i = 0; i < arguments.length; i++) { args.push(arguments[i]); } return native.apply(this, args); } } }; }