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

📄 configurationwriter.java

📁 j2me 混淆包,用于混淆j2me的原代码用的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        return filtered;    }    private void writeOption(String optionName, boolean flag)    {        if (flag)        {            writer.println(optionName);        }    }    private void writeOption(String optionName, String arguments)    {        if (arguments != null)        {            writer.println(optionName + " " + quotedString(arguments));        }    }    private void writeOptions(String[] optionNames,                              List     classSpecifications)    {        if (classSpecifications != null)        {            for (int index = 0; index < classSpecifications.size(); index++)            {                writeOption(optionNames,                                              (ClassSpecification)classSpecifications.get(index));            }        }    }    private void writeOption(String[]           optionNames,                             ClassSpecification classSpecification)    {        writer.println();        // Write out the comments for this option.        writeComments(classSpecification.comments);        // Write out the proper class specification option name.        writer.print(optionNames[classSpecification.markConditionally ? 2 :                                 classSpecification.markClassFiles    ? 0 :                                                                        1]);        writer.print(" ");        // Write out the class access flags.        writer.print(ClassUtil.externalClassAccessFlags(classSpecification.requiredUnsetAccessFlags,                                                        ConfigurationConstants.NEGATOR_KEYWORD));        writer.print(ClassUtil.externalClassAccessFlags(classSpecification.requiredSetAccessFlags));        // Write out the class keyword, if we didn't write the interface        // keyword earlier.        if (((classSpecification.requiredSetAccessFlags |              classSpecification.requiredUnsetAccessFlags) &             ClassConstants.INTERNAL_ACC_INTERFACE) == 0)        {            writer.print("class");        }        writer.print(" ");        // Write out the class name.        writer.print(classSpecification.className != null ?            ClassUtil.externalClassName(classSpecification.className) :            "*");        // Write out the extends template, if any.        if (classSpecification.extendsClassName != null)        {            writer.print(" extends " + ClassUtil.externalClassName(classSpecification.extendsClassName));        }        // Write out the keep field and keep method options, if any.        if (classSpecification.fieldSpecifications  != null ||            classSpecification.methodSpecifications != null)        {            writer.println(" {");            writeFieldSpecification( classSpecification.fieldSpecifications);            writeMethodSpecification(classSpecification.methodSpecifications,                                   classSpecification.className);            writer.println("}");        }        else        {            writer.println();        }    }    private void writeComments(String comments)    {        if (comments != null)        {            int index = 0;            while (index < comments.length())            {                int breakIndex = comments.indexOf('\n', index);                if (breakIndex < 0)                {                    breakIndex = comments.length();                }                writer.print('#');                writer.println(comments.substring(index, breakIndex));                index = breakIndex + 1;            }        }    }    private void writeFieldSpecification(List classMemberSpecifications)    {        if (classMemberSpecifications != null)        {            for (int index = 0; index < classMemberSpecifications.size(); index++)            {                ClassMemberSpecification classMemberSpecification =                    (ClassMemberSpecification)classMemberSpecifications.get(index);                writer.print("    ");                // Write out the field access flags.                writer.print(ClassUtil.externalFieldAccessFlags(classMemberSpecification.requiredUnsetAccessFlags,                                                                ConfigurationConstants.NEGATOR_KEYWORD));                writer.print(ClassUtil.externalFieldAccessFlags(classMemberSpecification.requiredSetAccessFlags));                // Write out the field name and descriptor.                writer.print(classMemberSpecification.name       != null ||                             classMemberSpecification.descriptor != null ?                    ClassUtil.externalFullFieldDescription(0,                                                           classMemberSpecification.name,                                                           classMemberSpecification.descriptor) :                    ConfigurationConstants.ANY_FIELD_KEYWORD);                writer.println(";");            }        }    }    private void writeMethodSpecification(List classMemberSpecifications, String className)    {        if (classMemberSpecifications != null)        {            for (int index = 0; index < classMemberSpecifications.size(); index++)            {                ClassMemberSpecification classMemberSpecification =                    (ClassMemberSpecification)classMemberSpecifications.get(index);                writer.print("    ");                // Write out the method access flags.                writer.print(ClassUtil.externalMethodAccessFlags(classMemberSpecification.requiredUnsetAccessFlags,                                                                 ConfigurationConstants.NEGATOR_KEYWORD));                writer.print(ClassUtil.externalMethodAccessFlags(classMemberSpecification.requiredSetAccessFlags));                // Write out the method name and descriptor.                writer.print(classMemberSpecification.name       != null ||                             classMemberSpecification.descriptor != null ?                    ClassUtil.externalFullMethodDescription(className,                                                            0,                                                            classMemberSpecification.name,                                                            classMemberSpecification.descriptor) :                    ConfigurationConstants.ANY_METHOD_KEYWORD);                writer.println(";");            }        }    }    private String quotedString(String string)    {        return            string.length()     == 0 ||            string.indexOf(' ') >= 0  ? ("'" + string + "'") :                                        (      string      );    }    /**     * A main method for testing configuration writing.     */    public static void main(String[] args) {        try        {            ConfigurationWriter writer = new ConfigurationWriter(args[0]);            writer.write(new Configuration());        }        catch (Exception ex)        {            ex.printStackTrace();        }    }}

⌨️ 快捷键说明

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