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

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

?? nativejavamethod.java

?? 主要的怎么樣結合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
            int alength = argTypes.length;            if (alength != args.length) {                return -1;            }            for (int j = 0; j != alength; ++j) {                if (!NativeJavaObject.canConvert(args[j], argTypes[j])) {                    if (debug) printDebug("Rejecting (args can't convert) ",                                          member, args);                    return -1;                }            }            if (debug) printDebug("Found ", member, args);            return 0;        }        int firstBestFit = -1;        int[] extraBestFits = null;        int extraBestFitsCount = 0;      search:        for (int i = 0; i < methodsOrCtors.length; i++) {            MemberBox member = methodsOrCtors[i];            Class[] argTypes = member.argTypes;            if (argTypes.length != args.length) {                continue search;            }            for (int j = 0; j < argTypes.length; j++) {                if (!NativeJavaObject.canConvert(args[j], argTypes[j])) {                    if (debug) printDebug("Rejecting (args can't convert) ",                                          member, args);                    continue search;                }            }            if (firstBestFit < 0) {                if (debug) printDebug("Found first applicable ", member, args);                firstBestFit = i;            } else {                // Compare with all currently fit methods.                // The loop starts from -1 denoting firstBestFit and proceed                // until extraBestFitsCount to avoid extraBestFits allocation                // in the most common case of no ambiguity                int betterCount = 0; // number of times member was prefered over                                     // best fits                int worseCount = 0;  // number of times best fits were prefered                                     // over member                for (int j = -1; j != extraBestFitsCount; ++j) {                    int bestFitIndex;                    if (j == -1) {                        bestFitIndex = firstBestFit;                    } else {                        bestFitIndex = extraBestFits[j];                    }                    MemberBox bestFit = methodsOrCtors[bestFitIndex];                    int preference = preferSignature(args, argTypes,                                                     bestFit.argTypes);                    if (preference == PREFERENCE_AMBIGUOUS) {                        break;                    } else if (preference == PREFERENCE_FIRST_ARG) {                        ++betterCount;                    } else if (preference == PREFERENCE_SECOND_ARG) {                        ++worseCount;                    } else {                        if (preference != PREFERENCE_EQUAL) Kit.codeBug();                        // This should not happen in theory                        // but on some JVMs, Class.getMethods will return all                        // static methods of the class heirarchy, even if                        // a derived class's parameters match exactly.                        // We want to call the dervied class's method.                        if (bestFit.isStatic()                            && bestFit.getDeclaringClass().isAssignableFrom(                                   member.getDeclaringClass()))                        {                            // On some JVMs, Class.getMethods will return all                            // static methods of the class heirarchy, even if                            // a derived class's parameters match exactly.                            // We want to call the dervied class's method.                            if (debug) printDebug(                                "Substituting (overridden static)",                                member, args);                            if (j == -1) {                                firstBestFit = i;                            } else {                                extraBestFits[j] = i;                            }                        } else {                            if (debug) printDebug(                                "Ignoring same signature member ",                                member, args);                        }                        continue search;                    }                }                if (betterCount == 1 + extraBestFitsCount) {                    // member was prefered over all best fits                    if (debug) printDebug(                        "New first applicable ", member, args);                    firstBestFit = i;                    extraBestFitsCount = 0;                } else if (worseCount == 1 + extraBestFitsCount) {                    // all best fits were prefered over member, ignore it                    if (debug) printDebug(                        "Rejecting (all current bests better) ", member, args);                } else {                    // some ambiguity was present, add member to best fit set                    if (debug) printDebug(                        "Added to best fit set ", member, args);                    if (extraBestFits == null) {                        // Allocate maximum possible array                        extraBestFits = new int[methodsOrCtors.length - 1];                    }                    extraBestFits[extraBestFitsCount] = i;                    ++extraBestFitsCount;                }            }        }        if (firstBestFit < 0) {            // Nothing was found            return -1;        } else if (extraBestFitsCount == 0) {            // single best fit            return firstBestFit;        }        // report remaining ambiguity        StringBuffer buf = new StringBuffer();        for (int j = -1; j != extraBestFitsCount; ++j) {            int bestFitIndex;            if (j == -1) {                bestFitIndex = firstBestFit;            } else {                bestFitIndex = extraBestFits[j];            }            buf.append("\n    ");            buf.append(methodsOrCtors[bestFitIndex].toJavaDeclaration());        }        MemberBox firstFitMember = methodsOrCtors[firstBestFit];        String memberName = firstFitMember.getName();        String memberClass = firstFitMember.getDeclaringClass().getName();        if (methodsOrCtors[0].isMethod()) {            throw Context.reportRuntimeError3(                "msg.constructor.ambiguous",                memberName, scriptSignature(args), buf.toString());        } else {            throw Context.reportRuntimeError4(                "msg.method.ambiguous", memberClass,                memberName, scriptSignature(args), buf.toString());        }    }    /** Types are equal */    private static final int PREFERENCE_EQUAL      = 0;    private static final int PREFERENCE_FIRST_ARG  = 1;    private static final int PREFERENCE_SECOND_ARG = 2;    /** No clear "easy" conversion */    private static final int PREFERENCE_AMBIGUOUS  = 3;    /**     * Determine which of two signatures is the closer fit.     * Returns one of PREFERENCE_EQUAL, PREFERENCE_FIRST_ARG,     * PREFERENCE_SECOND_ARG, or PREFERENCE_AMBIGUOUS.     */    private static int preferSignature(Object[] args,                                       Class[] sig1, Class[] sig2)    {        int totalPreference = 0;        for (int j = 0; j < args.length; j++) {            Class type1 = sig1[j];            Class type2 = sig2[j];            if (type1 == type2) {                continue;            }            Object arg = args[j];            // Determine which of type1, type2 is easier to convert from arg.            int rank1 = NativeJavaObject.getConversionWeight(arg, type1);            int rank2 = NativeJavaObject.getConversionWeight(arg, type2);            int preference;            if (rank1 < rank2) {                preference = PREFERENCE_FIRST_ARG;            } else if (rank1 > rank2) {                preference = PREFERENCE_SECOND_ARG;            } else {                // Equal ranks                if (rank1 == NativeJavaObject.CONVERSION_NONTRIVIAL) {                    if (type1.isAssignableFrom(type2)) {                        preference = PREFERENCE_SECOND_ARG;                    } else if (type2.isAssignableFrom(type1)) {                        preference = PREFERENCE_FIRST_ARG;                    } else {                        preference = PREFERENCE_AMBIGUOUS;                    }                } else {                    preference = PREFERENCE_AMBIGUOUS;                }            }            totalPreference |= preference;            if (totalPreference == PREFERENCE_AMBIGUOUS) {                break;            }        }        return totalPreference;    }    private static final boolean debug = false;    private static void printDebug(String msg, MemberBox member,                                   Object[] args)    {        if (debug) {            StringBuffer sb = new StringBuffer();            sb.append(" ----- ");            sb.append(msg);            sb.append(member.getDeclaringClass().getName());            sb.append('.');            if (member.isMethod()) {                sb.append(member.getName());            }            sb.append(JavaMembers.liveConnectSignature(member.argTypes));            sb.append(" for arguments (");            sb.append(scriptSignature(args));            sb.append(')');            System.out.println(sb);        }    }    MemberBox[] methods;    private String functionName;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩写真欧美这视频| 日韩va欧美va亚洲va久久| 激情偷乱视频一区二区三区| 欧美午夜寂寞影院| 一区二区三区日韩精品| 色妞www精品视频| 一区二区三区在线视频观看58| av一区二区三区四区| 亚洲欧美日韩中文播放| 91免费在线视频观看| 亚洲一二三区视频在线观看| 欧美一区二区在线视频| 老司机午夜精品| 一本一道综合狠狠老| 91精品国产色综合久久ai换脸 | 精品一区二区三区的国产在线播放| 亚洲一区自拍偷拍| 91在线观看美女| 亚洲黄色小说网站| 欧美一区二区私人影院日本| 日韩成人免费电影| www日韩大片| 色哟哟国产精品| 久久国产精品99久久人人澡| 久久女同性恋中文字幕| 色欧美片视频在线观看| 欧美aⅴ一区二区三区视频| 国产网站一区二区| 欧美日韩一区成人| 成人高清免费观看| 日韩和欧美一区二区| 自拍av一区二区三区| 日韩视频一区二区三区在线播放| 成人性生交大片免费| 亚洲成人精品影院| 亚洲欧美区自拍先锋| 26uuu精品一区二区| 7777精品伊人久久久大香线蕉超级流畅| 久久99久久99| 无码av免费一区二区三区试看| 国产无人区一区二区三区| 在线不卡中文字幕播放| av资源站一区| 91亚洲精品久久久蜜桃| 福利一区二区在线| 国精产品一区一区三区mba视频 | 国产精品久久久久四虎| 精品国产91洋老外米糕| 日韩欧美aaaaaa| 欧美一级理论片| 欧美一区二区三区小说| 在线观看成人小视频| 一本久久综合亚洲鲁鲁五月天| 成人永久免费视频| 不卡的看片网站| 色视频欧美一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 成人不卡免费av| 99re成人精品视频| 欧美日韩五月天| 欧美一区二区久久久| 精品国产1区2区3区| 国产日韩av一区二区| 亚洲伦在线观看| 香蕉久久夜色精品国产使用方法| 丝袜a∨在线一区二区三区不卡| 亚洲va国产va欧美va观看| 日韩av电影免费观看高清完整版在线观看| 天天影视色香欲综合网老头| 久久 天天综合| 波多野结衣精品在线| 欧美乱妇15p| 国产精品免费免费| 美国欧美日韩国产在线播放| 国产盗摄女厕一区二区三区| 国产98色在线|日韩| 欧美制服丝袜第一页| 欧美国产一区二区| 丝袜亚洲另类欧美综合| 日韩激情av在线| 在线观看国产一区二区| 日韩激情一区二区| 4438成人网| 久久精品国产网站| 久久嫩草精品久久久精品一| 国产一区二区三区黄视频 | 懂色av一区二区三区免费观看| 亚洲精品中文字幕在线观看| eeuss国产一区二区三区| 国产欧美日韩不卡免费| 国产精品123| 国产精品日日摸夜夜摸av| 成人在线视频一区| 中文字幕制服丝袜一区二区三区| 粉嫩欧美一区二区三区高清影视| 精品国产伦理网| 成人黄色av网站在线| 国产精品久久久久影院| 一本久久a久久免费精品不卡| 国产精品天天摸av网| 91在线一区二区| 亚洲综合色视频| 91精品久久久久久蜜臀| 久久国产三级精品| 国产人妖乱国产精品人妖| 色av成人天堂桃色av| 亚洲精品网站在线观看| 7777精品伊人久久久大香线蕉完整版 | 黑人精品欧美一区二区蜜桃| 欧美激情综合在线| 91成人免费在线| 蜜臀av国产精品久久久久| 久久久久青草大香线综合精品| 成人免费观看男女羞羞视频| 亚洲女同ⅹxx女同tv| 欧美电影免费观看高清完整版在线 | 国产精品一区二区在线播放| 天堂午夜影视日韩欧美一区二区| 亚洲精品自拍动漫在线| 久久久精品一品道一区| 久久久久久电影| 4438成人网| 欧美日韩国产一级片| 日本高清不卡在线观看| 国产精品影视天天线| 麻豆精品在线播放| 天堂影院一区二区| 日韩avvvv在线播放| 亚洲免费成人av| 亚洲综合一区二区三区| 国产精品理论在线观看| 精品国产一区a| 日韩一级免费一区| 91精品久久久久久久99蜜桃| 91亚洲精品久久久蜜桃网站| 99久久精品费精品国产一区二区| 久久国产综合精品| 亚洲高清三级视频| 精品一区二区三区欧美| 亚洲第一精品在线| av一区二区久久| av不卡在线观看| 欧美乱熟臀69xxxxxx| 欧美性大战久久久久久久蜜臀| 欧美天天综合网| 久久网站最新地址| 悠悠色在线精品| 激情综合色播激情啊| 播五月开心婷婷综合| 91精品国产福利| 欧美一区二区三区四区久久| 99久久777色| 国产一区二区三区四区五区美女 | 日本女人一区二区三区| 中文字幕乱码亚洲精品一区| 亚洲午夜一区二区三区| av一区二区久久| 久久精品男人的天堂| 亚洲美女免费在线| 欧美猛男男办公室激情| 久久成人羞羞网站| 中文av一区二区| 欧亚一区二区三区| 久久精品国产久精国产| 国产亚洲欧洲一区高清在线观看| 国产超碰在线一区| 一区二区在线观看av| 欧美一区二区在线看| 国产成人在线视频播放| 一区二区三区资源| 精品日产卡一卡二卡麻豆| 成人精品小蝌蚪| 亚洲成人激情综合网| 久久人人97超碰com| 一本大道久久a久久精二百| 日韩二区三区四区| 欧美国产丝袜视频| 精品视频免费看| 国产精品亚洲а∨天堂免在线| 亚洲天堂成人网| 精品91自产拍在线观看一区| 91同城在线观看| 极品瑜伽女神91| 亚洲一区二区在线免费看| 亚洲精品在线一区二区| 欧美在线一区二区| 国产成a人亚洲精| 日本成人在线视频网站| 成人欧美一区二区三区白人| 3d动漫精品啪啪1区2区免费| av不卡在线播放| 国产一区二区三区最好精华液| 亚洲福利视频三区| 国产精品视频一区二区三区不卡| 91精品国产一区二区三区蜜臀| 成人av网在线| 精品亚洲aⅴ乱码一区二区三区| 亚洲一区二区三区四区在线免费观看 | 中文字幕国产一区| 日韩视频123|