⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typemap

📁 caffeine-monkey java实现的js模拟引擎
💻
字号:
## ***** BEGIN LICENSE BLOCK *****# Version: MPL 1.1/GPL 2.0/LGPL 2.1## The contents of this file are subject to the Mozilla Public License Version# 1.1 (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at# http://www.mozilla.org/MPL/## Software distributed under the License is distributed on an "AS IS" basis,# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License# for the specific language governing rights and limitations under the# License.## The Original Code is Mozilla Communicator client code, released# March 31, 1998.## The Initial Developer of the Original Code is# Netscape Communications Corporation.# Portions created by the Initial Developer are Copyright (C) 1998# the Initial Developer. All Rights Reserved.## Contributor(s):## Alternatively, the contents of this file may be used under the terms of# either the GNU General Public License Version 2 or later (the "GPL"), or# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),# in which case the provisions of the GPL or the LGPL are applicable instead# of those above. If you wish to allow use of your version of this file only# under the terms of either the GPL or the LGPL, and not to allow others to# use your version of this file under the terms of the MPL, indicate your# decision by deleting the provisions above and replace them with the notice# and other provisions required by the GPL or the LGPL. If you do not delete# the provisions above, a recipient may use your version of this file under# the terms of any one of the MPL, the GPL or the LGPL.## ***** END LICENSE BLOCK *****## Typemap for PerlConnect#TYPEMAP# These types have direct equivalents implemented as Perl packagesJSRuntime *      RUNTIMEJSContext *      CONTEXTJSScript  *      SCRIPTjsval            jsval# This is an auxilary type. Object serves as a wrapper for itJSObject *       OBJECTOUTPUTjsval    {	SV *foo = sv_newmortal();        JSVALToSV(cx, JS_GetGlobalObject(cx), $var, &foo);	sv_setsv($arg, foo);    }OBJECT    sv_setref_pv($arg, "JS::Object", (void*)$var);#CONTEXT#    sv_setref_pv($arg, "JS::Context", (void*)$var);SCRIPT    sv_setref_pv($arg, "JS::Script", (void*)$var);RUNTIME    sv_setref_pv($arg, "JS::Runtime", (void*)$var);#JS_OBJECT#    sv_setref_pv($arg, "JSObject", (void*)$var);INPUTjsval    {        /* JSContext *cx = getContext(); */        SVToJSVAL(cx, JS_GetGlobalObject(cx), newRV($arg), &$var);    }OBJECT    if(sv_isa($arg, \"JS::Object\"))        $var = ($type)SvIV((SV*)SvRV($arg));    else{        warn(\"${Package}::$func_name() -- $var is not a blessed JS::Object reference\");        XSRETURN_UNDEF;    }#CONTEXT#    if(sv_isa($arg, \"JS::Context\"))#        $var = ($type)SvIV((SV*)SvRV($arg));#    else{#        warn(\"${Package}::$func_name() -- $var is not a blessed JS::Context reference\");#        XSRETURN_UNDEF;#    }CONTEXT    if(sv_isa($arg, \"JS::Context\"))        $var = ($type)SvIV(*hv_fetch((HV*)SvRV($arg), \"_handle\", 7, 0));    else{        warn(\"${Package}::$func_name() -- $var is not a blessed JS::Context reference\");        XSRETURN_UNDEF;    }SCRIPT    if(sv_isa($arg, \"JS::Script\"))        $var = ($type)SvIV((SV*)SvRV($arg));    else{        warn(\"${Package}::$func_name() -- $var is not a blessed JS::Script reference\");        XSRETURN_UNDEF;    }RUNTIME    if(sv_isa($arg, \"JS::Runtime\"))        $var = ($type)SvIV((SV*)SvRV($arg));    else{        warn(\"${Package}::$func_name() -- $var is not a blessed JS::Runtime reference\");        XSRETURN_UNDEF;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -