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

📄 classprinter.java

📁 ProGuard 是一个免费的 Java类文件的压缩
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        if (programMember.u2attributesCount > 0)        {            println("Class member attributes (count = " + programMember.u2attributesCount + "):");            programMember.attributesAccept(programClass, this);        }    }    public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField)    {        println(visitorInfo(libraryField) + " " +                "Field:        " +                libraryField.getName(libraryClass) + " " +                libraryField.getDescriptor(libraryClass));        indent();        println("Access flags: 0x" + Integer.toHexString(libraryField.u2accessFlags));        println("  = " +                ClassUtil.externalFullFieldDescription(libraryField.u2accessFlags,                                                       libraryField.getName(libraryClass),                                                       libraryField.getDescriptor(libraryClass)));        outdent();    }    public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)    {        println(visitorInfo(libraryMethod) + " " +                "Method:       " +                libraryMethod.getName(libraryClass) + " " +                libraryMethod.getDescriptor(libraryClass));        indent();        println("Access flags: 0x" + Integer.toHexString(libraryMethod.u2accessFlags));        println("  = " +                ClassUtil.externalFullMethodDescription(libraryClass.getName(),                                                        libraryMethod.u2accessFlags,                                                        libraryMethod.getName(libraryClass),                                                        libraryMethod.getDescriptor(libraryClass)));        outdent();    }    // Implementations for AttributeVisitor.    // Note that attributes are typically only referenced once, so we don't    // test if they are marked already.    public void visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute)    {        println(visitorInfo(unknownAttribute) +                " Unknown attribute (" + clazz.getString(unknownAttribute.u2attributeNameIndex) + ")");    }    public void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)    {        println(visitorInfo(sourceFileAttribute) +                " Source file attribute:");        indent();        clazz.constantPoolEntryAccept(sourceFileAttribute.u2sourceFileIndex, this);        outdent();    }    public void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)    {        println(visitorInfo(sourceDirAttribute) +                " Source dir attribute:");        indent();        clazz.constantPoolEntryAccept(sourceDirAttribute.u2sourceDirIndex, this);        outdent();    }    public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)    {        println(visitorInfo(innerClassesAttribute) +                " Inner classes attribute (count = " + innerClassesAttribute.u2classesCount + ")");        indent();        innerClassesAttribute.innerClassEntriesAccept(clazz, this);        outdent();    }    public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)    {        println(visitorInfo(enclosingMethodAttribute) +                " Enclosing method attribute [" +                clazz.getClassName(enclosingMethodAttribute.u2classIndex)  +                (enclosingMethodAttribute.u2nameAndTypeIndex == 0 ?  "" : "." +                 clazz.getName(enclosingMethodAttribute.u2nameAndTypeIndex) + " " +                 clazz.getType(enclosingMethodAttribute.u2nameAndTypeIndex)) + "]");    }    public void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)    {        println(visitorInfo(deprecatedAttribute) +                " Deprecated attribute");    }    public void visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)    {        println(visitorInfo(syntheticAttribute) +                " Synthetic attribute");    }    public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)    {        println(visitorInfo(signatureAttribute) +                " Signature attribute:");        indent();        clazz.constantPoolEntryAccept(signatureAttribute.u2signatureIndex, this);        outdent();    }    public void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute)    {        println(visitorInfo(constantValueAttribute) +                " Constant value attribute:");        clazz.constantPoolEntryAccept(constantValueAttribute.u2constantValueIndex, this);    }    public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)    {        println(visitorInfo(exceptionsAttribute) +                " Exceptions attribute (count = " + exceptionsAttribute.u2exceptionIndexTableLength + ")");        indent();        exceptionsAttribute.exceptionEntriesAccept((ProgramClass)clazz, this);        outdent();    }    public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)    {        println(visitorInfo(codeAttribute) +                " Code attribute instructions (code length = "+ codeAttribute.u4codeLength +                ", locals = "+ codeAttribute.u2maxLocals +                ", stack = "+ codeAttribute.u2maxStack + "):");        indent();        codeAttribute.instructionsAccept(clazz, method, this);        println("Code attribute exceptions (count = " +                codeAttribute.u2exceptionTableLength + "):");        codeAttribute.exceptionsAccept(clazz, method, this);        println("Code attribute attributes (attribute count = " +                codeAttribute.u2attributesCount + "):");        codeAttribute.attributesAccept(clazz, method, this);        outdent();    }    public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)    {        println(visitorInfo(codeAttribute) +                " Stack map attribute (count = "+                stackMapAttribute.u2stackMapFramesCount + "):");        indent();        stackMapAttribute.stackMapFramesAccept(clazz, method, codeAttribute, this);        outdent();    }    public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)    {        println(visitorInfo(codeAttribute) +                " Stack map table attribute (count = "+                stackMapTableAttribute.u2stackMapFramesCount + "):");        indent();        stackMapTableAttribute.stackMapFramesAccept(clazz, method, codeAttribute, this);        outdent();    }    public void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute)    {        println(visitorInfo(lineNumberTableAttribute) +                " Line number table attribute (count = " +                lineNumberTableAttribute.u2lineNumberTableLength + ")");        indent();        lineNumberTableAttribute.lineNumbersAccept(clazz, method, codeAttribute, this);        outdent();    }    public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)    {        println(visitorInfo(localVariableTableAttribute) +                " Local variable table attribute (count = " +                localVariableTableAttribute.u2localVariableTableLength + ")");        indent();        localVariableTableAttribute.localVariablesAccept(clazz, method, codeAttribute, this);        outdent();    }    public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)    {        println(visitorInfo(localVariableTypeTableAttribute) +                " Local variable type table attribute (count = "+                localVariableTypeTableAttribute.u2localVariableTypeTableLength + ")");        indent();        localVariableTypeTableAttribute.localVariablesAccept(clazz, method, codeAttribute, this);        outdent();    }    public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)    {        println(visitorInfo(runtimeVisibleAnnotationsAttribute) +                " Runtime visible annotations attribute:");        indent();        runtimeVisibleAnnotationsAttribute.annotationsAccept(clazz, this);        outdent();    }    public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)    {        println(visitorInfo(runtimeInvisibleAnnotationsAttribute) +                " Runtime invisible annotations attribute:");        indent();        runtimeInvisibleAnnotationsAttribute.annotationsAccept(clazz, this);        outdent();    }    public void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)    {        println(visitorInfo(runtimeVisibleParameterAnnotationsAttribute) +                " Runtime visible parameter annotations attribute:");        indent();        runtimeVisibleParameterAnnotationsAttribute.annotationsAccept(clazz, method, this);        outdent();    }    public void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)    {        println(visitorInfo(runtimeInvisibleParameterAnnotationsAttribute) +                " Runtime invisible parameter annotations attribute:");        indent();        runtimeInvisibleParameterAnnotationsAttribute.annotationsAccept(clazz, method, this);        outdent();    }    public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)    {        println(visitorInfo(annotationDefaultAttribute) +                " Annotation default attribute:");        indent();        annotationDefaultAttribute.defaultValueAccept(clazz, this);        outdent();    }    // Implementations for InnerClassesInfoVisitor.    public void visitInnerClassesInfo(Clazz clazz, InnerClassesInfo innerClassesInfo)    {        println(visitorInfo(innerClassesInfo) +                " InnerClassesInfo:");        indent();        if (innerClassesInfo.u2innerClassIndex != 0)        {            clazz.constantPoolEntryAccept(innerClassesInfo.u2innerClassIndex, this);        }        if (innerClassesInfo.u2outerClassIndex != 0)        {            clazz.constantPoolEntryAccept(innerClassesInfo.u2outerClassIndex, this);        }        if (innerClassesInfo.u2innerNameIndex != 0)        {            clazz.constantPoolEntryAccept(innerClassesInfo.u2innerNameIndex, this);        }

⌨️ 快捷键说明

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