亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? context.java

?? 主要的怎么樣結合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
                // the current thread if it is already entered                throw new IllegalArgumentException(                    "Cannot enter Context active on another thread");            }            if (old.factory != null) {                // Context with associated factory will be released                // automatically and does not need to change enterCount                return old;            }            if (old.sealed) onSealedMutation();            cx = old;        } else {            if (cx == null) {                cx = ContextFactory.getGlobal().makeContext();            } else {                if (cx.sealed) onSealedMutation();            }            if (cx.enterCount != 0 || cx.factory != null) {                throw new IllegalStateException();            }            if (!cx.creationEventWasSent) {                cx.creationEventWasSent = true;                ContextFactory.getGlobal().onContextCreated(cx);            }        }        if (old == null) {            VMBridge.instance.setContext(helper, cx);        }        ++cx.enterCount;        return cx;     }    /**     * Exit a block of code requiring a Context.     *     * Calling <code>exit()</code> will remove the association between     * the current thread and a Context if the prior call to     * <code>enter()</code> on this thread newly associated a Context     * with this thread.     * Once the current thread no longer has an associated Context,     * it cannot be used to execute JavaScript until it is again associated     * with a Context.     *     * @see org.mozilla.javascript.Context#enter()     * @see #call(ContextAction)     * @see ContextFactory#call(ContextAction)     */    public static void exit()    {        Object helper = VMBridge.instance.getThreadContextHelper();        Context cx = VMBridge.instance.getContext(helper);        if (cx == null) {            throw new IllegalStateException(                "Calling Context.exit without previous Context.enter");        }        if (cx.factory != null) {            // Context with associated factory will be released            // automatically and does not need to change enterCount            return;        }        if (cx.enterCount < 1) Kit.codeBug();        if (cx.sealed) onSealedMutation();        --cx.enterCount;        if (cx.enterCount == 0) {            VMBridge.instance.setContext(helper, null);            ContextFactory.getGlobal().onContextReleased(cx);        }    }    /**     * Call {@link ContextAction#run(Context cx)}     * using the Context instance associated with the current thread.     * If no Context is associated with the thread, then     * <tt>ContextFactory.getGlobal().makeContext()</tt> will be called to     * construct new Context instance. The instance will be temporary     * associated with the thread during call to     * {@link ContextAction#run(Context)}.     *     * @return The result of {@link ContextAction#run(Context)}.     */    public static Object call(ContextAction action)    {        return call(ContextFactory.getGlobal(), action);    }    /**     * Call {@link     * Callable#call(Context cx, Scriptable scope, Scriptable thisObj,     *               Object[] args)}     * using the Context instance associated with the current thread.     * If no Context is associated with the thread, then     * {@link ContextFactory#makeContext()} will be called to construct     * new Context instance. The instance will be temporary associated     * with the thread during call to {@link ContextAction#run(Context)}.     * <p>     * It is allowed to use null for <tt>factory</tt> argument     * in which case the factory associated with the scope will be     * used to create new context instances.     *     * @see ContextFactory#call(ContextAction)     */    public static Object call(ContextFactory factory, Callable callable,                              Scriptable scope, Scriptable thisObj,                              Object[] args)    {        if (factory == null) {            factory = ContextFactory.getGlobal();        }        Object helper = VMBridge.instance.getThreadContextHelper();        Context cx = VMBridge.instance.getContext(helper);        if (cx != null) {            Object result;            if (cx.factory != null) {                result = callable.call(cx, scope, thisObj, args);            } else {                // Context was associated with the thread via Context.enter,                // set factory to make Context.enter/exit to be no-op                // during call                cx.factory = factory;                try {                    result = callable.call(cx, scope, thisObj, args);                } finally {                    cx.factory = null;                }            }            return result;        }        cx = prepareNewContext(factory, helper);        try {            return callable.call(cx, scope, thisObj, args);        } finally {            releaseContext(helper, cx);        }    }    /**     * The method implements {@links ContextFactory#call(ContextAction)} logic.     */    static Object call(ContextFactory factory, ContextAction action)    {        Object helper = VMBridge.instance.getThreadContextHelper();        Context cx = VMBridge.instance.getContext(helper);        if (cx != null) {            if (cx.factory != null) {                return action.run(cx);            } else {                cx.factory = factory;                try {                    return action.run(cx);                } finally {                    cx.factory = null;                }            }        }        cx = prepareNewContext(factory, helper);        try {            return action.run(cx);        } finally {            releaseContext(helper, cx);        }    }    private static Context prepareNewContext(ContextFactory factory,                                             Object contextHelper)    {        Context cx = factory.makeContext();        if (cx.factory != null || cx.enterCount != 0) {            throw new IllegalStateException("factory.makeContext() returned Context instance already associated with some thread");        }        cx.factory = factory;        factory.onContextCreated(cx);        if (factory.isSealed() && !cx.isSealed()) {            cx.seal(null);        }        VMBridge.instance.setContext(contextHelper, cx);        return cx;    }    private static void releaseContext(Object contextHelper, Context cx)    {        VMBridge.instance.setContext(contextHelper, null);        try {            cx.factory.onContextReleased(cx);        } finally {            cx.factory = null;        }    }    /**     * @deprecated     * @see ContextFactory#addListener(ContextFactory.Listener)     * @see ContextFactory#getGlobal()     */    public static void addContextListener(ContextListener listener)    {        // Special workaround for the debugger        String DBG = "org.mozilla.javascript.tools.debugger.Main";        if (DBG.equals(listener.getClass().getName())) {            Class cl = listener.getClass();            Class factoryClass = Kit.classOrNull(                "org.mozilla.javascript.ContextFactory");            Class[] sig = { factoryClass };            Object[] args = { ContextFactory.getGlobal() };            try {                Method m = cl.getMethod("attachTo", sig);                m.invoke(listener, args);            } catch (Exception ex) {                RuntimeException rex = new RuntimeException();                Kit.initCause(rex, ex);                throw rex;            }            return;        }        ContextFactory.getGlobal().addListener(listener);    }    /**     * @deprecated     * @see ContextFactory#removeListener(ContextFactory.Listener)     * @see ContextFactory#getGlobal()     */    public static void removeContextListener(ContextListener listener)    {        ContextFactory.getGlobal().addListener(listener);    }    /**     * Return {@link ContextFactory} instance used to create this Context     * or the result of {@link ContextFactory#getGlobal()} if no factory     * was used for Context creation.     */    public final ContextFactory getFactory()    {        ContextFactory result = factory;        if (result == null) {            result = ContextFactory.getGlobal();        }        return result;    }    /**     * Checks if this is a sealed Context. A sealed Context instance does not     * allow to modify any of its properties and will throw an exception     * on any such attempt.     * @see #seal(Object sealKey)     */    public final boolean isSealed()    {        return sealed;    }    /**     * Seal this Context object so any attempt to modify any of its properties     * including calling {@link #enter()} and {@link #exit()} methods will     * throw an exception.     * <p>     * If <tt>sealKey</tt> is not null, calling     * {@link #unseal(Object sealKey)} with the same key unseals     * the object. If <tt>sealKey</tt> is null, unsealing is no longer possible.     *     * @see #isSealed()     * @see #unseal(Object)     */    public final void seal(Object sealKey)    {        if (sealed) onSealedMutation();        sealed = true;        this.sealKey = sealKey;    }    /**     * Unseal previously sealed Context object.     * The <tt>sealKey</tt> argument should not be null and should match     * <tt>sealKey</tt> suplied with the last call to     * {@link #seal(Object)} or an exception will be thrown.     *     * @see #isSealed()     * @see #seal(Object sealKey)     */    public final void unseal(Object sealKey)    {        if (sealKey == null) throw new IllegalArgumentException();        if (this.sealKey != sealKey) throw new IllegalArgumentException();        if (!sealed) throw new IllegalStateException();        sealed = false;        this.sealKey = null;    }    static void onSealedMutation()    {        throw new IllegalStateException();    }    /**     * Get the current language version.     * <p>     * The language version number affects JavaScript semantics as detailed     * in the overview documentation.     *     * @return an integer that is one of VERSION_1_0, VERSION_1_1, etc.     */    public final int getLanguageVersion()    {       return version;    }    /**     * Set the language version.     *     * <p>     * Setting the language version will affect functions and scripts compiled     * subsequently. See the overview documentation for version-specific     * behavior.     *     * @param version the version as specified by VERSION_1_0, VERSION_1_1, etc.     */    public void setLanguageVersion(int version)    {        if (sealed) onSealedMutation();        checkLanguageVersion(version);        Object listeners = propertyListeners;        if (listeners != null && version != this.version) {            firePropertyChangeImpl(listeners, languageVersionProperty,                               new Integer(this.version),                               new Integer(version));        }        this.version = version;    }    public static boolean isValidLanguageVersion(int version)    {        switch (version) {            case VERSION_DEFAULT:            case VERSION_1_0:            case VERSION_1_1:            case VERSION_1_2:            case VERSION_1_3:            case VERSION_1_4:            case VERSION_1_5:            case VERSION_1_6:                return true;        }        return false;    }    public static void checkLanguageVersion(int version)    {        if (isValidLanguageVersion(version)) {            return;        }        throw new IllegalArgumentException("Bad language version: "+version);    }    /**     * Get the implementation version.     *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品77777竹菊影视小说| 日韩一级精品视频在线观看| 欧美日韩精品三区| 欧美一区二区三区视频免费播放| 欧美www视频| 国产精品国产自产拍高清av| 一区二区在线观看免费视频播放 | 久久综合99re88久久爱| 国产精品欧美一区喷水| 五月天婷婷综合| 国产成人在线看| 欧美日韩一区小说| 中文子幕无线码一区tr| 亚洲韩国精品一区| 成人午夜精品在线| 91精品国产一区二区| 亚洲欧美综合网| 九色|91porny| 欧美伊人久久大香线蕉综合69 | 国产一区二区三区在线看麻豆| 99精品欧美一区二区三区小说| 91精品国产福利在线观看| 日本一区二区成人在线| 精品一区二区在线播放| 日韩三级视频在线看| 亚洲女子a中天字幕| 国产一区二区三区免费在线观看| 欧美日韩精品一区二区三区四区| 亚洲国产精品高清| 国内精品视频666| 欧美乱熟臀69xxxxxx| 一区二区日韩av| av一区二区不卡| 国产精品视频第一区| 国产大片一区二区| www精品美女久久久tv| 久久超碰97人人做人人爱| 欧美一级黄色录像| 免费观看日韩电影| 欧美一级免费大片| 六月丁香婷婷色狠狠久久| 欧美电视剧免费全集观看| 久久99久久精品| 26uuu色噜噜精品一区二区| 国内精品视频一区二区三区八戒 | 2020国产成人综合网| 国产一区二区三区四区五区入口 | 亚洲柠檬福利资源导航| 色猫猫国产区一区二在线视频| 亚洲免费av在线| 在线不卡一区二区| 久久99国产精品免费| 国产视频不卡一区| 99精品视频在线免费观看| 综合精品久久久| 欧美高清精品3d| 久久狠狠亚洲综合| 欧美国产激情二区三区| 91美女视频网站| 日韩精品乱码av一区二区| 精品国产网站在线观看| 国产91精品欧美| 五月天国产精品| 国产日产欧产精品推荐色| 91欧美一区二区| 日产欧产美韩系列久久99| 国产午夜亚洲精品理论片色戒| 99久久精品情趣| 偷拍一区二区三区| 国产精品五月天| 日韩一级欧美一级| 99精品在线免费| 美美哒免费高清在线观看视频一区二区| 2021中文字幕一区亚洲| 91国产视频在线观看| 韩国三级中文字幕hd久久精品| 成人欧美一区二区三区在线播放| 欧美亚洲日本一区| 丁香六月综合激情| 懂色av一区二区在线播放| 亚洲福利电影网| 中文字幕亚洲区| 亚洲精品在线一区二区| 欧美日韩专区在线| 91美女视频网站| bt欧美亚洲午夜电影天堂| 九色|91porny| 麻豆91在线观看| 青椒成人免费视频| 无码av中文一区二区三区桃花岛| 一区二区三区**美女毛片| 亚洲精品免费电影| 亚洲欧美区自拍先锋| 亚洲欧洲日韩一区二区三区| 国产精品久久久久天堂| 成人免费在线视频观看| 国产精品国产三级国产专播品爱网 | 免费观看成人鲁鲁鲁鲁鲁视频| 日韩国产精品久久| 日本在线观看不卡视频| 韩国女主播一区| 成人性视频网站| 色婷婷狠狠综合| 这里只有精品视频在线观看| 精品欧美一区二区在线观看 | 亚洲尤物视频在线| 午夜精品福利一区二区三区蜜桃| 日韩激情一二三区| 国产精品一区二区在线看| 99久久国产综合精品女不卡| 欧美性受xxxx黑人xyx| 精品国产91乱码一区二区三区| 久久欧美一区二区| 亚洲自拍偷拍图区| 狠狠狠色丁香婷婷综合久久五月| 99国产精品一区| 日韩一区二区中文字幕| 中文字幕 久热精品 视频在线 | 亚洲高清中文字幕| 国产福利91精品一区| 欧美三级日韩三级| 国产精品麻豆一区二区| 日本不卡视频在线观看| 91麻豆国产在线观看| 久久夜色精品国产欧美乱极品| 亚洲精品乱码久久久久久黑人| 美女一区二区视频| 欧美影院一区二区三区| 国产精品理论片在线观看| 美女久久久精品| 欧美精三区欧美精三区| 亚洲色图制服丝袜| 国产精品中文欧美| 欧美tk丨vk视频| 亚洲成在线观看| 欧美亚洲综合在线| 亚洲色图19p| 色又黄又爽网站www久久| 国产嫩草影院久久久久| 国产一区二区三区美女| 精品欧美一区二区久久| 毛片一区二区三区| 91精品国产综合久久久蜜臀图片 | 国产一区二区看久久| 精品奇米国产一区二区三区| 日韩二区在线观看| 日韩欧美一级二级三级久久久| 日韩成人一区二区三区在线观看| 欧美高清视频www夜色资源网| 亚洲成在人线免费| 91精品国产综合久久久久久久| 亚洲午夜精品在线| 日韩写真欧美这视频| 久久99精品久久久久婷婷| 久久精品人人做人人综合| 国产精品一品二品| 欧美日韩精品久久久| 天天综合网天天综合色| 欧美亚洲高清一区| 日韩精品电影一区亚洲| 26uuu国产在线精品一区二区| 国产精品一二三在| 亚洲视频精选在线| 日韩一二在线观看| 国产东北露脸精品视频| 亚洲视频一区二区在线观看| 精品视频在线看| 国产一区二区中文字幕| 伊人性伊人情综合网| 精品国产乱码久久久久久夜甘婷婷 | 日韩一卡二卡三卡四卡| 懂色av一区二区三区免费观看| 亚洲精品国产第一综合99久久| 日韩一级完整毛片| 91亚洲国产成人精品一区二三| 日本特黄久久久高潮 | 奇米影视一区二区三区小说| 日本一区二区视频在线观看| 日本高清无吗v一区| 国产呦精品一区二区三区网站| 亚洲午夜久久久久久久久久久| 久久久不卡影院| 日韩一区二区三区电影| 色94色欧美sute亚洲线路一久| 国产精品影音先锋| 久久精品国产久精国产| 亚洲aaa精品| 一区二区三区在线免费观看| 国产日韩欧美高清在线| 欧美一区二区久久| 7777精品伊人久久久大香线蕉经典版下载| 国产精品一级在线| 精品伊人久久久久7777人| 午夜影视日本亚洲欧洲精品| 一区二区三区国产精品| 国产精品激情偷乱一区二区∴| 日本一区二区三区视频视频| 久久久久久久国产精品影院| 日韩一区二区三区电影在线观看 | 日韩欧美国产综合一区 |