sometsome 3.10.47 → 3.10.50.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- metadata +13 -963
- data/lib/hola.rb +0 -5
- data/lib/proguard4.7/README +0 -33
- data/lib/proguard4.7/bin/proguard.bat +0 -14
- data/lib/proguard4.7/bin/proguard.sh +0 -11
- data/lib/proguard4.7/bin/proguardgui.bat +0 -14
- data/lib/proguard4.7/bin/proguardgui.sh +0 -15
- data/lib/proguard4.7/bin/retrace.bat +0 -14
- data/lib/proguard4.7/bin/retrace.sh +0 -12
- data/lib/proguard4.7/build/build.sh +0 -94
- data/lib/proguard4.7/build/build.xml +0 -171
- data/lib/proguard4.7/build/makefile +0 -94
- data/lib/proguard4.7/docs/FAQ.html +0 -253
- data/lib/proguard4.7/docs/GPL.html +0 -406
- data/lib/proguard4.7/docs/GPL_exception.html +0 -56
- data/lib/proguard4.7/docs/acknowledgements.html +0 -76
- data/lib/proguard4.7/docs/alternatives.html +0 -699
- data/lib/proguard4.7/docs/checkmark.gif +0 -0
- data/lib/proguard4.7/docs/downloads.html +0 -623
- data/lib/proguard4.7/docs/drop1.gif +0 -0
- data/lib/proguard4.7/docs/drop2.gif +0 -0
- data/lib/proguard4.7/docs/drop3.gif +0 -0
- data/lib/proguard4.7/docs/favicon.ico +0 -0
- data/lib/proguard4.7/docs/feedback.html +0 -120
- data/lib/proguard4.7/docs/index.html +0 -92
- data/lib/proguard4.7/docs/license.html +0 -60
- data/lib/proguard4.7/docs/main.html +0 -102
- data/lib/proguard4.7/docs/manual/ant.html +0 -634
- data/lib/proguard4.7/docs/manual/attention.gif +0 -0
- data/lib/proguard4.7/docs/manual/examples.html +0 -1504
- data/lib/proguard4.7/docs/manual/gui.html +0 -479
- data/lib/proguard4.7/docs/manual/index.html +0 -51
- data/lib/proguard4.7/docs/manual/introduction.html +0 -173
- data/lib/proguard4.7/docs/manual/limitations.html +0 -69
- data/lib/proguard4.7/docs/manual/optimizations.html +0 -172
- data/lib/proguard4.7/docs/manual/refcard.html +0 -486
- data/lib/proguard4.7/docs/manual/retrace/examples.html +0 -345
- data/lib/proguard4.7/docs/manual/retrace/index.html +0 -37
- data/lib/proguard4.7/docs/manual/retrace/introduction.html +0 -79
- data/lib/proguard4.7/docs/manual/retrace/usage.html +0 -127
- data/lib/proguard4.7/docs/manual/sections.html +0 -60
- data/lib/proguard4.7/docs/manual/style.css +0 -105
- data/lib/proguard4.7/docs/manual/troubleshooting.html +0 -729
- data/lib/proguard4.7/docs/manual/usage.html +0 -1243
- data/lib/proguard4.7/docs/manual/wtk.html +0 -70
- data/lib/proguard4.7/docs/quality.html +0 -56
- data/lib/proguard4.7/docs/results.html +0 -170
- data/lib/proguard4.7/docs/saikoalogo.png +0 -0
- data/lib/proguard4.7/docs/screenshot_console.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_console_small.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui1.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui2.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui3.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui4.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui5.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui6.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui7.gif +0 -0
- data/lib/proguard4.7/docs/screenshot_gui8.gif +0 -0
- data/lib/proguard4.7/docs/screenshots.html +0 -67
- data/lib/proguard4.7/docs/screenshots_gui_small.gif +0 -0
- data/lib/proguard4.7/docs/sections.html +0 -64
- data/lib/proguard4.7/docs/sflogo.png +0 -0
- data/lib/proguard4.7/docs/steel.gif +0 -0
- data/lib/proguard4.7/docs/style.css +0 -223
- data/lib/proguard4.7/docs/testimonials.html +0 -133
- data/lib/proguard4.7/docs/title.gif +0 -0
- data/lib/proguard4.7/docs/title.html +0 -17
- data/lib/proguard4.7/examples/android.pro +0 -149
- data/lib/proguard4.7/examples/annotations/examples.pro +0 -60
- data/lib/proguard4.7/examples/annotations/examples/Applet.java +0 -22
- data/lib/proguard4.7/examples/annotations/examples/Application.java +0 -20
- data/lib/proguard4.7/examples/annotations/examples/Bean.java +0 -56
- data/lib/proguard4.7/examples/annotations/examples/NativeCallBack.java +0 -44
- data/lib/proguard4.7/examples/annotations/lib/annotations.jar +0 -0
- data/lib/proguard4.7/examples/annotations/lib/annotations.pro +0 -118
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/Keep.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepApplication.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMemberNames.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepClassMembers.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepGettersSetters.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepImplementations.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepName.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMemberNames.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicClassMembers.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicGettersSetters.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicImplementations.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMemberNames.java +0 -18
- data/lib/proguard4.7/examples/annotations/src/proguard/annotation/KeepPublicProtectedClassMembers.java +0 -19
- data/lib/proguard4.7/examples/ant/android-8.xml +0 -177
- data/lib/proguard4.7/examples/ant/applets.xml +0 -88
- data/lib/proguard4.7/examples/ant/applications1.xml +0 -15
- data/lib/proguard4.7/examples/ant/applications2.xml +0 -74
- data/lib/proguard4.7/examples/ant/applications3.xml +0 -98
- data/lib/proguard4.7/examples/ant/library.xml +0 -102
- data/lib/proguard4.7/examples/ant/midlets.xml +0 -52
- data/lib/proguard4.7/examples/ant/proguard.xml +0 -78
- data/lib/proguard4.7/examples/ant/servlets.xml +0 -88
- data/lib/proguard4.7/examples/applets.pro +0 -69
- data/lib/proguard4.7/examples/applications.pro +0 -75
- data/lib/proguard4.7/examples/dictionaries/compact.txt +0 -18
- data/lib/proguard4.7/examples/dictionaries/keywords.txt +0 -58
- data/lib/proguard4.7/examples/dictionaries/shakespeare.txt +0 -23
- data/lib/proguard4.7/examples/dictionaries/windows.txt +0 -209
- data/lib/proguard4.7/examples/library.pro +0 -79
- data/lib/proguard4.7/examples/midlets.pro +0 -67
- data/lib/proguard4.7/examples/proguard.pro +0 -57
- data/lib/proguard4.7/examples/proguardall.pro +0 -62
- data/lib/proguard4.7/examples/proguardgui.pro +0 -50
- data/lib/proguard4.7/examples/retrace.pro +0 -43
- data/lib/proguard4.7/examples/scala.pro +0 -132
- data/lib/proguard4.7/examples/servlets.pro +0 -70
- data/lib/proguard4.7/lib/proguard.jar +0 -0
- data/lib/proguard4.7/lib/proguardgui.jar +0 -0
- data/lib/proguard4.7/lib/retrace.jar +0 -0
- data/lib/proguard4.7/src/proguard/ArgumentWordReader.java +0 -111
- data/lib/proguard4.7/src/proguard/ClassPath.java +0 -94
- data/lib/proguard4.7/src/proguard/ClassPathEntry.java +0 -282
- data/lib/proguard4.7/src/proguard/ClassSpecification.java +0 -259
- data/lib/proguard4.7/src/proguard/ClassSpecificationVisitorFactory.java +0 -503
- data/lib/proguard4.7/src/proguard/Configuration.java +0 -328
- data/lib/proguard4.7/src/proguard/ConfigurationConstants.java +0 -123
- data/lib/proguard4.7/src/proguard/ConfigurationParser.java +0 -1285
- data/lib/proguard4.7/src/proguard/ConfigurationWriter.java +0 -651
- data/lib/proguard4.7/src/proguard/DataEntryReaderFactory.java +0 -141
- data/lib/proguard4.7/src/proguard/DataEntryWriterFactory.java +0 -150
- data/lib/proguard4.7/src/proguard/DescriptorKeepChecker.java +0 -169
- data/lib/proguard4.7/src/proguard/DuplicateClassPrinter.java +0 -63
- data/lib/proguard4.7/src/proguard/FileWordReader.java +0 -55
- data/lib/proguard4.7/src/proguard/FullyQualifiedClassNameChecker.java +0 -191
- data/lib/proguard4.7/src/proguard/GPL.java +0 -197
- data/lib/proguard4.7/src/proguard/Initializer.java +0 -424
- data/lib/proguard4.7/src/proguard/InputReader.java +0 -233
- data/lib/proguard4.7/src/proguard/KeepClassMemberChecker.java +0 -87
- data/lib/proguard4.7/src/proguard/KeepClassSpecification.java +0 -137
- data/lib/proguard4.7/src/proguard/LineWordReader.java +0 -74
- data/lib/proguard4.7/src/proguard/MANIFEST.MF +0 -2
- data/lib/proguard4.7/src/proguard/MemberSpecification.java +0 -114
- data/lib/proguard4.7/src/proguard/OutputWriter.java +0 -296
- data/lib/proguard4.7/src/proguard/ParseException.java +0 -51
- data/lib/proguard4.7/src/proguard/ProGuard.java +0 -512
- data/lib/proguard4.7/src/proguard/SeedPrinter.java +0 -97
- data/lib/proguard4.7/src/proguard/SubclassedClassFilter.java +0 -62
- data/lib/proguard4.7/src/proguard/Targeter.java +0 -88
- data/lib/proguard4.7/src/proguard/UpToDateChecker.java +0 -232
- data/lib/proguard4.7/src/proguard/WordReader.java +0 -387
- data/lib/proguard4.7/src/proguard/ant/ClassPathElement.java +0 -191
- data/lib/proguard4.7/src/proguard/ant/ClassSpecificationElement.java +0 -258
- data/lib/proguard4.7/src/proguard/ant/ConfigurationElement.java +0 -53
- data/lib/proguard4.7/src/proguard/ant/ConfigurationTask.java +0 -441
- data/lib/proguard4.7/src/proguard/ant/FilterElement.java +0 -85
- data/lib/proguard4.7/src/proguard/ant/KeepSpecificationElement.java +0 -87
- data/lib/proguard4.7/src/proguard/ant/MemberSpecificationElement.java +0 -218
- data/lib/proguard4.7/src/proguard/ant/ProGuardTask.java +0 -352
- data/lib/proguard4.7/src/proguard/ant/package.html +0 -3
- data/lib/proguard4.7/src/proguard/ant/task.properties +0 -2
- data/lib/proguard4.7/src/proguard/classfile/ClassConstants.java +0 -316
- data/lib/proguard4.7/src/proguard/classfile/ClassPool.java +0 -152
- data/lib/proguard4.7/src/proguard/classfile/Clazz.java +0 -261
- data/lib/proguard4.7/src/proguard/classfile/Field.java +0 -32
- data/lib/proguard4.7/src/proguard/classfile/LibraryClass.java +0 -548
- data/lib/proguard4.7/src/proguard/classfile/LibraryField.java +0 -77
- data/lib/proguard4.7/src/proguard/classfile/LibraryMember.java +0 -108
- data/lib/proguard4.7/src/proguard/classfile/LibraryMethod.java +0 -83
- data/lib/proguard4.7/src/proguard/classfile/Member.java +0 -57
- data/lib/proguard4.7/src/proguard/classfile/Method.java +0 -32
- data/lib/proguard4.7/src/proguard/classfile/ProgramClass.java +0 -572
- data/lib/proguard4.7/src/proguard/classfile/ProgramField.java +0 -93
- data/lib/proguard4.7/src/proguard/classfile/ProgramMember.java +0 -168
- data/lib/proguard4.7/src/proguard/classfile/ProgramMethod.java +0 -99
- data/lib/proguard4.7/src/proguard/classfile/VisitorAccepter.java +0 -47
- data/lib/proguard4.7/src/proguard/classfile/attribute/Attribute.java +0 -142
- data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodInfo.java +0 -89
- data/lib/proguard4.7/src/proguard/classfile/attribute/BootstrapMethodsAttribute.java +0 -95
- data/lib/proguard4.7/src/proguard/classfile/attribute/CodeAttribute.java +0 -202
- data/lib/proguard4.7/src/proguard/classfile/attribute/ConstantValueAttribute.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/DeprecatedAttribute.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/EnclosingMethodAttribute.java +0 -132
- data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionInfo.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/attribute/ExceptionsAttribute.java +0 -80
- data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesAttribute.java +0 -80
- data/lib/proguard4.7/src/proguard/classfile/attribute/InnerClassesInfo.java +0 -119
- data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberInfo.java +0 -50
- data/lib/proguard4.7/src/proguard/classfile/attribute/LineNumberTableAttribute.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableInfo.java +0 -99
- data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTableAttribute.java +0 -79
- data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeInfo.java +0 -107
- data/lib/proguard4.7/src/proguard/classfile/attribute/LocalVariableTypeTableAttribute.java +0 -79
- data/lib/proguard4.7/src/proguard/classfile/attribute/SignatureAttribute.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/attribute/SourceDirAttribute.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/SourceFileAttribute.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/SyntheticAttribute.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/UnknownAttribute.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/Annotation.java +0 -143
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.java +0 -73
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java +0 -76
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/AnnotationsAttribute.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ArrayElementValue.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ClassElementValue.java +0 -95
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ConstantElementValue.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ElementValue.java +0 -126
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java +0 -99
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.java +0 -83
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.java +0 -70
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.java +0 -70
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/package.html +0 -4
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotatedClassVisitor.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationToMemberVisitor.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.java +0 -102
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.java +0 -40
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.java +0 -51
- data/lib/proguard4.7/src/proguard/classfile/attribute/annotation/visitor/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/attribute/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/DoubleType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FloatType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/FullFrame.java +0 -202
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/IntegerType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LessZeroFrame.java +0 -103
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/LongType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/MoreZeroFrame.java +0 -161
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/NullType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/ObjectType.java +0 -107
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameOneFrame.java +0 -115
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/SameZeroFrame.java +0 -74
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapAttribute.java +0 -91
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapFrame.java +0 -117
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/StackMapTableAttribute.java +0 -93
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/TopType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedThisType.java +0 -66
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/UninitializedType.java +0 -106
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationType.java +0 -103
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/VerificationTypeFactory.java +0 -112
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.java +0 -40
- data/lib/proguard4.7/src/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.java +0 -65
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllAttributeVisitor.java +0 -117
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeNameFilter.java +0 -368
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/AttributeVisitor.java +0 -90
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.java +0 -40
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.java +0 -37
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.java +0 -38
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.java +0 -38
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.java +0 -38
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.java +0 -38
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/MultiAttributeVisitor.java +0 -365
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.java +0 -293
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/RequiredAttributeFilter.java +0 -360
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/StackSizeComputer.java +0 -378
- data/lib/proguard4.7/src/proguard/classfile/attribute/visitor/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/constant/ClassConstant.java +0 -105
- data/lib/proguard4.7/src/proguard/classfile/constant/Constant.java +0 -68
- data/lib/proguard4.7/src/proguard/classfile/constant/DoubleConstant.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/constant/FieldrefConstant.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/constant/FloatConstant.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/constant/IntegerConstant.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/constant/InterfaceMethodrefConstant.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/constant/InvokeDynamicConstant.java +0 -148
- data/lib/proguard4.7/src/proguard/classfile/constant/LongConstant.java +0 -82
- data/lib/proguard4.7/src/proguard/classfile/constant/MethodHandleConstant.java +0 -124
- data/lib/proguard4.7/src/proguard/classfile/constant/MethodTypeConstant.java +0 -93
- data/lib/proguard4.7/src/proguard/classfile/constant/MethodrefConstant.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/constant/NameAndTypeConstant.java +0 -119
- data/lib/proguard4.7/src/proguard/classfile/constant/RefConstant.java +0 -130
- data/lib/proguard4.7/src/proguard/classfile/constant/StringConstant.java +0 -135
- data/lib/proguard4.7/src/proguard/classfile/constant/Utf8Constant.java +0 -285
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/AllConstantVisitor.java +0 -53
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantTagFilter.java +0 -86
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ConstantVisitor.java +0 -49
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/ExceptClassConstantFilter.java +0 -69
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/MethodrefTraveler.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/constant/visitor/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/editor/AccessFixer.java +0 -180
- data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationAdder.java +0 -153
- data/lib/proguard4.7/src/proguard/classfile/editor/AnnotationsAttributeEditor.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/editor/AttributeAdder.java +0 -457
- data/lib/proguard4.7/src/proguard/classfile/editor/AttributeSorter.java +0 -89
- data/lib/proguard4.7/src/proguard/classfile/editor/AttributesEditor.java +0 -269
- data/lib/proguard4.7/src/proguard/classfile/editor/BridgeMethodFixer.java +0 -117
- data/lib/proguard4.7/src/proguard/classfile/editor/ClassEditor.java +0 -255
- data/lib/proguard4.7/src/proguard/classfile/editor/ClassElementSorter.java +0 -52
- data/lib/proguard4.7/src/proguard/classfile/editor/ClassMemberSorter.java +0 -69
- data/lib/proguard4.7/src/proguard/classfile/editor/ClassReferenceFixer.java +0 -546
- data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeComposer.java +0 -843
- data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditor.java +0 -1104
- data/lib/proguard4.7/src/proguard/classfile/editor/CodeAttributeEditorResetter.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/editor/ComparableConstant.java +0 -249
- data/lib/proguard4.7/src/proguard/classfile/editor/ConstantAdder.java +0 -239
- data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolEditor.java +0 -782
- data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolRemapper.java +0 -662
- data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolShrinker.java +0 -578
- data/lib/proguard4.7/src/proguard/classfile/editor/ConstantPoolSorter.java +0 -123
- data/lib/proguard4.7/src/proguard/classfile/editor/ElementValueAdder.java +0 -217
- data/lib/proguard4.7/src/proguard/classfile/editor/ElementValuesEditor.java +0 -238
- data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionAdder.java +0 -65
- data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionInfoAdder.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/editor/ExceptionsAttributeEditor.java +0 -68
- data/lib/proguard4.7/src/proguard/classfile/editor/InnerClassesAccessFixer.java +0 -83
- data/lib/proguard4.7/src/proguard/classfile/editor/InstructionAdder.java +0 -76
- data/lib/proguard4.7/src/proguard/classfile/editor/InstructionWriter.java +0 -278
- data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceAdder.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/editor/InterfaceSorter.java +0 -152
- data/lib/proguard4.7/src/proguard/classfile/editor/InterfacesEditor.java +0 -122
- data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberInfoAdder.java +0 -59
- data/lib/proguard4.7/src/proguard/classfile/editor/LineNumberTableAttributeEditor.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableInfoAdder.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTableAttributeEditor.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeInfoAdder.java +0 -68
- data/lib/proguard4.7/src/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.java +0 -68
- data/lib/proguard4.7/src/proguard/classfile/editor/MemberAdder.java +0 -288
- data/lib/proguard4.7/src/proguard/classfile/editor/MemberReferenceFixer.java +0 -447
- data/lib/proguard4.7/src/proguard/classfile/editor/MethodInvocationFixer.java +0 -243
- data/lib/proguard4.7/src/proguard/classfile/editor/NameAndTypeShrinker.java +0 -188
- data/lib/proguard4.7/src/proguard/classfile/editor/NamedAttributeDeleter.java +0 -54
- data/lib/proguard4.7/src/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/editor/StackSizeUpdater.java +0 -54
- data/lib/proguard4.7/src/proguard/classfile/editor/SubclassAdder.java +0 -59
- data/lib/proguard4.7/src/proguard/classfile/editor/SubclassToAdder.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/editor/Utf8Shrinker.java +0 -455
- data/lib/proguard4.7/src/proguard/classfile/editor/VariableCleaner.java +0 -267
- data/lib/proguard4.7/src/proguard/classfile/editor/VariableEditor.java +0 -130
- data/lib/proguard4.7/src/proguard/classfile/editor/VariableRemapper.java +0 -156
- data/lib/proguard4.7/src/proguard/classfile/editor/VariableSizeUpdater.java +0 -105
- data/lib/proguard4.7/src/proguard/classfile/editor/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/instruction/BranchInstruction.java +0 -180
- data/lib/proguard4.7/src/proguard/classfile/instruction/ConstantInstruction.java +0 -309
- data/lib/proguard4.7/src/proguard/classfile/instruction/Instruction.java +0 -920
- data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionConstants.java +0 -449
- data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionFactory.java +0 -300
- data/lib/proguard4.7/src/proguard/classfile/instruction/InstructionUtil.java +0 -67
- data/lib/proguard4.7/src/proguard/classfile/instruction/LookUpSwitchInstruction.java +0 -135
- data/lib/proguard4.7/src/proguard/classfile/instruction/SimpleInstruction.java +0 -255
- data/lib/proguard4.7/src/proguard/classfile/instruction/SwitchInstruction.java +0 -83
- data/lib/proguard4.7/src/proguard/classfile/instruction/TableSwitchInstruction.java +0 -139
- data/lib/proguard4.7/src/proguard/classfile/instruction/VariableInstruction.java +0 -372
- data/lib/proguard4.7/src/proguard/classfile/instruction/package.html +0 -9
- data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/AllInstructionVisitor.java +0 -56
- data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionCounter.java +0 -59
- data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/InstructionVisitor.java +0 -42
- data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/MultiInstructionVisitor.java +0 -131
- data/lib/proguard4.7/src/proguard/classfile/instruction/visitor/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/io/LibraryClassReader.java +0 -383
- data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassReader.java +0 -919
- data/lib/proguard4.7/src/proguard/classfile/io/ProgramClassWriter.java +0 -735
- data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataInput.java +0 -223
- data/lib/proguard4.7/src/proguard/classfile/io/RuntimeDataOutput.java +0 -224
- data/lib/proguard4.7/src/proguard/classfile/io/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/package.html +0 -15
- data/lib/proguard4.7/src/proguard/classfile/util/AccessUtil.java +0 -105
- data/lib/proguard4.7/src/proguard/classfile/util/ClassReferenceInitializer.java +0 -559
- data/lib/proguard4.7/src/proguard/classfile/util/ClassSubHierarchyInitializer.java +0 -77
- data/lib/proguard4.7/src/proguard/classfile/util/ClassSuperHierarchyInitializer.java +0 -163
- data/lib/proguard4.7/src/proguard/classfile/util/ClassUtil.java +0 -1227
- data/lib/proguard4.7/src/proguard/classfile/util/DescriptorClassEnumeration.java +0 -236
- data/lib/proguard4.7/src/proguard/classfile/util/DynamicClassReferenceInitializer.java +0 -485
- data/lib/proguard4.7/src/proguard/classfile/util/DynamicMemberReferenceInitializer.java +0 -944
- data/lib/proguard4.7/src/proguard/classfile/util/ExternalTypeEnumeration.java +0 -106
- data/lib/proguard4.7/src/proguard/classfile/util/InstructionSequenceMatcher.java +0 -754
- data/lib/proguard4.7/src/proguard/classfile/util/InternalTypeEnumeration.java +0 -204
- data/lib/proguard4.7/src/proguard/classfile/util/MemberFinder.java +0 -197
- data/lib/proguard4.7/src/proguard/classfile/util/MethodLinker.java +0 -160
- data/lib/proguard4.7/src/proguard/classfile/util/SimplifiedVisitor.java +0 -834
- data/lib/proguard4.7/src/proguard/classfile/util/StringReferenceInitializer.java +0 -90
- data/lib/proguard4.7/src/proguard/classfile/util/StringSharer.java +0 -172
- data/lib/proguard4.7/src/proguard/classfile/util/WarningPrinter.java +0 -136
- data/lib/proguard4.7/src/proguard/classfile/util/package.html +0 -3
- data/lib/proguard4.7/src/proguard/classfile/visitor/AllClassVisitor.java +0 -47
- data/lib/proguard4.7/src/proguard/classfile/visitor/AllFieldVisitor.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/visitor/AllMemberVisitor.java +0 -57
- data/lib/proguard4.7/src/proguard/classfile/visitor/AllMethodVisitor.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/visitor/BottomClassFilter.java +0 -69
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassAccessFilter.java +0 -88
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCleaner.java +0 -275
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCollector.java +0 -58
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassCounter.java +0 -56
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassHierarchyTraveler.java +0 -91
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassNameFilter.java +0 -112
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolFiller.java +0 -55
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPoolVisitor.java +0 -37
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPresenceFilter.java +0 -93
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassPrinter.java +0 -1011
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionFilter.java +0 -85
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVersionSetter.java +0 -83
- data/lib/proguard4.7/src/proguard/classfile/visitor/ClassVisitor.java +0 -36
- data/lib/proguard4.7/src/proguard/classfile/visitor/ConcreteClassDownTraveler.java +0 -100
- data/lib/proguard4.7/src/proguard/classfile/visitor/DotClassClassVisitor.java +0 -89
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassFilter.java +0 -69
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptClassesFilter.java +0 -90
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionCounter.java +0 -52
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.java +0 -64
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.java +0 -62
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionHandlerFilter.java +0 -70
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionOffsetFilter.java +0 -64
- data/lib/proguard4.7/src/proguard/classfile/visitor/ExceptionRangeFilter.java +0 -68
- data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassConstantFilter.java +0 -69
- data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementedClassFilter.java +0 -71
- data/lib/proguard4.7/src/proguard/classfile/visitor/ImplementingClassConstantFilter.java +0 -70
- data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryClassFilter.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/visitor/LibraryMemberFilter.java +0 -73
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberAccessFilter.java +0 -122
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberClassAccessFilter.java +0 -106
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCollector.java +0 -59
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberCounter.java +0 -72
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberDescriptorFilter.java +0 -113
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberNameFilter.java +0 -113
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberToClassVisitor.java +0 -90
- data/lib/proguard4.7/src/proguard/classfile/visitor/MemberVisitor.java +0 -40
- data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationFilter.java +0 -70
- data/lib/proguard4.7/src/proguard/classfile/visitor/MethodImplementationTraveler.java +0 -128
- data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassPoolVisitor.java +0 -88
- data/lib/proguard4.7/src/proguard/classfile/visitor/MultiClassVisitor.java +0 -97
- data/lib/proguard4.7/src/proguard/classfile/visitor/MultiMemberVisitor.java +0 -113
- data/lib/proguard4.7/src/proguard/classfile/visitor/NamedClassVisitor.java +0 -49
- data/lib/proguard4.7/src/proguard/classfile/visitor/NamedFieldVisitor.java +0 -61
- data/lib/proguard4.7/src/proguard/classfile/visitor/NamedMethodVisitor.java +0 -61
- data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramClassFilter.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/visitor/ProgramMemberFilter.java +0 -73
- data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedClassVisitor.java +0 -255
- data/lib/proguard4.7/src/proguard/classfile/visitor/ReferencedMemberVisitor.java +0 -73
- data/lib/proguard4.7/src/proguard/classfile/visitor/SimilarMemberVisitor.java +0 -125
- data/lib/proguard4.7/src/proguard/classfile/visitor/SimpleClassPrinter.java +0 -167
- data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassFilter.java +0 -91
- data/lib/proguard4.7/src/proguard/classfile/visitor/SubclassTraveler.java +0 -60
- data/lib/proguard4.7/src/proguard/classfile/visitor/VariableClassVisitor.java +0 -78
- data/lib/proguard4.7/src/proguard/classfile/visitor/VariableMemberVisitor.java +0 -96
- data/lib/proguard4.7/src/proguard/classfile/visitor/package.html +0 -40
- data/lib/proguard4.7/src/proguard/evaluation/BasicBranchUnit.java +0 -126
- data/lib/proguard4.7/src/proguard/evaluation/BasicInvocationUnit.java +0 -425
- data/lib/proguard4.7/src/proguard/evaluation/BranchUnit.java +0 -63
- data/lib/proguard4.7/src/proguard/evaluation/ClassConstantValueFactory.java +0 -53
- data/lib/proguard4.7/src/proguard/evaluation/ConstantValueFactory.java +0 -113
- data/lib/proguard4.7/src/proguard/evaluation/InvocationUnit.java +0 -62
- data/lib/proguard4.7/src/proguard/evaluation/Processor.java +0 -908
- data/lib/proguard4.7/src/proguard/evaluation/Stack.java +0 -560
- data/lib/proguard4.7/src/proguard/evaluation/TracedStack.java +0 -342
- data/lib/proguard4.7/src/proguard/evaluation/TracedVariables.java +0 -199
- data/lib/proguard4.7/src/proguard/evaluation/Variables.java +0 -347
- data/lib/proguard4.7/src/proguard/evaluation/value/Category1Value.java +0 -41
- data/lib/proguard4.7/src/proguard/evaluation/value/Category2Value.java +0 -41
- data/lib/proguard4.7/src/proguard/evaluation/value/ComparisonValue.java +0 -69
- data/lib/proguard4.7/src/proguard/evaluation/value/CompositeDoubleValue.java +0 -81
- data/lib/proguard4.7/src/proguard/evaluation/value/CompositeFloatValue.java +0 -81
- data/lib/proguard4.7/src/proguard/evaluation/value/CompositeIntegerValue.java +0 -87
- data/lib/proguard4.7/src/proguard/evaluation/value/CompositeLongValue.java +0 -87
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedByteValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedCharacterValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedDoubleValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedFloatValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedIntegerValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedLongValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/ConvertedShortValue.java +0 -64
- data/lib/proguard4.7/src/proguard/evaluation/value/DoubleValue.java +0 -359
- data/lib/proguard4.7/src/proguard/evaluation/value/FloatValue.java +0 -359
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedDoubleValue.java +0 -67
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedFloatValue.java +0 -67
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedIntegerValue.java +0 -67
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedLongValue.java +0 -67
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedReferenceValue.java +0 -102
- data/lib/proguard4.7/src/proguard/evaluation/value/IdentifiedValueFactory.java +0 -75
- data/lib/proguard4.7/src/proguard/evaluation/value/InstructionOffsetValue.java +0 -307
- data/lib/proguard4.7/src/proguard/evaluation/value/IntegerValue.java +0 -1002
- data/lib/proguard4.7/src/proguard/evaluation/value/LongValue.java +0 -554
- data/lib/proguard4.7/src/proguard/evaluation/value/NegatedDoubleValue.java +0 -71
- data/lib/proguard4.7/src/proguard/evaluation/value/NegatedFloatValue.java +0 -71
- data/lib/proguard4.7/src/proguard/evaluation/value/NegatedIntegerValue.java +0 -71
- data/lib/proguard4.7/src/proguard/evaluation/value/NegatedLongValue.java +0 -71
- data/lib/proguard4.7/src/proguard/evaluation/value/ParticularDoubleValue.java +0 -216
- data/lib/proguard4.7/src/proguard/evaluation/value/ParticularFloatValue.java +0 -216
- data/lib/proguard4.7/src/proguard/evaluation/value/ParticularIntegerValue.java +0 -383
- data/lib/proguard4.7/src/proguard/evaluation/value/ParticularLongValue.java +0 -271
- data/lib/proguard4.7/src/proguard/evaluation/value/ReferenceValue.java +0 -540
- data/lib/proguard4.7/src/proguard/evaluation/value/SpecificDoubleValue.java +0 -186
- data/lib/proguard4.7/src/proguard/evaluation/value/SpecificFloatValue.java +0 -186
- data/lib/proguard4.7/src/proguard/evaluation/value/SpecificIntegerValue.java +0 -354
- data/lib/proguard4.7/src/proguard/evaluation/value/SpecificLongValue.java +0 -259
- data/lib/proguard4.7/src/proguard/evaluation/value/SpecificValueFactory.java +0 -97
- data/lib/proguard4.7/src/proguard/evaluation/value/TopValue.java +0 -79
- data/lib/proguard4.7/src/proguard/evaluation/value/UnknownDoubleValue.java +0 -125
- data/lib/proguard4.7/src/proguard/evaluation/value/UnknownFloatValue.java +0 -125
- data/lib/proguard4.7/src/proguard/evaluation/value/UnknownIntegerValue.java +0 -216
- data/lib/proguard4.7/src/proguard/evaluation/value/UnknownLongValue.java +0 -160
- data/lib/proguard4.7/src/proguard/evaluation/value/Value.java +0 -169
- data/lib/proguard4.7/src/proguard/evaluation/value/ValueFactory.java +0 -193
- data/lib/proguard4.7/src/proguard/evaluation/value/package.html +0 -3
- data/lib/proguard4.7/src/proguard/gui/ClassPathPanel.java +0 -441
- data/lib/proguard4.7/src/proguard/gui/ClassSpecificationDialog.java +0 -546
- data/lib/proguard4.7/src/proguard/gui/ClassSpecificationsPanel.java +0 -231
- data/lib/proguard4.7/src/proguard/gui/ExtensionFileFilter.java +0 -78
- data/lib/proguard4.7/src/proguard/gui/FilterBuilder.java +0 -208
- data/lib/proguard4.7/src/proguard/gui/FilterDialog.java +0 -320
- data/lib/proguard4.7/src/proguard/gui/GUIResources.java +0 -56
- data/lib/proguard4.7/src/proguard/gui/GUIResources.properties +0 -643
- data/lib/proguard4.7/src/proguard/gui/KeepSpecificationsPanel.java +0 -81
- data/lib/proguard4.7/src/proguard/gui/ListPanel.java +0 -341
- data/lib/proguard4.7/src/proguard/gui/MANIFEST.MF +0 -3
- data/lib/proguard4.7/src/proguard/gui/MemberSpecificationDialog.java +0 -509
- data/lib/proguard4.7/src/proguard/gui/MemberSpecificationsPanel.java +0 -304
- data/lib/proguard4.7/src/proguard/gui/MessageDialogRunnable.java +0 -90
- data/lib/proguard4.7/src/proguard/gui/OptimizationsDialog.java +0 -251
- data/lib/proguard4.7/src/proguard/gui/ProGuardGUI.java +0 -1777
- data/lib/proguard4.7/src/proguard/gui/ProGuardRunnable.java +0 -154
- data/lib/proguard4.7/src/proguard/gui/ReTraceRunnable.java +0 -149
- data/lib/proguard4.7/src/proguard/gui/SwingUtil.java +0 -82
- data/lib/proguard4.7/src/proguard/gui/TabbedPane.java +0 -229
- data/lib/proguard4.7/src/proguard/gui/TextAreaOutputStream.java +0 -81
- data/lib/proguard4.7/src/proguard/gui/arrow.gif +0 -0
- data/lib/proguard4.7/src/proguard/gui/boilerplate.pro +0 -410
- data/lib/proguard4.7/src/proguard/gui/default.pro +0 -318
- data/lib/proguard4.7/src/proguard/gui/package.html +0 -3
- data/lib/proguard4.7/src/proguard/gui/splash/BufferedSprite.java +0 -145
- data/lib/proguard4.7/src/proguard/gui/splash/CircleSprite.java +0 -74
- data/lib/proguard4.7/src/proguard/gui/splash/ClipSprite.java +0 -85
- data/lib/proguard4.7/src/proguard/gui/splash/ColorSprite.java +0 -65
- data/lib/proguard4.7/src/proguard/gui/splash/CompositeSprite.java +0 -56
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantColor.java +0 -51
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantDouble.java +0 -49
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantFont.java +0 -46
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantInt.java +0 -49
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantString.java +0 -49
- data/lib/proguard4.7/src/proguard/gui/splash/ConstantTiming.java +0 -57
- data/lib/proguard4.7/src/proguard/gui/splash/FontSprite.java +0 -65
- data/lib/proguard4.7/src/proguard/gui/splash/ImageSprite.java +0 -76
- data/lib/proguard4.7/src/proguard/gui/splash/LinearColor.java +0 -72
- data/lib/proguard4.7/src/proguard/gui/splash/LinearDouble.java +0 -55
- data/lib/proguard4.7/src/proguard/gui/splash/LinearInt.java +0 -55
- data/lib/proguard4.7/src/proguard/gui/splash/LinearTiming.java +0 -55
- data/lib/proguard4.7/src/proguard/gui/splash/OverrideGraphics2D.java +0 -598
- data/lib/proguard4.7/src/proguard/gui/splash/RectangleSprite.java +0 -114
- data/lib/proguard4.7/src/proguard/gui/splash/SawToothTiming.java +0 -53
- data/lib/proguard4.7/src/proguard/gui/splash/ShadowedSprite.java +0 -109
- data/lib/proguard4.7/src/proguard/gui/splash/SineTiming.java +0 -53
- data/lib/proguard4.7/src/proguard/gui/splash/SmoothTiming.java +0 -66
- data/lib/proguard4.7/src/proguard/gui/splash/SplashPanel.java +0 -235
- data/lib/proguard4.7/src/proguard/gui/splash/Sprite.java +0 -41
- data/lib/proguard4.7/src/proguard/gui/splash/TextSprite.java +0 -89
- data/lib/proguard4.7/src/proguard/gui/splash/TimeSwitchSprite.java +0 -75
- data/lib/proguard4.7/src/proguard/gui/splash/Timing.java +0 -34
- data/lib/proguard4.7/src/proguard/gui/splash/TypeWriterString.java +0 -71
- data/lib/proguard4.7/src/proguard/gui/splash/VariableColor.java +0 -36
- data/lib/proguard4.7/src/proguard/gui/splash/VariableDouble.java +0 -34
- data/lib/proguard4.7/src/proguard/gui/splash/VariableFont.java +0 -36
- data/lib/proguard4.7/src/proguard/gui/splash/VariableInt.java +0 -34
- data/lib/proguard4.7/src/proguard/gui/splash/VariableSizeFont.java +0 -65
- data/lib/proguard4.7/src/proguard/gui/splash/VariableString.java +0 -34
- data/lib/proguard4.7/src/proguard/gui/splash/package.html +0 -4
- data/lib/proguard4.7/src/proguard/gui/vtitle.png +0 -0
- data/lib/proguard4.7/src/proguard/io/CascadingDataEntryWriter.java +0 -94
- data/lib/proguard4.7/src/proguard/io/ClassFilter.java +0 -59
- data/lib/proguard4.7/src/proguard/io/ClassReader.java +0 -115
- data/lib/proguard4.7/src/proguard/io/ClassRewriter.java +0 -80
- data/lib/proguard4.7/src/proguard/io/DataEntry.java +0 -62
- data/lib/proguard4.7/src/proguard/io/DataEntryClassWriter.java +0 -85
- data/lib/proguard4.7/src/proguard/io/DataEntryCopier.java +0 -247
- data/lib/proguard4.7/src/proguard/io/DataEntryDirectoryFilter.java +0 -40
- data/lib/proguard4.7/src/proguard/io/DataEntryFilter.java +0 -38
- data/lib/proguard4.7/src/proguard/io/DataEntryNameFilter.java +0 -54
- data/lib/proguard4.7/src/proguard/io/DataEntryObfuscator.java +0 -150
- data/lib/proguard4.7/src/proguard/io/DataEntryParentFilter.java +0 -51
- data/lib/proguard4.7/src/proguard/io/DataEntryPump.java +0 -43
- data/lib/proguard4.7/src/proguard/io/DataEntryReader.java +0 -38
- data/lib/proguard4.7/src/proguard/io/DataEntryRenamer.java +0 -104
- data/lib/proguard4.7/src/proguard/io/DataEntryRewriter.java +0 -148
- data/lib/proguard4.7/src/proguard/io/DataEntryWriter.java +0 -73
- data/lib/proguard4.7/src/proguard/io/DirectoryFilter.java +0 -58
- data/lib/proguard4.7/src/proguard/io/DirectoryPump.java +0 -78
- data/lib/proguard4.7/src/proguard/io/DirectoryWriter.java +0 -165
- data/lib/proguard4.7/src/proguard/io/FileDataEntry.java +0 -96
- data/lib/proguard4.7/src/proguard/io/FilteredDataEntryReader.java +0 -90
- data/lib/proguard4.7/src/proguard/io/FilteredDataEntryWriter.java +0 -125
- data/lib/proguard4.7/src/proguard/io/Finisher.java +0 -37
- data/lib/proguard4.7/src/proguard/io/JarReader.java +0 -75
- data/lib/proguard4.7/src/proguard/io/JarWriter.java +0 -235
- data/lib/proguard4.7/src/proguard/io/ManifestRewriter.java +0 -216
- data/lib/proguard4.7/src/proguard/io/NameFilter.java +0 -83
- data/lib/proguard4.7/src/proguard/io/ParentDataEntryWriter.java +0 -75
- data/lib/proguard4.7/src/proguard/io/RenamedDataEntry.java +0 -83
- data/lib/proguard4.7/src/proguard/io/ZipDataEntry.java +0 -98
- data/lib/proguard4.7/src/proguard/io/package.html +0 -4
- data/lib/proguard4.7/src/proguard/obfuscate/AttributeShrinker.java +0 -120
- data/lib/proguard4.7/src/proguard/obfuscate/AttributeUsageMarker.java +0 -71
- data/lib/proguard4.7/src/proguard/obfuscate/ClassObfuscator.java +0 -533
- data/lib/proguard4.7/src/proguard/obfuscate/ClassRenamer.java +0 -109
- data/lib/proguard4.7/src/proguard/obfuscate/DictionaryNameFactory.java +0 -189
- data/lib/proguard4.7/src/proguard/obfuscate/MapCleaner.java +0 -57
- data/lib/proguard4.7/src/proguard/obfuscate/MappingKeeper.java +0 -177
- data/lib/proguard4.7/src/proguard/obfuscate/MappingPrinter.java +0 -147
- data/lib/proguard4.7/src/proguard/obfuscate/MappingProcessor.java +0 -79
- data/lib/proguard4.7/src/proguard/obfuscate/MappingReader.java +0 -199
- data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCleaner.java +0 -60
- data/lib/proguard4.7/src/proguard/obfuscate/MemberNameCollector.java +0 -106
- data/lib/proguard4.7/src/proguard/obfuscate/MemberNameConflictFixer.java +0 -159
- data/lib/proguard4.7/src/proguard/obfuscate/MemberNameFilter.java +0 -120
- data/lib/proguard4.7/src/proguard/obfuscate/MemberObfuscator.java +0 -230
- data/lib/proguard4.7/src/proguard/obfuscate/MemberSpecialNameFilter.java +0 -101
- data/lib/proguard4.7/src/proguard/obfuscate/MultiMappingProcessor.java +0 -96
- data/lib/proguard4.7/src/proguard/obfuscate/NameFactory.java +0 -34
- data/lib/proguard4.7/src/proguard/obfuscate/NameFactoryResetter.java +0 -59
- data/lib/proguard4.7/src/proguard/obfuscate/NameMarker.java +0 -166
- data/lib/proguard4.7/src/proguard/obfuscate/NumericNameFactory.java +0 -49
- data/lib/proguard4.7/src/proguard/obfuscate/Obfuscator.java +0 -445
- data/lib/proguard4.7/src/proguard/obfuscate/ParameterNameMarker.java +0 -128
- data/lib/proguard4.7/src/proguard/obfuscate/SimpleNameFactory.java +0 -156
- data/lib/proguard4.7/src/proguard/obfuscate/SourceFileRenamer.java +0 -84
- data/lib/proguard4.7/src/proguard/obfuscate/SpecialNameFactory.java +0 -83
- data/lib/proguard4.7/src/proguard/obfuscate/package.html +0 -3
- data/lib/proguard4.7/src/proguard/optimize/BootstrapMethodArgumentShrinker.java +0 -103
- data/lib/proguard4.7/src/proguard/optimize/ChangedCodePrinter.java +0 -297
- data/lib/proguard4.7/src/proguard/optimize/ConstantMemberFilter.java +0 -77
- data/lib/proguard4.7/src/proguard/optimize/ConstantParameterFilter.java +0 -79
- data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerFixer.java +0 -215
- data/lib/proguard4.7/src/proguard/optimize/DuplicateInitializerInvocationFixer.java +0 -161
- data/lib/proguard4.7/src/proguard/optimize/KeepMarker.java +0 -95
- data/lib/proguard4.7/src/proguard/optimize/KeptClassFilter.java +0 -69
- data/lib/proguard4.7/src/proguard/optimize/KeptMemberFilter.java +0 -88
- data/lib/proguard4.7/src/proguard/optimize/MemberDescriptorSpecializer.java +0 -138
- data/lib/proguard4.7/src/proguard/optimize/MethodDescriptorShrinker.java +0 -317
- data/lib/proguard4.7/src/proguard/optimize/MethodStaticizer.java +0 -87
- data/lib/proguard4.7/src/proguard/optimize/OptimizationInfoMemberFilter.java +0 -94
- data/lib/proguard4.7/src/proguard/optimize/Optimizer.java +0 -963
- data/lib/proguard4.7/src/proguard/optimize/ParameterShrinker.java +0 -146
- data/lib/proguard4.7/src/proguard/optimize/TailRecursionSimplifier.java +0 -356
- data/lib/proguard4.7/src/proguard/optimize/WriteOnlyFieldFilter.java +0 -65
- data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationShrinker.java +0 -2082
- data/lib/proguard4.7/src/proguard/optimize/evaluation/EvaluationSimplifier.java +0 -973
- data/lib/proguard4.7/src/proguard/optimize/evaluation/LivenessAnalyzer.java +0 -526
- data/lib/proguard4.7/src/proguard/optimize/evaluation/LoadingInvocationUnit.java +0 -195
- data/lib/proguard4.7/src/proguard/optimize/evaluation/PartialEvaluator.java +0 -1282
- data/lib/proguard4.7/src/proguard/optimize/evaluation/StoringInvocationUnit.java +0 -207
- data/lib/proguard4.7/src/proguard/optimize/evaluation/TracedBranchUnit.java +0 -59
- data/lib/proguard4.7/src/proguard/optimize/evaluation/VariableOptimizer.java +0 -345
- data/lib/proguard4.7/src/proguard/optimize/evaluation/package.html +0 -4
- data/lib/proguard4.7/src/proguard/optimize/info/AccessMethodMarker.java +0 -202
- data/lib/proguard4.7/src/proguard/optimize/info/BackwardBranchMarker.java +0 -90
- data/lib/proguard4.7/src/proguard/optimize/info/CatchExceptionMarker.java +0 -69
- data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassFilter.java +0 -63
- data/lib/proguard4.7/src/proguard/optimize/info/CaughtClassMarker.java +0 -64
- data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfo.java +0 -165
- data/lib/proguard4.7/src/proguard/optimize/info/ClassOptimizationInfoSetter.java +0 -47
- data/lib/proguard4.7/src/proguard/optimize/info/DotClassFilter.java +0 -63
- data/lib/proguard4.7/src/proguard/optimize/info/DotClassMarker.java +0 -96
- data/lib/proguard4.7/src/proguard/optimize/info/ExceptionInstructionChecker.java +0 -193
- data/lib/proguard4.7/src/proguard/optimize/info/FieldOptimizationInfo.java +0 -204
- data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassFilter.java +0 -63
- data/lib/proguard4.7/src/proguard/optimize/info/InstanceofClassMarker.java +0 -93
- data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassFilter.java +0 -62
- data/lib/proguard4.7/src/proguard/optimize/info/InstantiationClassMarker.java +0 -93
- data/lib/proguard4.7/src/proguard/optimize/info/MemberOptimizationInfoSetter.java +0 -59
- data/lib/proguard4.7/src/proguard/optimize/info/MethodInvocationMarker.java +0 -107
- data/lib/proguard4.7/src/proguard/optimize/info/MethodOptimizationInfo.java +0 -302
- data/lib/proguard4.7/src/proguard/optimize/info/NoSideEffectMethodMarker.java +0 -91
- data/lib/proguard4.7/src/proguard/optimize/info/NonPrivateMemberMarker.java +0 -171
- data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberContainingClassMarker.java +0 -85
- data/lib/proguard4.7/src/proguard/optimize/info/PackageVisibleMemberInvokingClassMarker.java +0 -129
- data/lib/proguard4.7/src/proguard/optimize/info/ParameterUsageMarker.java +0 -285
- data/lib/proguard4.7/src/proguard/optimize/info/ReadWriteFieldMarker.java +0 -163
- data/lib/proguard4.7/src/proguard/optimize/info/SideEffectInstructionChecker.java +0 -245
- data/lib/proguard4.7/src/proguard/optimize/info/SideEffectMethodMarker.java +0 -175
- data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassFilter.java +0 -62
- data/lib/proguard4.7/src/proguard/optimize/info/StaticInitializerContainingClassMarker.java +0 -65
- data/lib/proguard4.7/src/proguard/optimize/info/SuperInvocationMarker.java +0 -93
- data/lib/proguard4.7/src/proguard/optimize/info/VariableUsageMarker.java +0 -96
- data/lib/proguard4.7/src/proguard/optimize/info/package.html +0 -4
- data/lib/proguard4.7/src/proguard/optimize/package.html +0 -4
- data/lib/proguard4.7/src/proguard/optimize/peephole/BranchTargetFinder.java +0 -687
- data/lib/proguard4.7/src/proguard/optimize/peephole/ClassFinalizer.java +0 -84
- data/lib/proguard4.7/src/proguard/optimize/peephole/ClassMerger.java +0 -576
- data/lib/proguard4.7/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java +0 -266
- data/lib/proguard4.7/src/proguard/optimize/peephole/GotoGotoReplacer.java +0 -115
- data/lib/proguard4.7/src/proguard/optimize/peephole/GotoReturnReplacer.java +0 -115
- data/lib/proguard4.7/src/proguard/optimize/peephole/HorizontalClassMerger.java +0 -90
- data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceConstants.java +0 -4424
- data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequenceReplacer.java +0 -420
- data/lib/proguard4.7/src/proguard/optimize/peephole/InstructionSequencesReplacer.java +0 -138
- data/lib/proguard4.7/src/proguard/optimize/peephole/MemberPrivatizer.java +0 -103
- data/lib/proguard4.7/src/proguard/optimize/peephole/MethodFinalizer.java +0 -93
- data/lib/proguard4.7/src/proguard/optimize/peephole/MethodInliner.java +0 -597
- data/lib/proguard4.7/src/proguard/optimize/peephole/NopRemover.java +0 -89
- data/lib/proguard4.7/src/proguard/optimize/peephole/PeepholeOptimizer.java +0 -103
- data/lib/proguard4.7/src/proguard/optimize/peephole/ReachableCodeMarker.java +0 -262
- data/lib/proguard4.7/src/proguard/optimize/peephole/RetargetedInnerClassAttributeRemover.java +0 -170
- data/lib/proguard4.7/src/proguard/optimize/peephole/TargetClassChanger.java +0 -455
- data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableCodeRemover.java +0 -143
- data/lib/proguard4.7/src/proguard/optimize/peephole/UnreachableExceptionRemover.java +0 -163
- data/lib/proguard4.7/src/proguard/optimize/peephole/VariableShrinker.java +0 -129
- data/lib/proguard4.7/src/proguard/optimize/peephole/VerticalClassMerger.java +0 -88
- data/lib/proguard4.7/src/proguard/optimize/peephole/package.html +0 -3
- data/lib/proguard4.7/src/proguard/package.html +0 -5
- data/lib/proguard4.7/src/proguard/preverify/CodePreverifier.java +0 -611
- data/lib/proguard4.7/src/proguard/preverify/CodeSubroutineInliner.java +0 -406
- data/lib/proguard4.7/src/proguard/preverify/Preverifier.java +0 -73
- data/lib/proguard4.7/src/proguard/preverify/SubroutineInliner.java +0 -73
- data/lib/proguard4.7/src/proguard/retrace/MANIFEST.MF +0 -3
- data/lib/proguard4.7/src/proguard/retrace/ReTrace.java +0 -749
- data/lib/proguard4.7/src/proguard/retrace/package.html +0 -4
- data/lib/proguard4.7/src/proguard/shrink/AnnotationUsageMarker.java +0 -333
- data/lib/proguard4.7/src/proguard/shrink/ClassShrinker.java +0 -458
- data/lib/proguard4.7/src/proguard/shrink/InnerUsageMarker.java +0 -174
- data/lib/proguard4.7/src/proguard/shrink/InterfaceUsageMarker.java +0 -152
- data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMark.java +0 -183
- data/lib/proguard4.7/src/proguard/shrink/ShortestUsageMarker.java +0 -277
- data/lib/proguard4.7/src/proguard/shrink/ShortestUsagePrinter.java +0 -210
- data/lib/proguard4.7/src/proguard/shrink/Shrinker.java +0 -181
- data/lib/proguard4.7/src/proguard/shrink/UsageMarker.java +0 -1036
- data/lib/proguard4.7/src/proguard/shrink/UsagePrinter.java +0 -177
- data/lib/proguard4.7/src/proguard/shrink/UsedClassFilter.java +0 -74
- data/lib/proguard4.7/src/proguard/shrink/UsedMemberFilter.java +0 -93
- data/lib/proguard4.7/src/proguard/shrink/package.html +0 -3
- data/lib/proguard4.7/src/proguard/util/AndMatcher.java +0 -49
- data/lib/proguard4.7/src/proguard/util/ClassNameParser.java +0 -216
- data/lib/proguard4.7/src/proguard/util/ConstantMatcher.java +0 -48
- data/lib/proguard4.7/src/proguard/util/EmptyStringMatcher.java +0 -36
- data/lib/proguard4.7/src/proguard/util/ExtensionMatcher.java +0 -63
- data/lib/proguard4.7/src/proguard/util/FileNameParser.java +0 -121
- data/lib/proguard4.7/src/proguard/util/FixedStringMatcher.java +0 -56
- data/lib/proguard4.7/src/proguard/util/ListMatcher.java +0 -69
- data/lib/proguard4.7/src/proguard/util/ListParser.java +0 -137
- data/lib/proguard4.7/src/proguard/util/ListUtil.java +0 -180
- data/lib/proguard4.7/src/proguard/util/NameParser.java +0 -106
- data/lib/proguard4.7/src/proguard/util/NotMatcher.java +0 -46
- data/lib/proguard4.7/src/proguard/util/OrMatcher.java +0 -49
- data/lib/proguard4.7/src/proguard/util/SettableMatcher.java +0 -46
- data/lib/proguard4.7/src/proguard/util/StringMatcher.java +0 -38
- data/lib/proguard4.7/src/proguard/util/StringParser.java +0 -35
- data/lib/proguard4.7/src/proguard/util/VariableStringMatcher.java +0 -126
- data/lib/proguard4.7/src/proguard/util/package.html +0 -3
- data/lib/proguard4.7/src/proguard/wtk/ProGuardObfuscator.java +0 -141
- data/lib/proguard4.7/src/proguard/wtk/default.pro +0 -114
- data/lib/proguard4.7/src/proguard/wtk/package.html +0 -3
@@ -1,259 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* ProGuard -- shrinking, optimization, obfuscation, and preverification
|
3
|
-
* of Java bytecode.
|
4
|
-
*
|
5
|
-
* Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
|
6
|
-
*
|
7
|
-
* This program is free software; you can redistribute it and/or modify it
|
8
|
-
* under the terms of the GNU General Public License as published by the Free
|
9
|
-
* Software Foundation; either version 2 of the License, or (at your option)
|
10
|
-
* any later version.
|
11
|
-
*
|
12
|
-
* This program is distributed in the hope that it will be useful, but WITHOUT
|
13
|
-
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
14
|
-
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
15
|
-
* more details.
|
16
|
-
*
|
17
|
-
* You should have received a copy of the GNU General Public License along
|
18
|
-
* with this program; if not, write to the Free Software Foundation, Inc.,
|
19
|
-
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
|
-
*/
|
21
|
-
package proguard;
|
22
|
-
|
23
|
-
import java.util.*;
|
24
|
-
|
25
|
-
/**
|
26
|
-
* This class stores a specification of classes and possibly class members.
|
27
|
-
* The specification is template-based: the class names and class member names
|
28
|
-
* and descriptors can contain wildcards. Classes can be specified explicitly,
|
29
|
-
* or as extensions or implementations in the class hierarchy.
|
30
|
-
*
|
31
|
-
* @author Eric Lafortune
|
32
|
-
*/
|
33
|
-
public class ClassSpecification implements Cloneable
|
34
|
-
{
|
35
|
-
public final String comments;
|
36
|
-
public int requiredSetAccessFlags;
|
37
|
-
public int requiredUnsetAccessFlags;
|
38
|
-
public final String annotationType;
|
39
|
-
public String className;
|
40
|
-
public final String extendsAnnotationType;
|
41
|
-
public final String extendsClassName;
|
42
|
-
|
43
|
-
public List fieldSpecifications;
|
44
|
-
public List methodSpecifications;
|
45
|
-
|
46
|
-
|
47
|
-
/**
|
48
|
-
* Creates a new ClassSpecification for all possible classes, without
|
49
|
-
* comments or class members.
|
50
|
-
*/
|
51
|
-
public ClassSpecification()
|
52
|
-
{
|
53
|
-
this(null,
|
54
|
-
0,
|
55
|
-
0,
|
56
|
-
null,
|
57
|
-
null,
|
58
|
-
null,
|
59
|
-
null);
|
60
|
-
}
|
61
|
-
|
62
|
-
|
63
|
-
/**
|
64
|
-
* Creates a new ClassSpecification that is a copy of the given specification.
|
65
|
-
*/
|
66
|
-
public ClassSpecification(ClassSpecification classSpecification)
|
67
|
-
{
|
68
|
-
this(classSpecification.comments,
|
69
|
-
classSpecification.requiredSetAccessFlags,
|
70
|
-
classSpecification.requiredUnsetAccessFlags,
|
71
|
-
classSpecification.annotationType,
|
72
|
-
classSpecification.className,
|
73
|
-
classSpecification.extendsAnnotationType,
|
74
|
-
classSpecification.extendsClassName,
|
75
|
-
classSpecification.fieldSpecifications,
|
76
|
-
classSpecification.methodSpecifications);
|
77
|
-
}
|
78
|
-
|
79
|
-
|
80
|
-
/**
|
81
|
-
* Creates a new ClassSpecification for the specified class(es), without
|
82
|
-
* class members.
|
83
|
-
*
|
84
|
-
* @param comments provides optional comments on this
|
85
|
-
* specification.
|
86
|
-
* @param requiredSetAccessFlags the class access flags that must be set
|
87
|
-
* in order for the class to apply.
|
88
|
-
* @param requiredUnsetAccessFlags the class access flags that must be
|
89
|
-
* unset in order for the class to apply.
|
90
|
-
* @param annotationType the name of the class that must be an
|
91
|
-
* annotation of the class in order for it
|
92
|
-
* to apply. The name may be null to
|
93
|
-
* specify that no annotation is required.
|
94
|
-
* @param className the class name. The name may be null to
|
95
|
-
* specify any class, or it may contain
|
96
|
-
* "**", "*", or "?" wildcards.
|
97
|
-
* @param extendsAnnotationType the name of the class of that must be
|
98
|
-
* an annotation of the class that the
|
99
|
-
* class must extend or implement in order
|
100
|
-
* to apply. The name may be null to
|
101
|
-
* specify that no annotation is required.
|
102
|
-
* @param extendsClassName the name of the class that the class
|
103
|
-
* must extend or implement in order to
|
104
|
-
* apply. The name may be null to specify
|
105
|
-
* any class.
|
106
|
-
*/
|
107
|
-
public ClassSpecification(String comments,
|
108
|
-
int requiredSetAccessFlags,
|
109
|
-
int requiredUnsetAccessFlags,
|
110
|
-
String annotationType,
|
111
|
-
String className,
|
112
|
-
String extendsAnnotationType,
|
113
|
-
String extendsClassName)
|
114
|
-
{
|
115
|
-
this(comments,
|
116
|
-
requiredSetAccessFlags,
|
117
|
-
requiredUnsetAccessFlags,
|
118
|
-
annotationType,
|
119
|
-
className,
|
120
|
-
extendsAnnotationType,
|
121
|
-
extendsClassName,
|
122
|
-
null,
|
123
|
-
null);
|
124
|
-
}
|
125
|
-
|
126
|
-
|
127
|
-
/**
|
128
|
-
* Creates a new ClassSpecification for the specified classes and class
|
129
|
-
* members.
|
130
|
-
*
|
131
|
-
* @param comments provides optional comments on this
|
132
|
-
* specification.
|
133
|
-
* @param requiredSetAccessFlags the class access flags that must be set
|
134
|
-
* in order for the class to apply.
|
135
|
-
* @param requiredUnsetAccessFlags the class access flags that must be
|
136
|
-
* unset in order for the class to apply.
|
137
|
-
* @param annotationType the name of the class that must be an
|
138
|
-
* annotation of the class in order for it
|
139
|
-
* to apply. The name may be null to
|
140
|
-
* specify that no annotation is required.
|
141
|
-
* @param className the class name. The name may be null to
|
142
|
-
* specify any class, or it may contain
|
143
|
-
* "**", "*", or "?" wildcards.
|
144
|
-
* @param extendsAnnotationType the name of the class of that must be
|
145
|
-
* an annotation of the class that the
|
146
|
-
* class must extend or implement in order
|
147
|
-
* to apply. The name may be null to
|
148
|
-
* specify that no annotation is required.
|
149
|
-
* @param extendsClassName the name of the class that the class
|
150
|
-
* must extend or implement in order to
|
151
|
-
* apply. The name may be null to specify
|
152
|
-
* any class.
|
153
|
-
* @param fieldSpecifications the field specifications.
|
154
|
-
* @param methodSpecifications the method specifications.
|
155
|
-
*/
|
156
|
-
public ClassSpecification(String comments,
|
157
|
-
int requiredSetAccessFlags,
|
158
|
-
int requiredUnsetAccessFlags,
|
159
|
-
String annotationType,
|
160
|
-
String className,
|
161
|
-
String extendsAnnotationType,
|
162
|
-
String extendsClassName,
|
163
|
-
List fieldSpecifications,
|
164
|
-
List methodSpecifications)
|
165
|
-
{
|
166
|
-
this.comments = comments;
|
167
|
-
this.requiredSetAccessFlags = requiredSetAccessFlags;
|
168
|
-
this.requiredUnsetAccessFlags = requiredUnsetAccessFlags;
|
169
|
-
this.annotationType = annotationType;
|
170
|
-
this.className = className;
|
171
|
-
this.extendsAnnotationType = extendsAnnotationType;
|
172
|
-
this.extendsClassName = extendsClassName;
|
173
|
-
this.fieldSpecifications = fieldSpecifications;
|
174
|
-
this.methodSpecifications = methodSpecifications;
|
175
|
-
}
|
176
|
-
|
177
|
-
|
178
|
-
/**
|
179
|
-
* Specifies to keep the specified field(s) of this option's class(es).
|
180
|
-
*
|
181
|
-
* @param fieldSpecification the field specification.
|
182
|
-
*/
|
183
|
-
public void addField(MemberSpecification fieldSpecification)
|
184
|
-
{
|
185
|
-
if (fieldSpecifications == null)
|
186
|
-
{
|
187
|
-
fieldSpecifications = new ArrayList();
|
188
|
-
}
|
189
|
-
|
190
|
-
fieldSpecifications.add(fieldSpecification);
|
191
|
-
}
|
192
|
-
|
193
|
-
|
194
|
-
/**
|
195
|
-
* Specifies to keep the specified method(s) of this option's class(es).
|
196
|
-
*
|
197
|
-
* @param methodSpecification the method specification.
|
198
|
-
*/
|
199
|
-
public void addMethod(MemberSpecification methodSpecification)
|
200
|
-
{
|
201
|
-
if (methodSpecifications == null)
|
202
|
-
{
|
203
|
-
methodSpecifications = new ArrayList();
|
204
|
-
}
|
205
|
-
|
206
|
-
methodSpecifications.add(methodSpecification);
|
207
|
-
}
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
// Implementations for Object.
|
212
|
-
|
213
|
-
public boolean equals(Object object)
|
214
|
-
{
|
215
|
-
if (object == null ||
|
216
|
-
this.getClass() != object.getClass())
|
217
|
-
{
|
218
|
-
return false;
|
219
|
-
}
|
220
|
-
|
221
|
-
ClassSpecification other = (ClassSpecification)object;
|
222
|
-
return
|
223
|
-
// (this.comments == null ? other.comments == null : this.comments.equals(other.comments) ) &&
|
224
|
-
(this.requiredSetAccessFlags == other.requiredSetAccessFlags ) &&
|
225
|
-
(this.requiredUnsetAccessFlags == other.requiredUnsetAccessFlags ) &&
|
226
|
-
(this.annotationType == null ? other.annotationType == null : this.annotationType.equals(other.annotationType) ) &&
|
227
|
-
(this.className == null ? other.className == null : this.className.equals(other.className) ) &&
|
228
|
-
(this.extendsAnnotationType == null ? other.extendsAnnotationType == null : this.extendsAnnotationType.equals(other.extendsAnnotationType)) &&
|
229
|
-
(this.extendsClassName == null ? other.extendsClassName == null : this.extendsClassName.equals(other.extendsClassName) ) &&
|
230
|
-
(this.fieldSpecifications == null ? other.fieldSpecifications == null : this.fieldSpecifications.equals(other.fieldSpecifications) ) &&
|
231
|
-
(this.methodSpecifications == null ? other.methodSpecifications == null : this.methodSpecifications.equals(other.methodSpecifications) );
|
232
|
-
}
|
233
|
-
|
234
|
-
public int hashCode()
|
235
|
-
{
|
236
|
-
return
|
237
|
-
// (comments == null ? 0 : comments.hashCode() ) ^
|
238
|
-
(requiredSetAccessFlags ) ^
|
239
|
-
(requiredUnsetAccessFlags ) ^
|
240
|
-
(annotationType == null ? 0 : annotationType.hashCode() ) ^
|
241
|
-
(className == null ? 0 : className.hashCode() ) ^
|
242
|
-
(extendsAnnotationType == null ? 0 : extendsAnnotationType.hashCode()) ^
|
243
|
-
(extendsClassName == null ? 0 : extendsClassName.hashCode() ) ^
|
244
|
-
(fieldSpecifications == null ? 0 : fieldSpecifications.hashCode() ) ^
|
245
|
-
(methodSpecifications == null ? 0 : methodSpecifications.hashCode() );
|
246
|
-
}
|
247
|
-
|
248
|
-
public Object clone()
|
249
|
-
{
|
250
|
-
try
|
251
|
-
{
|
252
|
-
return super.clone();
|
253
|
-
}
|
254
|
-
catch (CloneNotSupportedException e)
|
255
|
-
{
|
256
|
-
return null;
|
257
|
-
}
|
258
|
-
}
|
259
|
-
}
|
@@ -1,503 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* ProGuard -- shrinking, optimization, obfuscation, and preverification
|
3
|
-
* of Java bytecode.
|
4
|
-
*
|
5
|
-
* Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu)
|
6
|
-
*
|
7
|
-
* This program is free software; you can redistribute it and/or modify it
|
8
|
-
* under the terms of the GNU General Public License as published by the Free
|
9
|
-
* Software Foundation; either version 2 of the License, or (at your option)
|
10
|
-
* any later version.
|
11
|
-
*
|
12
|
-
* This program is distributed in the hope that it will be useful, but WITHOUT
|
13
|
-
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
14
|
-
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
15
|
-
* more details.
|
16
|
-
*
|
17
|
-
* You should have received a copy of the GNU General Public License along
|
18
|
-
* with this program; if not, write to the Free Software Foundation, Inc.,
|
19
|
-
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
20
|
-
*/
|
21
|
-
package proguard;
|
22
|
-
|
23
|
-
import proguard.classfile.attribute.annotation.visitor.*;
|
24
|
-
import proguard.classfile.attribute.visitor.AllAttributeVisitor;
|
25
|
-
import proguard.classfile.visitor.*;
|
26
|
-
|
27
|
-
import java.util.List;
|
28
|
-
|
29
|
-
/**
|
30
|
-
* This factory creates visitors to efficiently travel to specified classes and
|
31
|
-
* class members.
|
32
|
-
*
|
33
|
-
* @author Eric Lafortune
|
34
|
-
*/
|
35
|
-
public class ClassSpecificationVisitorFactory
|
36
|
-
{
|
37
|
-
/**
|
38
|
-
* Constructs a ClassPoolVisitor to efficiently travel to the specified
|
39
|
-
* classes and class members.
|
40
|
-
*
|
41
|
-
* @param keepClassSpecifications the list of KeepClassSpecification
|
42
|
-
* instances, defining of the classes and
|
43
|
-
* class members to visit.
|
44
|
-
* @param classVisitor the ClassVisitor to be applied to matching
|
45
|
-
* classes.
|
46
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
47
|
-
* class members.
|
48
|
-
*/
|
49
|
-
public static ClassPoolVisitor createClassPoolVisitor(List keepClassSpecifications,
|
50
|
-
ClassVisitor classVisitor,
|
51
|
-
MemberVisitor memberVisitor,
|
52
|
-
boolean shrinking,
|
53
|
-
boolean optimizing,
|
54
|
-
boolean obfuscating)
|
55
|
-
{
|
56
|
-
MultiClassPoolVisitor multiClassPoolVisitor = new MultiClassPoolVisitor();
|
57
|
-
|
58
|
-
if (keepClassSpecifications != null)
|
59
|
-
{
|
60
|
-
for (int index = 0; index < keepClassSpecifications.size(); index++)
|
61
|
-
{
|
62
|
-
KeepClassSpecification keepClassSpecification =
|
63
|
-
(KeepClassSpecification)keepClassSpecifications.get(index);
|
64
|
-
|
65
|
-
if ((shrinking && !keepClassSpecification.allowShrinking) ||
|
66
|
-
(optimizing && !keepClassSpecification.allowOptimization) ||
|
67
|
-
(obfuscating && !keepClassSpecification.allowObfuscation))
|
68
|
-
{
|
69
|
-
multiClassPoolVisitor.addClassPoolVisitor(
|
70
|
-
createClassPoolVisitor(keepClassSpecification,
|
71
|
-
classVisitor,
|
72
|
-
memberVisitor));
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
return multiClassPoolVisitor;
|
78
|
-
}
|
79
|
-
|
80
|
-
|
81
|
-
/**
|
82
|
-
* Constructs a ClassPoolVisitor to efficiently travel to the specified
|
83
|
-
* classes and class members.
|
84
|
-
*
|
85
|
-
* @param classSpecifications the list of ClassSpecification instances,
|
86
|
-
* defining of the classes and class members to
|
87
|
-
* visit.
|
88
|
-
* @param classVisitor the ClassVisitor to be applied to matching
|
89
|
-
* classes.
|
90
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
91
|
-
* class members.
|
92
|
-
*/
|
93
|
-
public static ClassPoolVisitor createClassPoolVisitor(List classSpecifications,
|
94
|
-
ClassVisitor classVisitor,
|
95
|
-
MemberVisitor memberVisitor)
|
96
|
-
{
|
97
|
-
MultiClassPoolVisitor multiClassPoolVisitor = new MultiClassPoolVisitor();
|
98
|
-
|
99
|
-
if (classSpecifications != null)
|
100
|
-
{
|
101
|
-
for (int index = 0; index < classSpecifications.size(); index++)
|
102
|
-
{
|
103
|
-
ClassSpecification classSpecification =
|
104
|
-
(ClassSpecification)classSpecifications.get(index);
|
105
|
-
|
106
|
-
multiClassPoolVisitor.addClassPoolVisitor(
|
107
|
-
createClassPoolVisitor(classSpecification,
|
108
|
-
classVisitor,
|
109
|
-
memberVisitor));
|
110
|
-
}
|
111
|
-
}
|
112
|
-
|
113
|
-
return multiClassPoolVisitor;
|
114
|
-
}
|
115
|
-
|
116
|
-
|
117
|
-
/**
|
118
|
-
* Constructs a ClassPoolVisitor to efficiently travel to the specified
|
119
|
-
* classes and class members.
|
120
|
-
*
|
121
|
-
* @param keepClassSpecification the specifications of the class(es) and class
|
122
|
-
* members to visit.
|
123
|
-
* @param classVisitor the ClassVisitor to be applied to matching
|
124
|
-
* classes.
|
125
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
126
|
-
* class members.
|
127
|
-
*/
|
128
|
-
private static ClassPoolVisitor createClassPoolVisitor(KeepClassSpecification keepClassSpecification,
|
129
|
-
ClassVisitor classVisitor,
|
130
|
-
MemberVisitor memberVisitor)
|
131
|
-
{
|
132
|
-
// Don't visit the classes if not specified.
|
133
|
-
if (!keepClassSpecification.markClasses &&
|
134
|
-
!keepClassSpecification.markConditionally)
|
135
|
-
{
|
136
|
-
classVisitor = null;
|
137
|
-
}
|
138
|
-
|
139
|
-
// If specified, let the marker visit the class and its class
|
140
|
-
// members conditionally.
|
141
|
-
if (keepClassSpecification.markConditionally)
|
142
|
-
{
|
143
|
-
// Combine both visitors.
|
144
|
-
ClassVisitor composedClassVisitor =
|
145
|
-
createCombinedClassVisitor(keepClassSpecification,
|
146
|
-
classVisitor,
|
147
|
-
memberVisitor);
|
148
|
-
|
149
|
-
// Replace the class visitor.
|
150
|
-
classVisitor =
|
151
|
-
createClassMemberTester(keepClassSpecification,
|
152
|
-
composedClassVisitor);
|
153
|
-
|
154
|
-
// Discard the member visitor, because it has already been included.
|
155
|
-
memberVisitor = null;
|
156
|
-
}
|
157
|
-
|
158
|
-
return createClassPoolVisitor((ClassSpecification)keepClassSpecification,
|
159
|
-
classVisitor,
|
160
|
-
memberVisitor);
|
161
|
-
}
|
162
|
-
|
163
|
-
|
164
|
-
/**
|
165
|
-
* Constructs a ClassPoolVisitor to efficiently travel to the specified
|
166
|
-
* classes and class members.
|
167
|
-
*
|
168
|
-
* @param classSpecification the specifications of the class(es) and class
|
169
|
-
* members to visit.
|
170
|
-
* @param classVisitor the ClassVisitor to be applied to matching
|
171
|
-
* classes.
|
172
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
173
|
-
* class members.
|
174
|
-
*/
|
175
|
-
private static ClassPoolVisitor createClassPoolVisitor(ClassSpecification classSpecification,
|
176
|
-
ClassVisitor classVisitor,
|
177
|
-
MemberVisitor memberVisitor)
|
178
|
-
{
|
179
|
-
// Combine both visitors.
|
180
|
-
ClassVisitor composedClassVisitor =
|
181
|
-
createCombinedClassVisitor(classSpecification,
|
182
|
-
classVisitor,
|
183
|
-
memberVisitor);
|
184
|
-
|
185
|
-
// By default, start visiting from the named class name, if specified.
|
186
|
-
String className = classSpecification.className;
|
187
|
-
|
188
|
-
// Although we may have to start from the extended class.
|
189
|
-
String extendsAnnotationType = classSpecification.extendsAnnotationType;
|
190
|
-
String extendsClassName = classSpecification.extendsClassName;
|
191
|
-
|
192
|
-
// If wildcarded, only visit classes with matching names.
|
193
|
-
if (className != null &&
|
194
|
-
(extendsAnnotationType != null ||
|
195
|
-
extendsClassName != null ||
|
196
|
-
containsWildCards(className)))
|
197
|
-
{
|
198
|
-
composedClassVisitor =
|
199
|
-
new ClassNameFilter(className, composedClassVisitor);
|
200
|
-
|
201
|
-
// We'll have to visit all classes now.
|
202
|
-
className = null;
|
203
|
-
}
|
204
|
-
|
205
|
-
// If specified, only visit classes with the right annotation.
|
206
|
-
String annotationType = classSpecification.annotationType;
|
207
|
-
|
208
|
-
if (annotationType != null)
|
209
|
-
{
|
210
|
-
composedClassVisitor =
|
211
|
-
new AllAttributeVisitor(
|
212
|
-
new AllAnnotationVisitor(
|
213
|
-
new AnnotationTypeFilter(annotationType,
|
214
|
-
new AnnotatedClassVisitor(composedClassVisitor))));
|
215
|
-
}
|
216
|
-
|
217
|
-
// If specified, only visit classes with the right access flags.
|
218
|
-
if (classSpecification.requiredSetAccessFlags != 0 ||
|
219
|
-
classSpecification.requiredUnsetAccessFlags != 0)
|
220
|
-
{
|
221
|
-
composedClassVisitor =
|
222
|
-
new ClassAccessFilter(classSpecification.requiredSetAccessFlags,
|
223
|
-
classSpecification.requiredUnsetAccessFlags,
|
224
|
-
composedClassVisitor);
|
225
|
-
}
|
226
|
-
|
227
|
-
// If it's specified, start visiting from the extended class.
|
228
|
-
if (extendsAnnotationType != null ||
|
229
|
-
extendsClassName != null)
|
230
|
-
{
|
231
|
-
// Start visiting from the extended class.
|
232
|
-
composedClassVisitor =
|
233
|
-
new ClassHierarchyTraveler(false, false, false, true,
|
234
|
-
composedClassVisitor);
|
235
|
-
|
236
|
-
// If specified, only visit extended classes with the right annotation.
|
237
|
-
if (extendsAnnotationType != null)
|
238
|
-
{
|
239
|
-
composedClassVisitor =
|
240
|
-
new AllAttributeVisitor(
|
241
|
-
new AllAnnotationVisitor(
|
242
|
-
new AnnotationTypeFilter(extendsAnnotationType,
|
243
|
-
new AnnotatedClassVisitor(composedClassVisitor))));
|
244
|
-
}
|
245
|
-
|
246
|
-
// If specified, only visit extended classes with matching names.
|
247
|
-
if (extendsClassName != null)
|
248
|
-
{
|
249
|
-
// If wildcarded, only visit extended classes with matching names.
|
250
|
-
if (containsWildCards(extendsClassName))
|
251
|
-
{
|
252
|
-
composedClassVisitor =
|
253
|
-
new ClassNameFilter(extendsClassName,
|
254
|
-
composedClassVisitor);
|
255
|
-
}
|
256
|
-
else
|
257
|
-
{
|
258
|
-
// Start visiting from the named extended class.
|
259
|
-
className = extendsClassName;
|
260
|
-
}
|
261
|
-
}
|
262
|
-
}
|
263
|
-
|
264
|
-
// If specified, visit a single named class, otherwise visit all classes.
|
265
|
-
return className != null ?
|
266
|
-
(ClassPoolVisitor)new NamedClassVisitor(composedClassVisitor, className) :
|
267
|
-
(ClassPoolVisitor)new AllClassVisitor(composedClassVisitor);
|
268
|
-
}
|
269
|
-
|
270
|
-
|
271
|
-
/**
|
272
|
-
* Constructs a ClassVisitor to efficiently travel to the specified
|
273
|
-
* classes and class members.
|
274
|
-
*
|
275
|
-
* @param classSpecification the specifications of the class(es) and class
|
276
|
-
* members to visit.
|
277
|
-
* @param classVisitor the ClassVisitor to be applied to matching
|
278
|
-
* classes.
|
279
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
280
|
-
* class members.
|
281
|
-
*/
|
282
|
-
private static ClassVisitor createCombinedClassVisitor(ClassSpecification classSpecification,
|
283
|
-
ClassVisitor classVisitor,
|
284
|
-
MemberVisitor memberVisitor)
|
285
|
-
{
|
286
|
-
// Don't visit any members if there aren't any member specifications.
|
287
|
-
if (classSpecification.fieldSpecifications == null &&
|
288
|
-
classSpecification.methodSpecifications == null)
|
289
|
-
{
|
290
|
-
memberVisitor = null;
|
291
|
-
}
|
292
|
-
|
293
|
-
// The class visitor for classes and their members.
|
294
|
-
MultiClassVisitor multiClassVisitor = new MultiClassVisitor();
|
295
|
-
|
296
|
-
// If specified, let the class visitor visit the class itself.
|
297
|
-
if (classVisitor != null)
|
298
|
-
{
|
299
|
-
// This class visitor may be the only one.
|
300
|
-
if (memberVisitor == null)
|
301
|
-
{
|
302
|
-
return classVisitor;
|
303
|
-
}
|
304
|
-
|
305
|
-
multiClassVisitor.addClassVisitor(classVisitor);
|
306
|
-
}
|
307
|
-
|
308
|
-
// If specified, let the member info visitor visit the class members.
|
309
|
-
if (memberVisitor != null)
|
310
|
-
{
|
311
|
-
ClassVisitor memberClassVisitor =
|
312
|
-
createClassVisitor(classSpecification, memberVisitor);
|
313
|
-
|
314
|
-
// This class visitor may be the only one.
|
315
|
-
if (classVisitor == null)
|
316
|
-
{
|
317
|
-
return memberClassVisitor;
|
318
|
-
}
|
319
|
-
|
320
|
-
multiClassVisitor.addClassVisitor(memberClassVisitor);
|
321
|
-
}
|
322
|
-
|
323
|
-
return multiClassVisitor;
|
324
|
-
}
|
325
|
-
|
326
|
-
|
327
|
-
/**
|
328
|
-
* Constructs a ClassVisitor to efficiently travel to the specified class
|
329
|
-
* members.
|
330
|
-
*
|
331
|
-
* @param classSpecification the specifications of the class members to visit.
|
332
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
333
|
-
* class members.
|
334
|
-
*/
|
335
|
-
private static ClassVisitor createClassVisitor(ClassSpecification classSpecification,
|
336
|
-
MemberVisitor memberVisitor)
|
337
|
-
{
|
338
|
-
MultiClassVisitor multiClassVisitor = new MultiClassVisitor();
|
339
|
-
|
340
|
-
addMemberVisitors(classSpecification.fieldSpecifications, true, multiClassVisitor, memberVisitor);
|
341
|
-
addMemberVisitors(classSpecification.methodSpecifications, false, multiClassVisitor, memberVisitor);
|
342
|
-
|
343
|
-
// Mark the class member in this class and in super classes.
|
344
|
-
return new ClassHierarchyTraveler(true, true, false, false,
|
345
|
-
multiClassVisitor);
|
346
|
-
}
|
347
|
-
|
348
|
-
|
349
|
-
/**
|
350
|
-
* Adds elements to the given MultiClassVisitor, to apply the given
|
351
|
-
* MemberVisitor to all class members that match the given List
|
352
|
-
* of options (of the given type).
|
353
|
-
*/
|
354
|
-
private static void addMemberVisitors(List memberSpecifications,
|
355
|
-
boolean isField,
|
356
|
-
MultiClassVisitor multiClassVisitor,
|
357
|
-
MemberVisitor memberVisitor)
|
358
|
-
{
|
359
|
-
if (memberSpecifications != null)
|
360
|
-
{
|
361
|
-
for (int index = 0; index < memberSpecifications.size(); index++)
|
362
|
-
{
|
363
|
-
MemberSpecification memberSpecification =
|
364
|
-
(MemberSpecification)memberSpecifications.get(index);
|
365
|
-
|
366
|
-
multiClassVisitor.addClassVisitor(
|
367
|
-
createClassVisitor(memberSpecification,
|
368
|
-
isField,
|
369
|
-
memberVisitor));
|
370
|
-
}
|
371
|
-
}
|
372
|
-
}
|
373
|
-
|
374
|
-
|
375
|
-
/**
|
376
|
-
* Constructs a ClassVisitor that conditionally applies the given
|
377
|
-
* ClassVisitor to all classes that contain the given class members.
|
378
|
-
*/
|
379
|
-
private static ClassVisitor createClassMemberTester(ClassSpecification classSpecification,
|
380
|
-
ClassVisitor classVisitor)
|
381
|
-
{
|
382
|
-
// Create a linked list of conditional visitors, for fields and for
|
383
|
-
// methods.
|
384
|
-
return createClassMemberTester(classSpecification.fieldSpecifications,
|
385
|
-
true,
|
386
|
-
createClassMemberTester(classSpecification.methodSpecifications,
|
387
|
-
false,
|
388
|
-
classVisitor));
|
389
|
-
}
|
390
|
-
|
391
|
-
|
392
|
-
/**
|
393
|
-
* Constructs a ClassVisitor that conditionally applies the given
|
394
|
-
* ClassVisitor to all classes that contain the given List of class
|
395
|
-
* members (of the given type).
|
396
|
-
*/
|
397
|
-
private static ClassVisitor createClassMemberTester(List memberSpecifications,
|
398
|
-
boolean isField,
|
399
|
-
ClassVisitor classVisitor)
|
400
|
-
{
|
401
|
-
// Create a linked list of conditional visitors.
|
402
|
-
if (memberSpecifications != null)
|
403
|
-
{
|
404
|
-
for (int index = 0; index < memberSpecifications.size(); index++)
|
405
|
-
{
|
406
|
-
MemberSpecification memberSpecification =
|
407
|
-
(MemberSpecification)memberSpecifications.get(index);
|
408
|
-
|
409
|
-
classVisitor =
|
410
|
-
createClassVisitor(memberSpecification,
|
411
|
-
isField,
|
412
|
-
new MemberToClassVisitor(classVisitor));
|
413
|
-
}
|
414
|
-
}
|
415
|
-
|
416
|
-
return classVisitor;
|
417
|
-
}
|
418
|
-
|
419
|
-
|
420
|
-
/**
|
421
|
-
* Creates a new ClassVisitor to efficiently travel to the specified class
|
422
|
-
* members.
|
423
|
-
*
|
424
|
-
* @param memberSpecification the specification of the class member(s) to
|
425
|
-
* visit.
|
426
|
-
* @param memberVisitor the MemberVisitor to be applied to matching
|
427
|
-
* class member(s).
|
428
|
-
*/
|
429
|
-
private static ClassVisitor createClassVisitor(MemberSpecification memberSpecification,
|
430
|
-
boolean isField,
|
431
|
-
MemberVisitor memberVisitor)
|
432
|
-
{
|
433
|
-
String name = memberSpecification.name;
|
434
|
-
String descriptor = memberSpecification.descriptor;
|
435
|
-
|
436
|
-
// If name or descriptor are not fully specified, only visit matching
|
437
|
-
// class members.
|
438
|
-
boolean fullySpecified =
|
439
|
-
name != null &&
|
440
|
-
descriptor != null &&
|
441
|
-
!containsWildCards(name) &&
|
442
|
-
!containsWildCards(descriptor);
|
443
|
-
|
444
|
-
if (!fullySpecified)
|
445
|
-
{
|
446
|
-
if (descriptor != null)
|
447
|
-
{
|
448
|
-
memberVisitor =
|
449
|
-
new MemberDescriptorFilter(descriptor, memberVisitor);
|
450
|
-
}
|
451
|
-
|
452
|
-
if (name != null)
|
453
|
-
{
|
454
|
-
memberVisitor =
|
455
|
-
new MemberNameFilter(name, memberVisitor);
|
456
|
-
}
|
457
|
-
}
|
458
|
-
|
459
|
-
// If specified, only visit class members with the right annotation.
|
460
|
-
if (memberSpecification.annotationType != null)
|
461
|
-
{
|
462
|
-
memberVisitor =
|
463
|
-
new AllAttributeVisitor(
|
464
|
-
new AllAnnotationVisitor(
|
465
|
-
new AnnotationTypeFilter(memberSpecification.annotationType,
|
466
|
-
new AnnotationToMemberVisitor(memberVisitor))));
|
467
|
-
}
|
468
|
-
|
469
|
-
// If any access flags are specified, only visit matching class members.
|
470
|
-
if (memberSpecification.requiredSetAccessFlags != 0 ||
|
471
|
-
memberSpecification.requiredUnsetAccessFlags != 0)
|
472
|
-
{
|
473
|
-
memberVisitor =
|
474
|
-
new MemberAccessFilter(memberSpecification.requiredSetAccessFlags,
|
475
|
-
memberSpecification.requiredUnsetAccessFlags,
|
476
|
-
memberVisitor);
|
477
|
-
}
|
478
|
-
|
479
|
-
// Depending on what's specified, visit a single named class member,
|
480
|
-
// or all class members, filtering the matching ones.
|
481
|
-
return isField ?
|
482
|
-
fullySpecified ?
|
483
|
-
(ClassVisitor)new NamedFieldVisitor(name, descriptor, memberVisitor) :
|
484
|
-
(ClassVisitor)new AllFieldVisitor(memberVisitor) :
|
485
|
-
fullySpecified ?
|
486
|
-
(ClassVisitor)new NamedMethodVisitor(name, descriptor, memberVisitor) :
|
487
|
-
(ClassVisitor)new AllMethodVisitor(memberVisitor);
|
488
|
-
}
|
489
|
-
|
490
|
-
|
491
|
-
// Small utility methods.
|
492
|
-
|
493
|
-
private static boolean containsWildCards(String string)
|
494
|
-
{
|
495
|
-
return string != null &&
|
496
|
-
(string.indexOf('!') >= 0 ||
|
497
|
-
string.indexOf('*') >= 0 ||
|
498
|
-
string.indexOf('?') >= 0 ||
|
499
|
-
string.indexOf('%') >= 0 ||
|
500
|
-
string.indexOf(',') >= 0 ||
|
501
|
-
string.indexOf("///") >= 0);
|
502
|
-
}
|
503
|
-
}
|