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

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

?? classfile.java

?? 對xml很好的java處理引擎,編譯中綁定xml
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/*Copyright (c) 2003-2005, Dennis M. SosnoskiAll rights reserved.Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this   list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice,   this list of conditions and the following disclaimer in the documentation   and/or other materials provided with the distribution. * Neither the name of JiBX nor the names of its contributors may be used   to endorse or promote products derived from this software without specific   prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/package org.jibx.binding.classes;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.MalformedURLException;import java.net.URL;import java.net.URLClassLoader;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import org.apache.bcel.Constants;import org.apache.bcel.classfile.ClassParser;import org.apache.bcel.classfile.Code;import org.apache.bcel.classfile.CodeException;import org.apache.bcel.classfile.Constant;import org.apache.bcel.classfile.ConstantDouble;import org.apache.bcel.classfile.ConstantFloat;import org.apache.bcel.classfile.ConstantInteger;import org.apache.bcel.classfile.ConstantLong;import org.apache.bcel.classfile.ConstantPool;import org.apache.bcel.classfile.ConstantString;import org.apache.bcel.classfile.ConstantUtf8;import org.apache.bcel.classfile.ConstantValue;import org.apache.bcel.classfile.ExceptionTable;import org.apache.bcel.classfile.Field;import org.apache.bcel.classfile.FieldOrMethod;import org.apache.bcel.classfile.JavaClass;import org.apache.bcel.classfile.Method;import org.apache.bcel.classfile.Synthetic;import org.apache.bcel.classfile.Utility;import org.apache.bcel.generic.ClassGen;import org.apache.bcel.generic.ConstantPoolGen;import org.apache.bcel.generic.FieldGen;import org.apache.bcel.generic.Type;import org.apache.bcel.util.ClassPath;import org.jibx.runtime.JiBXException;/** * Class file information. Wraps the actual class file data as well as * associated management information. * * @author Dennis M. Sosnoski * @version 1.0 */public class ClassFile{    //    // Constants for code generation.        public static final int PRIVATE_ACCESS = 0;    public static final int PACKAGE_ACCESS = 1;    public static final int PROTECTED_ACCESS = 2;    public static final int PUBLIC_ACCESS = 3;        public static final int SYNTHETIC_ACCESS_FLAG = 0x1000;        protected static final int PRIVATEFIELD_ACCESS =        Constants.ACC_PRIVATE | SYNTHETIC_ACCESS_FLAG;    protected static final ExistingMethod[] EMPTY_METHOD_ARRAY = {};    protected static final byte[] EMPTY_BYTES = new byte[0];        public static final ClassItem[] EMPTY_CLASS_ITEMS = new ClassItem[0];        //    // Class data.        /** Singleton loader from classpath. */    private static ClassPath s_loader;        /** Direct class loader. */    private static ClassLoader s_directLoader;            //    // Actual instance data.    /** Fully qualified class name. */    private String m_name;    /** Signature for class as type. */    private String m_signature;        /** Class as type. */    private Type m_type;    /** Directory root for class. */    private File m_root;    /** Actual class file information. */    private File m_file;    /** Class in same package as superclass flag. */    private boolean m_isSamePackage;    /** File is writable flag. */    private boolean m_isWritable;    /** Super class of this class (set by caller, since it may require     additional information to find the class file). */    protected ClassFile m_superClass;        /** Names of all interfaces directly implemented by this class. */    protected String[] m_interfaceNames;        /** Class files of interfaces extended by interface. */    private ClassFile[] m_superInterfaces;        /** All classes and interfaces of which this is an instance (lazy create,     only if needed. */    private String[] m_instanceOfs;        /** All methods defined by this class or interface (lazy create, only if     needed. */    private Method[] m_methods;    /** Base class information as loaded by BCEL. */    private JavaClass m_curClass;    /** Modified class generator (lazy create, only if needed). */    private ClassGen m_genClass;    /** Constant pool generator for modified class (lazy create, only if     needed). */    private ConstantPoolGen m_genPool;    /** Instruction factory for modified class (lazy create, only if needed). */    protected InstructionBuilder m_instBuilder;        /** Map for method names with possibly generated suffixes (lazy create, only     if needed). */    private HashMap m_suffixMap;        /** Map to class item information. */    private HashMap m_itemMap;        /** Flag for class modified. */    private boolean m_isModified;        /** Usage count for this class. */    private int m_useCount;        /** Hash code computation for class is current flag. */    private boolean m_isHashCurrent;        /** Cached hash code value for class. */    private int m_hashCode;        /** Depth of superclass hierarchy for class (lazy computation). */    private int m_inheritDepth;        /** Suffix number for making method names unique (lazy computation). */    private int m_uniqueIndex;        /** Added default constructor for class. */    private ClassItem m_defaultConstructor;    /**     * Constructor for class file loaded from a stream. Loads the class data     * and prepares it for use.     *     * @param name fully qualified class name     * @param path class file path     * @param ins input stream for class file data     * @throws JiBXException if unable to load class file     */    public ClassFile(String name, String path, InputStream ins)        throws JiBXException {        init(name, path, ins);    }    /**     * Constructor for preexisting class file. Loads the class data and     * prepares it for use.     *     * @param name fully qualified class name     * @param root directory root from class loading path list     * @param file actual class file     * @throws IOException if unable to open file     * @throws JiBXException if error in reading class file     */    public ClassFile(String name, File root, File file)        throws IOException, JiBXException {        init(name, root.getPath(), new FileInputStream(file));        m_root = root;        m_file = file;        m_isWritable = file.canWrite();    }    /**     * Constructor for preexisting class file from classpath. Loads the class     * data and prepares it for use.     *     * @param name fully qualified class name     * @throws IOException if unable to open file     * @throws JiBXException if error in reading class file     */    public ClassFile(String name) throws IOException, JiBXException {                // try out class path first, then BCEL system path        ClassPath.ClassFile cf = null;        try {             cf = s_loader.getClassFile(name);        } catch (IOException ex) {            try {                cf = ClassPath.SYSTEM_CLASS_PATH.getClassFile(name);            } catch (IOException ex1) { /* deliberately left empty */ }        }        if (cf == null) {            throw new JiBXException("Class " + name +                " not found in any classpath");        } else {            init(name, cf.getPath(), cf.getInputStream());        }    }    /**     * Constructor for synthetic placeholder classfile with no backing class     * data.     *     * @param name fully qualified class name     * @param sig corresponding class signature     */    public ClassFile(String name, String sig) {        m_name = name;        m_signature = sig;        m_type = Type.getType(sig);        m_interfaceNames = new String[0];        m_superInterfaces = new ClassFile[0];        m_itemMap = new HashMap();    }    /**     * Constructor for new class file. Initializes the class data and     * prepares it for use.     *     * @param name fully qualified class name     * @param root directory root from class loading path list     * @param sclas superclass of new class     * @param access access flags for class     * @param impls array of interfaces implemented by new class     * @throws JiBXException on error loading interface information     */    public ClassFile(String name, File root, ClassFile sclas, int access,        String[] impls) throws JiBXException {        String fname = name.replace('.', File.separatorChar)+".class";        File file = new File(root, fname);        m_name = name;        m_signature = Utility.getSignature(name);        m_type = ClassItem.typeFromName(name);        m_root = root;        m_superClass = sclas;        m_interfaceNames = impls;        m_file = file;        m_isWritable = true;        m_genClass = new ClassGen(name, sclas.getName(), "",            access | SYNTHETIC_ACCESS_FLAG, impls);        m_genPool = m_genClass.getConstantPool();        int index = m_genPool.addUtf8("Synthetic");        m_genClass.addAttribute(new Synthetic(index, 0, EMPTY_BYTES,            m_genPool.getConstantPool()));        m_instBuilder = new InstructionBuilder(m_genClass, m_genPool);        m_itemMap = new HashMap();        initInterface();        ClassCache.addClassFile(this);    }    /**     * Internal initialization method. This is used to handle common     * initialization for the constructors.     *     * @param name fully qualified class name     * @param path class file path     * @param ins input stream for class file data     * @throws JiBXException if unable to load class file     */    private void init(String name, String path, InputStream ins)        throws JiBXException {        m_name = name;        m_signature = Utility.getSignature(name);        m_type = ClassItem.typeFromName(name);        m_itemMap = new HashMap();        if (path == null) {            m_interfaceNames = new String[0];        } else {            String fname = name.replace('.', File.separatorChar) + ".class";            ClassParser parser = new ClassParser(ins, fname);            try {                m_curClass = parser.parse();                m_interfaceNames = m_curClass.getInterfaceNames();            } catch (Exception ex) {                throw new JiBXException("Error reading path " +                    path + " for class " + name);            }        }        initInterface();    }        /**     * Retrieve superinterfaces for an interface class. These are collected at     * initialization so that we can support getting the full set of methods     * later without worrying about throwing an exception.     *      * @throws JiBXException on error loading interface information     */    private void initInterface() throws JiBXException {        if (isInterface() && m_interfaceNames.length > 0) {            ClassFile[] supers = new ClassFile[m_interfaceNames.length];            for (int i = 0; i < m_interfaceNames.length; i++) {                supers[i] = ClassCache.getClassFile(m_interfaceNames[i]);            }            m_superInterfaces = supers;        } else {            m_superInterfaces = new ClassFile[0];        }    }    /**     * Check if class is an interface. This only checks existing classes,     * assuming that no generated classes are interfaces.     *     * @return <code>true</code> if an interface, <code>false</code> if not     */    public boolean isInterface() {        return m_curClass != null && m_curClass.isInterface();    }    /**     * Check if class is abstract. This only checks existing classes,     * assuming that no generated classes are abstract.     *     * @return <code>true</code> if an abstract class, <code>false</code> if not     */    public boolean isAbstract() {        return m_curClass != null && m_curClass.isAbstract();    }    /**     * Check if class is an array. This only checks existing classes,     * assuming that no generated classes are arrays.     *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区做爰视频网站| 日韩高清在线电影| 国产盗摄精品一区二区三区在线| 91精品国产色综合久久ai换脸| 亚洲一级在线观看| 欧美日韩国产综合一区二区三区| 日本在线不卡视频| www精品美女久久久tv| 国内精品久久久久影院薰衣草| 亚洲国产精品成人综合色在线婷婷| 国产一二精品视频| 中文字幕一区二区三区av| 色呦呦网站一区| 日韩中文字幕亚洲一区二区va在线 | 欧美一区二区三区喷汁尤物| 久久国产精品第一页| 日本一区二区三区四区在线视频| 91影院在线免费观看| 午夜欧美2019年伦理| 久久婷婷一区二区三区| 91美女片黄在线| 日韩激情视频网站| 欧美激情一区二区三区全黄| 在线欧美日韩国产| 久久精品国产精品亚洲综合| 国产精品久久午夜夜伦鲁鲁| 在线成人免费观看| 成人av免费在线观看| 图片区小说区区亚洲影院| 国产精品视频yy9299一区| 欧美日本在线视频| 成人黄动漫网站免费app| 日韩影院在线观看| 国产精品国产三级国产aⅴ入口| 欧美日韩国产系列| 成人精品一区二区三区四区 | 欧美成人aa大片| 91免费视频大全| 韩国精品久久久| 无码av中文一区二区三区桃花岛| 久久久噜噜噜久久人人看| 欧美人妇做爰xxxⅹ性高电影| 国产在线视频一区二区三区| 亚洲一区二区偷拍精品| 国产欧美精品一区aⅴ影院| 欧美嫩在线观看| 99精品国产视频| 韩国精品一区二区| 日韩成人一区二区三区在线观看| 成人欧美一区二区三区在线播放| 精品国精品自拍自在线| 国产欧美日本一区视频| 91精品国产综合久久精品| 色综合久久88色综合天天6| 丁香六月综合激情| 久久99精品国产麻豆婷婷| 婷婷国产v国产偷v亚洲高清| 亚洲欧美日韩中文播放| 国产精品久久久久一区二区三区共| 欧美变态tickle挠乳网站| 欧美日韩精品一区二区三区蜜桃 | 狠狠色丁香婷婷综合久久片| 日日噜噜夜夜狠狠视频欧美人| 一区二区三区在线不卡| 中文字幕av一区二区三区| 久久先锋影音av鲁色资源网| 欧美一级二级三级蜜桃| 欧美精选一区二区| 欧美日韩午夜在线| 欧美日韩一区二区三区在线看 | 在线欧美日韩国产| 91高清视频免费看| 91国偷自产一区二区三区观看| gogogo免费视频观看亚洲一| 懂色一区二区三区免费观看| 高清不卡一区二区在线| 国产成人99久久亚洲综合精品| 国产伦精品一区二区三区在线观看| 久久国产乱子精品免费女| 精品一区中文字幕| 国产精品亚洲午夜一区二区三区| 在线播放一区二区三区| 欧美性猛片xxxx免费看久爱| 欧洲色大大久久| 欧美日韩一二区| 欧美一区二区三区的| 日韩欧美一级特黄在线播放| 精品久久久久久久久久久久包黑料 | 成人av电影在线观看| 成人午夜碰碰视频| 97成人超碰视| 欧洲一区在线电影| 欧美电影一区二区| 精品区一区二区| 国产欧美一区在线| 亚洲精品伦理在线| 日韩制服丝袜av| 国产一区二区三区免费播放| 高清不卡在线观看| 欧美吻胸吃奶大尺度电影 | 国产自产2019最新不卡| 成人开心网精品视频| 在线观看免费一区| 日韩一区二区三区视频| 国产亚洲女人久久久久毛片| 亚洲精品免费电影| 强制捆绑调教一区二区| 成人精品视频一区二区三区 | 中文字幕国产精品一区二区| 玉足女爽爽91| 美女尤物国产一区| 成人免费毛片app| 欧美日韩久久久| 国产日本一区二区| 亚洲电影一区二区| 国产精品一区二区x88av| 91麻豆国产香蕉久久精品| 欧美一区二区人人喊爽| 国产日韩欧美一区二区三区乱码| 樱花影视一区二区| 精品中文字幕一区二区小辣椒| 99视频有精品| 日韩欧美一二区| 一区二区三区小说| 国产一区二区福利| 欧美人与禽zozo性伦| 国产精品不卡一区二区三区| 久久av中文字幕片| 在线免费观看一区| 国产精品乱子久久久久| 美女高潮久久久| 在线影视一区二区三区| 国产精品美女久久久久久| 美女免费视频一区二区| 欧美三级日本三级少妇99| 欧美高清在线视频| 美女任你摸久久 | 日韩成人av影视| 色婷婷综合久久| 久久精品欧美一区二区三区麻豆| 午夜精品爽啪视频| 色欧美日韩亚洲| 亚洲国产精品高清| 国产大陆精品国产| 精品国产成人系列| 日本网站在线观看一区二区三区| 一本色道久久综合狠狠躁的推荐| 久久久亚洲精华液精华液精华液| 日韩综合小视频| 欧美三级三级三级爽爽爽| 一区二区在线观看视频| 成人av手机在线观看| 中文字幕欧美激情一区| 激情亚洲综合在线| 精品国产乱码久久久久久老虎 | 精品国产91乱码一区二区三区| 亚州成人在线电影| 色综合天天综合网国产成人综合天| 国产日韩视频一区二区三区| 国产一区二区三区| 久久久久久黄色| 国产大陆a不卡| 久久精品视频免费| 国产精品亚洲а∨天堂免在线| 精品久久免费看| 国产高清视频一区| 国产欧美一区二区三区网站| 国产精品一区二区在线播放| 亚洲精品一区二区在线观看| 国产综合久久久久久鬼色| 久久久午夜精品理论片中文字幕| 国产精选一区二区三区 | 中文字幕免费不卡在线| 高潮精品一区videoshd| 国产精品不卡视频| 日本精品裸体写真集在线观看| 亚洲午夜免费视频| 欧美日韩色综合| 日本vs亚洲vs韩国一区三区| 欧美电影免费观看完整版| 国内久久精品视频| 中文字幕高清一区| 色噜噜狠狠色综合中国| 亚洲成人免费在线| 日韩三级在线观看| 国产成人啪免费观看软件| 国产精品久久久久婷婷二区次| 91亚洲精华国产精华精华液| 一区二区三区欧美| 4hu四虎永久在线影院成人| 久久精品免费看| 国产精品美女久久福利网站| 色婷婷亚洲综合| 免费在线观看不卡| 国产精品天美传媒沈樵| 欧美在线制服丝袜| 国产一区二区三区电影在线观看 | 成人a级免费电影| 午夜不卡在线视频| 精品国产一区二区亚洲人成毛片|