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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? main.java

?? 主要的怎么樣結(jié)合java 和 javascript!
?? JAVA
字號(hào):
/* * The contents of this file are subject to the Netscape 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/NPL/ * * 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 Netscape are * Copyright (C) 1998-1999 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Christine Begle * Norris Boyd * Roger Lawrence * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License (the "GPL"), in which case the * provisions of the GPL are applicable instead of those above. * If you wish to allow use of your version of this file only * under the terms of the GPL and not to allow others to use your * version of this file under the NPL, indicate your decision by * deleting the provisions above and replace them with the notice * and other provisions required by the GPL.  If you do not delete * the provisions above, a recipient may use your version of this * file under either the NPL or the GPL. */package org.mozilla.javascript.tools.jsc;import java.io.*;import java.util.*;import org.mozilla.javascript.*;import org.mozilla.javascript.optimizer.ClassCompiler;import org.mozilla.javascript.tools.ToolErrorReporter;/** * @author Norris Boyd */public class Main {    /**     * Main entry point.     *     * Process arguments as would a normal Java program.     * Then set up the execution environment and begin to     * compile scripts.     */    public static void main(String args[])    {        Main main = new Main();        args = main.processOptions(args);        if (args == null) {            if (main.printHelp) {                System.out.println(ToolErrorReporter.getMessage(                    "msg.jsc.usage", Main.class.getName()));                System.exit(0);            }            System.exit(1);        }        if (!main.reporter.hasReportedError()) {            main.processSource(args);        }    }    public Main()    {        reporter = new ToolErrorReporter(true);        compilerEnv = new CompilerEnvirons();        compilerEnv.setErrorReporter(reporter);        compiler = new ClassCompiler(compilerEnv);    }    /**     * Parse arguments.     *     */    public String[] processOptions(String args[])    {        targetPackage = "";        // default to no package        compilerEnv.setGenerateDebugInfo(false);   // default to no symbols        for (int i=0; i < args.length; i++) {            String arg = args[i];            if (!arg.startsWith("-")) {                int tail = args.length - i;                if (targetName != null && tail > 1) {                    addError("msg.multiple.js.to.file", targetName);                    return null;                }                String[] result = new String[tail];                for (int j = 0; j != tail; ++j) {                    result[j] = args[i + j];                }                return result;            }            if (arg.equals("-help") || arg.equals("-h")                || arg.equals("--help"))            {                printHelp = true;                return null;            }            try {                if (arg.equals("-version") && ++i < args.length) {                    int version = Integer.parseInt(args[i]);                    compilerEnv.setLanguageVersion(version);                    continue;                }                if ((arg.equals("-opt") || arg.equals("-O"))  &&                    ++i < args.length)                {                    int optLevel = Integer.parseInt(args[i]);                    compilerEnv.setOptimizationLevel(optLevel);                    continue;                }            }            catch (NumberFormatException e) {                badUsage(args[i]);                return null;            }            if (arg.equals("-nosource")) {                compilerEnv.setGeneratingSource(false);                continue;            }            if (arg.equals("-debug") || arg.equals("-g")) {                compilerEnv.setGenerateDebugInfo(true);                continue;            }            if (arg.equals("-main-method-class") && ++i < args.length) {                compiler.setMainMethodClass(args[i]);                continue;            }            if (arg.equals("-o") && ++i < args.length) {                String name = args[i];                int end = name.length();                if (end == 0                    || !Character.isJavaIdentifierStart(name.charAt(0)))                {                    addError("msg.invalid.classfile.name", name);                    continue;                }                for (int j = 1; j < end; j++) {                    char c = name.charAt(j);                    if (!Character.isJavaIdentifierPart(c)) {                        if (c == '.') {                            // check if it is the dot in .class                            if (j == end - 6 && name.endsWith(".class")) {                                name = name.substring(0, j);                                break;                            }                        }                        addError("msg.invalid.classfile.name", name);                        break;                    }                }                targetName = name;                continue;            }            if (arg.equals("-package") && ++i < args.length) {                String pkg = args[i];                int end = pkg.length();                for (int j = 0; j != end; ++j) {                    char c = pkg.charAt(j);                    if (Character.isJavaIdentifierStart(c)) {                        for (++j; j != end; ++j) {                            c = pkg.charAt(j);                            if (!Character.isJavaIdentifierPart(c)) {                                break;                            }                        }                        if (j == end) {                            break;                        }                        if (c == '.' && j != end - 1) {                            continue;                        }                    }                    addError("msg.package.name", targetPackage);                    return null;                }                targetPackage = pkg;                continue;            }            if (arg.equals("-extends") && ++i < args.length) {                String targetExtends = args[i];                Class superClass;                try {                    superClass = Class.forName(targetExtends);                } catch (ClassNotFoundException e) {                    throw new Error(e.toString()); // TODO: better error                }                compiler.setTargetExtends(superClass);                continue;            }            if (arg.equals("-implements") && ++i < args.length) {                // TODO: allow for multiple comma-separated interfaces.                String targetImplements = args[i];                StringTokenizer st = new StringTokenizer(targetImplements,                                                         ",");                Vector v = new Vector();                while (st.hasMoreTokens()) {                    String className = st.nextToken();                    try {                        v.addElement(Class.forName(className));                    } catch (ClassNotFoundException e) {                        throw new Error(e.toString()); // TODO: better error                    }                }                Class[] implementsClasses = new Class[v.size()];                v.copyInto(implementsClasses);                compiler.setTargetImplements(implementsClasses);                continue;            }            if (arg.equals("-d") && ++i < args.length) {                destinationDir = args[i];                continue;            }            badUsage(arg);            return null;        }        // no file name        p(ToolErrorReporter.getMessage("msg.no.file"));        return null;    }    /**     * Print a usage message.     */    private static void badUsage(String s) {        System.err.println(ToolErrorReporter.getMessage(            "msg.jsc.bad.usage", Main.class.getName(), s));    }    /**     * Compile JavaScript source.     *     */    public void processSource(String[] filenames)    {        for (int i = 0; i != filenames.length; ++i) {            String filename = filenames[i];            if (!filename.endsWith(".js")) {                addError("msg.extension.not.js", filename);                return;            }            File f = new File(filename);            String source = readSource(f);            if (source == null) return;            String mainClassName = targetName;            if (mainClassName == null) {                String name = f.getName();                String nojs = name.substring(0, name.length() - 3);                mainClassName = getClassName(nojs);            }            if (targetPackage.length() != 0) {                mainClassName = targetPackage+"."+mainClassName;            }            Object[] compiled                = compiler.compileToClassFiles(source, filename, 1,                                               mainClassName);            if (compiled == null || compiled.length == 0) {                return;            }            File targetTopDir = null;            if (destinationDir != null) {                targetTopDir = new File(destinationDir);            } else {                String parent = f.getParent();                if (parent != null) {                    targetTopDir = new File(parent);                }            }            for (int j = 0; j != compiled.length; j += 2) {                String className = (String)compiled[j];                byte[] bytes = (byte[])compiled[j + 1];                File outfile = getOutputFile(targetTopDir, className);                try {                    FileOutputStream os = new FileOutputStream(outfile);                    try {                        os.write(bytes);                    } finally {                        os.close();                    }                } catch (IOException ioe) {                    addFormatedError(ioe.toString());                }            }        }    }    private String readSource(File f)    {        if (!f.exists()) {            addError("msg.jsfile.not.found", f.getAbsolutePath());            return null;        }        try {            Reader in = new FileReader(f);            try {                return Kit.readReader(in);            } finally {                in.close();            }        } catch (FileNotFoundException ex) {            addError("msg.couldnt.open", f.getAbsolutePath());        } catch (IOException ioe) {            addFormatedError(ioe.toString());        }        return null;    }    private File getOutputFile(File parentDir, String className)    {        String path = className.replace('.', File.separatorChar);        path = path.concat(".class");        File f = new File(parentDir, path);        String dirPath = f.getParent();        if (dirPath != null) {            File dir = new File(dirPath);            if (!dir.exists()) {                dir.mkdirs();            }        }        return f;    }    /**     * Verify that class file names are legal Java identifiers.  Substitute     * illegal characters with underscores, and prepend the name with an     * underscore if the file name does not begin with a JavaLetter.     */    String getClassName(String name) {        char[] s = new char[name.length()+1];        char c;        int j = 0;        if (!Character.isJavaIdentifierStart(name.charAt(0))) {            s[j++] = '_';        }        for (int i=0; i < name.length(); i++, j++) {            c = name.charAt(i);            if ( Character.isJavaIdentifierPart(c) ) {                s[j] = c;            } else {                s[j] = '_';            }        }        return (new String(s)).trim();     }    private static void p(String s) {        System.out.println(s);    }    private void addError(String messageId, String arg)    {        String msg;        if (arg == null) {            msg = ToolErrorReporter.getMessage(messageId);        } else {            msg = ToolErrorReporter.getMessage(messageId, arg);        }        addFormatedError(msg);    }    private void addFormatedError(String message)    {        reporter.error(message, null, -1, null, -1);    }    private boolean printHelp;    private ToolErrorReporter reporter;    private CompilerEnvirons compilerEnv;    private ClassCompiler compiler;    private String targetName;    private String targetPackage;    private String destinationDir;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产综合一区二区| eeuss影院一区二区三区| 夜夜精品视频一区二区| 国产人成亚洲第一网站在线播放| 欧美一区二区美女| 欧美一级黄色录像| 欧美一二三区精品| 欧美高清在线一区| 亚洲精品免费在线观看| 亚洲精品一二三区| 青青草国产成人av片免费| 久久99国产精品久久99 | 亚洲制服欧美中文字幕中文字幕| 一区二区三区在线视频观看58 | 国产偷国产偷亚洲高清人白洁| 国产精品初高中害羞小美女文| 亚洲一区二区三区三| 精品一区二区免费视频| 成人av资源在线| 91精品婷婷国产综合久久竹菊| 精品99一区二区| 国产日韩精品久久久| 日韩高清在线电影| 99re这里只有精品6| 欧美一区二区视频网站| 国产精品久久久久久久久搜平片| 日韩二区在线观看| 色屁屁一区二区| 久久久久久久性| 日韩国产欧美在线播放| 91在线观看视频| 国产视频亚洲色图| 美国欧美日韩国产在线播放| 色综合久久天天综合网| 亚洲精品一线二线三线| 日韩码欧中文字| 国产美女视频91| 精品国产一区二区三区忘忧草| 一区二区在线观看不卡| 欧美综合视频在线观看| 亚洲综合色婷婷| 精品久久久久一区二区国产| 91精品在线麻豆| 乱一区二区av| 欧美激情一区不卡| 97se亚洲国产综合自在线 | 欧美丰满一区二区免费视频| 亚洲一二三区在线观看| 正在播放一区二区| 韩国精品一区二区| 中文字幕一区二区日韩精品绯色| 色综合av在线| 在线观看av不卡| 日本一道高清亚洲日美韩| 久久精品人人爽人人爽| 色婷婷av一区二区| 美腿丝袜一区二区三区| 国产欧美一区二区精品仙草咪 | 日韩精品一区二区三区中文不卡 | 欧美丰满少妇xxxbbb| 久久99国产精品久久| 中文字幕在线观看不卡| 91精品国产91久久久久久最新毛片| 久久99精品视频| 亚洲视频小说图片| 久久婷婷国产综合国色天香| 91视频观看视频| 久久精品999| 亚洲综合激情另类小说区| 欧美精品一区二区三区视频| 91丨porny丨国产入口| 久久精品国产久精国产爱| 亚洲午夜一区二区| 久久精品一二三| 日韩一区二区三区视频在线观看| 成人黄色在线视频| 国产精品影音先锋| 秋霞影院一区二区| 调教+趴+乳夹+国产+精品| 国产精品久久久久三级| 国产欧美中文在线| 久久久久亚洲蜜桃| 日韩精品中午字幕| 3751色影院一区二区三区| 久久精品视频免费| 久久综合色天天久久综合图片| 欧美日本精品一区二区三区| 色综合久久综合网97色综合| 成人黄色网址在线观看| 懂色av一区二区在线播放| 久久99国产精品麻豆| 免费不卡在线视频| 日韩高清一区二区| 久久99热这里只有精品| 久久成人免费电影| 久久99精品久久久| 国产精品自在在线| 成人av高清在线| 在线视频欧美区| 欧美日韩不卡一区二区| 欧美日韩国产美| 精品国产乱码久久久久久久| 久久综合999| 中文字幕欧美一区| 婷婷久久综合九色综合绿巨人| 男女男精品视频网| 国产精品77777| 色婷婷狠狠综合| 日韩欧美在线一区二区三区| 久久精品一区四区| 亚洲mv在线观看| 激情av综合网| 欧美艳星brazzers| 久久一区二区三区四区| 亚洲免费观看高清| 麻豆91在线播放| 97久久超碰国产精品| 欧美一区二区三区男人的天堂 | 亚洲成人免费av| 国产一区在线观看视频| 一本大道av伊人久久综合| 日韩视频中午一区| 亚洲一区在线观看免费观看电影高清| 亚洲高清久久久| 国产福利一区二区三区在线视频| 91行情网站电视在线观看高清版| 日韩精品一区二区三区三区免费| 亚洲特级片在线| 国产大陆亚洲精品国产| 欧美日韩国产综合视频在线观看| 国产精品久久网站| 国产精品2024| 欧美精品一区视频| 欧美综合色免费| 亚洲免费在线电影| 97久久精品人人爽人人爽蜜臀| 国产日韩亚洲欧美综合| 国模套图日韩精品一区二区| 欧美日本韩国一区二区三区视频| 亚洲欧洲国产专区| 99久久精品国产麻豆演员表| 国产精品免费久久| av不卡免费在线观看| 国产精品久久久久久久久免费相片| 国产一区二区看久久| 日韩一区二区影院| 激情伊人五月天久久综合| 日韩欧美国产不卡| 久久99九九99精品| 久久久久久久久99精品| 国产美女视频91| 国产精品视频yy9299一区| 高清不卡一区二区在线| 最新国产成人在线观看| 在线中文字幕不卡| 日本亚洲欧美天堂免费| 精品成人在线观看| 成人做爰69片免费看网站| 亚洲天堂中文字幕| 在线播放/欧美激情| 国产很黄免费观看久久| 亚洲精品亚洲人成人网在线播放| 欧美日本在线一区| 国产精品 欧美精品| 亚洲一区免费观看| 精品国产免费久久| 色国产综合视频| 4438x亚洲最大成人网| 成人午夜大片免费观看| 日本一区二区三区在线观看| 在线观看视频一区二区欧美日韩| 日韩精品1区2区3区| 国产精品私人自拍| 欧美蜜桃一区二区三区| 国产成人在线观看免费网站| 亚洲一区国产视频| 国产精品久久毛片a| 日韩亚洲欧美高清| 91色porny蝌蚪| 国产99精品国产| 日韩av一二三| 一区二区三区在线观看视频 | 久久久久久综合| 日韩视频一区二区在线观看| 91麻豆免费视频| 高清成人在线观看| 久久精品72免费观看| 亚洲成人在线免费| 亚洲视频每日更新| 久久夜色精品国产噜噜av| 欧美一区二区精品在线| 欧美精品1区2区3区| 欧美精品日韩综合在线| 欧洲一区在线电影| 欧美在线观看视频一区二区| 91国偷自产一区二区开放时间 | 一区二区三区精品在线| 专区另类欧美日韩| 综合激情成人伊人| 依依成人精品视频|