sometsome 3.10.50 → 3.10.50.37
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,73 +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.preverify;
|
22
|
-
|
23
|
-
import proguard.Configuration;
|
24
|
-
import proguard.classfile.*;
|
25
|
-
import proguard.classfile.attribute.visitor.AllAttributeVisitor;
|
26
|
-
import proguard.classfile.visitor.*;
|
27
|
-
|
28
|
-
/**
|
29
|
-
* This class can inline subroutines in methods. This is generally useful (i.e.
|
30
|
-
* required) for preverifying code.
|
31
|
-
*
|
32
|
-
* @author Eric Lafortune
|
33
|
-
*/
|
34
|
-
public class SubroutineInliner
|
35
|
-
{
|
36
|
-
private final Configuration configuration;
|
37
|
-
|
38
|
-
|
39
|
-
/**
|
40
|
-
* Creates a new SubroutineInliner.
|
41
|
-
*/
|
42
|
-
public SubroutineInliner(Configuration configuration)
|
43
|
-
{
|
44
|
-
this.configuration = configuration;
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
|
-
/**
|
49
|
-
* Performs subroutine inlining of the given program class pool.
|
50
|
-
*/
|
51
|
-
public void execute(ClassPool programClassPool)
|
52
|
-
{
|
53
|
-
// Clean up any old visitor info.
|
54
|
-
programClassPool.classesAccept(new ClassCleaner());
|
55
|
-
|
56
|
-
// Inline all subroutines.
|
57
|
-
ClassVisitor inliner =
|
58
|
-
new AllMethodVisitor(
|
59
|
-
new AllAttributeVisitor(
|
60
|
-
new CodeSubroutineInliner()));
|
61
|
-
|
62
|
-
// In Java Standard Edition, only class files from Java 6 or higher
|
63
|
-
// should be preverified.
|
64
|
-
if (!configuration.microEdition)
|
65
|
-
{
|
66
|
-
inliner =
|
67
|
-
new ClassVersionFilter(ClassConstants.INTERNAL_CLASS_VERSION_1_6,
|
68
|
-
inliner);
|
69
|
-
}
|
70
|
-
|
71
|
-
programClassPool.classesAccept(inliner);
|
72
|
-
}
|
73
|
-
}
|
@@ -1,749 +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.retrace;
|
22
|
-
|
23
|
-
import proguard.classfile.util.ClassUtil;
|
24
|
-
import proguard.obfuscate.*;
|
25
|
-
|
26
|
-
import java.io.*;
|
27
|
-
import java.util.*;
|
28
|
-
import java.util.regex.*;
|
29
|
-
|
30
|
-
|
31
|
-
/**
|
32
|
-
* Tool for de-obfuscating stack traces of applications that were obfuscated
|
33
|
-
* with ProGuard.
|
34
|
-
*
|
35
|
-
* @author Eric Lafortune
|
36
|
-
*/
|
37
|
-
public class ReTrace
|
38
|
-
implements MappingProcessor
|
39
|
-
{
|
40
|
-
private static final String REGEX_OPTION = "-regex";
|
41
|
-
private static final String VERBOSE_OPTION = "-verbose";
|
42
|
-
|
43
|
-
|
44
|
-
public static final String STACK_TRACE_EXPRESSION = "(?:\\s*%c:.*)|(?:\\s*at\\s+%c.%m\\s*\\(.*?(?::%l)?\\)\\s*)";
|
45
|
-
|
46
|
-
private static final String REGEX_CLASS = "\\b(?:[A-Za-z0-9_$]+\\.)*[A-Za-z0-9_$]+\\b";
|
47
|
-
private static final String REGEX_CLASS_SLASH = "\\b(?:[A-Za-z0-9_$]+/)*[A-Za-z0-9_$]+\\b";
|
48
|
-
private static final String REGEX_LINE_NUMBER = "\\b[0-9]+\\b";
|
49
|
-
private static final String REGEX_TYPE = REGEX_CLASS + "(?:\\[\\])*";
|
50
|
-
private static final String REGEX_MEMBER = "<?\\b[A-Za-z0-9_$]+\\b>?";
|
51
|
-
private static final String REGEX_ARGUMENTS = "(?:" + REGEX_TYPE + "(?:\\s*,\\s*" + REGEX_TYPE + ")*)?";
|
52
|
-
|
53
|
-
// The class settings.
|
54
|
-
private final String regularExpression;
|
55
|
-
private final boolean verbose;
|
56
|
-
private final File mappingFile;
|
57
|
-
private final File stackTraceFile;
|
58
|
-
|
59
|
-
private Map classMap = new HashMap();
|
60
|
-
private Map classFieldMap = new HashMap();
|
61
|
-
private Map classMethodMap = new HashMap();
|
62
|
-
|
63
|
-
|
64
|
-
/**
|
65
|
-
* Creates a new ReTrace object to process stack traces on the standard
|
66
|
-
* input, based on the given mapping file name.
|
67
|
-
* @param regularExpression the regular expression for parsing the lines in
|
68
|
-
* the stack trace.
|
69
|
-
* @param verbose specifies whether the de-obfuscated stack trace
|
70
|
-
* should be verbose.
|
71
|
-
* @param mappingFile the mapping file that was written out by
|
72
|
-
* ProGuard.
|
73
|
-
*/
|
74
|
-
public ReTrace(String regularExpression,
|
75
|
-
boolean verbose,
|
76
|
-
File mappingFile)
|
77
|
-
{
|
78
|
-
this(regularExpression, verbose, mappingFile, null);
|
79
|
-
}
|
80
|
-
|
81
|
-
|
82
|
-
/**
|
83
|
-
* Creates a new ReTrace object to process a stack trace from the given file,
|
84
|
-
* based on the given mapping file name.
|
85
|
-
* @param regularExpression the regular expression for parsing the lines in
|
86
|
-
* the stack trace.
|
87
|
-
* @param verbose specifies whether the de-obfuscated stack trace
|
88
|
-
* should be verbose.
|
89
|
-
* @param mappingFile the mapping file that was written out by
|
90
|
-
* ProGuard.
|
91
|
-
* @param stackTraceFile the optional name of the file that contains the
|
92
|
-
* stack trace.
|
93
|
-
*/
|
94
|
-
public ReTrace(String regularExpression,
|
95
|
-
boolean verbose,
|
96
|
-
File mappingFile,
|
97
|
-
File stackTraceFile)
|
98
|
-
{
|
99
|
-
this.regularExpression = regularExpression;
|
100
|
-
this.verbose = verbose;
|
101
|
-
this.mappingFile = mappingFile;
|
102
|
-
this.stackTraceFile = stackTraceFile;
|
103
|
-
}
|
104
|
-
|
105
|
-
|
106
|
-
/**
|
107
|
-
* Performs the subsequent ReTrace operations.
|
108
|
-
*/
|
109
|
-
public void execute() throws IOException
|
110
|
-
{
|
111
|
-
// Read the mapping file.
|
112
|
-
MappingReader mappingReader = new MappingReader(mappingFile);
|
113
|
-
mappingReader.pump(this);
|
114
|
-
|
115
|
-
|
116
|
-
StringBuffer expressionBuffer = new StringBuffer(regularExpression.length() + 32);
|
117
|
-
char[] expressionTypes = new char[32];
|
118
|
-
int expressionTypeCount = 0;
|
119
|
-
int index = 0;
|
120
|
-
while (true)
|
121
|
-
{
|
122
|
-
int nextIndex = regularExpression.indexOf('%', index);
|
123
|
-
if (nextIndex < 0 ||
|
124
|
-
nextIndex == regularExpression.length()-1 ||
|
125
|
-
expressionTypeCount == expressionTypes.length)
|
126
|
-
{
|
127
|
-
break;
|
128
|
-
}
|
129
|
-
|
130
|
-
expressionBuffer.append(regularExpression.substring(index, nextIndex));
|
131
|
-
expressionBuffer.append('(');
|
132
|
-
|
133
|
-
char expressionType = regularExpression.charAt(nextIndex + 1);
|
134
|
-
switch(expressionType)
|
135
|
-
{
|
136
|
-
case 'c':
|
137
|
-
expressionBuffer.append(REGEX_CLASS);
|
138
|
-
break;
|
139
|
-
|
140
|
-
case 'C':
|
141
|
-
expressionBuffer.append(REGEX_CLASS_SLASH);
|
142
|
-
break;
|
143
|
-
|
144
|
-
case 'l':
|
145
|
-
expressionBuffer.append(REGEX_LINE_NUMBER);
|
146
|
-
break;
|
147
|
-
|
148
|
-
case 't':
|
149
|
-
expressionBuffer.append(REGEX_TYPE);
|
150
|
-
break;
|
151
|
-
|
152
|
-
case 'f':
|
153
|
-
expressionBuffer.append(REGEX_MEMBER);
|
154
|
-
break;
|
155
|
-
|
156
|
-
case 'm':
|
157
|
-
expressionBuffer.append(REGEX_MEMBER);
|
158
|
-
break;
|
159
|
-
|
160
|
-
case 'a':
|
161
|
-
expressionBuffer.append(REGEX_ARGUMENTS);
|
162
|
-
break;
|
163
|
-
}
|
164
|
-
|
165
|
-
expressionBuffer.append(')');
|
166
|
-
|
167
|
-
expressionTypes[expressionTypeCount++] = expressionType;
|
168
|
-
|
169
|
-
index = nextIndex + 2;
|
170
|
-
}
|
171
|
-
|
172
|
-
expressionBuffer.append(regularExpression.substring(index));
|
173
|
-
|
174
|
-
Pattern pattern = Pattern.compile(expressionBuffer.toString());
|
175
|
-
|
176
|
-
// Read the stack trace file.
|
177
|
-
LineNumberReader reader =
|
178
|
-
new LineNumberReader(stackTraceFile == null ?
|
179
|
-
(Reader)new InputStreamReader(System.in) :
|
180
|
-
(Reader)new BufferedReader(new FileReader(stackTraceFile)));
|
181
|
-
|
182
|
-
|
183
|
-
try
|
184
|
-
{
|
185
|
-
StringBuffer outLine = new StringBuffer(256);
|
186
|
-
List extraOutLines = new ArrayList();
|
187
|
-
|
188
|
-
String className = null;
|
189
|
-
|
190
|
-
// Read the line in the stack trace.
|
191
|
-
while (true)
|
192
|
-
{
|
193
|
-
String line = reader.readLine();
|
194
|
-
if (line == null)
|
195
|
-
{
|
196
|
-
break;
|
197
|
-
}
|
198
|
-
|
199
|
-
Matcher matcher = pattern.matcher(line);
|
200
|
-
|
201
|
-
if (matcher.matches())
|
202
|
-
{
|
203
|
-
int lineNumber = 0;
|
204
|
-
String type = null;
|
205
|
-
String arguments = null;
|
206
|
-
|
207
|
-
// Figure out a class name, line number, type, and
|
208
|
-
// arguments beforehand.
|
209
|
-
for (int expressionTypeIndex = 0; expressionTypeIndex < expressionTypeCount; expressionTypeIndex++)
|
210
|
-
{
|
211
|
-
int startIndex = matcher.start(expressionTypeIndex + 1);
|
212
|
-
if (startIndex >= 0)
|
213
|
-
{
|
214
|
-
String match = matcher.group(expressionTypeIndex + 1);
|
215
|
-
|
216
|
-
char expressionType = expressionTypes[expressionTypeIndex];
|
217
|
-
switch (expressionType)
|
218
|
-
{
|
219
|
-
case 'c':
|
220
|
-
className = originalClassName(match);
|
221
|
-
break;
|
222
|
-
|
223
|
-
case 'C':
|
224
|
-
className = originalClassName(ClassUtil.externalClassName(match));
|
225
|
-
break;
|
226
|
-
|
227
|
-
case 'l':
|
228
|
-
lineNumber = Integer.parseInt(match);
|
229
|
-
break;
|
230
|
-
|
231
|
-
case 't':
|
232
|
-
type = originalType(match);
|
233
|
-
break;
|
234
|
-
|
235
|
-
case 'a':
|
236
|
-
arguments = originalArguments(match);
|
237
|
-
break;
|
238
|
-
}
|
239
|
-
}
|
240
|
-
}
|
241
|
-
|
242
|
-
// Actually construct the output line.
|
243
|
-
int lineIndex = 0;
|
244
|
-
|
245
|
-
outLine.setLength(0);
|
246
|
-
extraOutLines.clear();
|
247
|
-
|
248
|
-
for (int expressionTypeIndex = 0; expressionTypeIndex < expressionTypeCount; expressionTypeIndex++)
|
249
|
-
{
|
250
|
-
int startIndex = matcher.start(expressionTypeIndex + 1);
|
251
|
-
if (startIndex >= 0)
|
252
|
-
{
|
253
|
-
int endIndex = matcher.end(expressionTypeIndex + 1);
|
254
|
-
String match = matcher.group(expressionTypeIndex + 1);
|
255
|
-
|
256
|
-
// Copy a literal piece of input line.
|
257
|
-
outLine.append(line.substring(lineIndex, startIndex));
|
258
|
-
|
259
|
-
char expressionType = expressionTypes[expressionTypeIndex];
|
260
|
-
switch (expressionType)
|
261
|
-
{
|
262
|
-
case 'c':
|
263
|
-
className = originalClassName(match);
|
264
|
-
outLine.append(className);
|
265
|
-
break;
|
266
|
-
|
267
|
-
case 'C':
|
268
|
-
className = originalClassName(ClassUtil.externalClassName(match));
|
269
|
-
outLine.append(ClassUtil.internalClassName(className));
|
270
|
-
break;
|
271
|
-
|
272
|
-
case 'l':
|
273
|
-
lineNumber = Integer.parseInt(match);
|
274
|
-
outLine.append(match);
|
275
|
-
break;
|
276
|
-
|
277
|
-
case 't':
|
278
|
-
type = originalType(match);
|
279
|
-
outLine.append(type);
|
280
|
-
break;
|
281
|
-
|
282
|
-
case 'f':
|
283
|
-
originalFieldName(className,
|
284
|
-
match,
|
285
|
-
type,
|
286
|
-
outLine,
|
287
|
-
extraOutLines);
|
288
|
-
break;
|
289
|
-
|
290
|
-
case 'm':
|
291
|
-
originalMethodName(className,
|
292
|
-
match,
|
293
|
-
lineNumber,
|
294
|
-
type,
|
295
|
-
arguments,
|
296
|
-
outLine,
|
297
|
-
extraOutLines);
|
298
|
-
break;
|
299
|
-
|
300
|
-
case 'a':
|
301
|
-
arguments = originalArguments(match);
|
302
|
-
outLine.append(arguments);
|
303
|
-
break;
|
304
|
-
}
|
305
|
-
|
306
|
-
// Skip the original element whose processed version
|
307
|
-
// has just been appended.
|
308
|
-
lineIndex = endIndex;
|
309
|
-
}
|
310
|
-
}
|
311
|
-
|
312
|
-
// Copy the last literal piece of input line.
|
313
|
-
outLine.append(line.substring(lineIndex));
|
314
|
-
|
315
|
-
// Print out the main line.
|
316
|
-
System.out.println(outLine);
|
317
|
-
|
318
|
-
// Print out any additional lines.
|
319
|
-
for (int extraLineIndex = 0; extraLineIndex < extraOutLines.size(); extraLineIndex++)
|
320
|
-
{
|
321
|
-
System.out.println(extraOutLines.get(extraLineIndex));
|
322
|
-
}
|
323
|
-
}
|
324
|
-
else
|
325
|
-
{
|
326
|
-
// Print out the original line.
|
327
|
-
System.out.println(line);
|
328
|
-
}
|
329
|
-
}
|
330
|
-
}
|
331
|
-
catch (IOException ex)
|
332
|
-
{
|
333
|
-
throw new IOException("Can't read stack trace (" + ex.getMessage() + ")");
|
334
|
-
}
|
335
|
-
finally
|
336
|
-
{
|
337
|
-
if (stackTraceFile != null)
|
338
|
-
{
|
339
|
-
try
|
340
|
-
{
|
341
|
-
reader.close();
|
342
|
-
}
|
343
|
-
catch (IOException ex)
|
344
|
-
{
|
345
|
-
// This shouldn't happen.
|
346
|
-
}
|
347
|
-
}
|
348
|
-
}
|
349
|
-
}
|
350
|
-
|
351
|
-
|
352
|
-
/**
|
353
|
-
* Finds the original field name(s), appending the first one to the out
|
354
|
-
* line, and any additional alternatives to the extra lines.
|
355
|
-
*/
|
356
|
-
private void originalFieldName(String className,
|
357
|
-
String obfuscatedFieldName,
|
358
|
-
String type,
|
359
|
-
StringBuffer outLine,
|
360
|
-
List extraOutLines)
|
361
|
-
{
|
362
|
-
int extraIndent = -1;
|
363
|
-
|
364
|
-
// Class name -> obfuscated field names.
|
365
|
-
Map fieldMap = (Map)classFieldMap.get(className);
|
366
|
-
if (fieldMap != null)
|
367
|
-
{
|
368
|
-
// Obfuscated field names -> fields.
|
369
|
-
Set fieldSet = (Set)fieldMap.get(obfuscatedFieldName);
|
370
|
-
if (fieldSet != null)
|
371
|
-
{
|
372
|
-
// Find all matching fields.
|
373
|
-
Iterator fieldInfoIterator = fieldSet.iterator();
|
374
|
-
while (fieldInfoIterator.hasNext())
|
375
|
-
{
|
376
|
-
FieldInfo fieldInfo = (FieldInfo)fieldInfoIterator.next();
|
377
|
-
if (fieldInfo.matches(type))
|
378
|
-
{
|
379
|
-
// Is this the first matching field?
|
380
|
-
if (extraIndent < 0)
|
381
|
-
{
|
382
|
-
extraIndent = outLine.length();
|
383
|
-
|
384
|
-
// Append the first original name.
|
385
|
-
if (verbose)
|
386
|
-
{
|
387
|
-
outLine.append(fieldInfo.type).append(' ');
|
388
|
-
}
|
389
|
-
outLine.append(fieldInfo.originalName);
|
390
|
-
}
|
391
|
-
else
|
392
|
-
{
|
393
|
-
// Create an additional line with the proper
|
394
|
-
// indentation.
|
395
|
-
StringBuffer extraBuffer = new StringBuffer();
|
396
|
-
for (int counter = 0; counter < extraIndent; counter++)
|
397
|
-
{
|
398
|
-
extraBuffer.append(' ');
|
399
|
-
}
|
400
|
-
|
401
|
-
// Append the alternative name.
|
402
|
-
if (verbose)
|
403
|
-
{
|
404
|
-
extraBuffer.append(fieldInfo.type).append(' ');
|
405
|
-
}
|
406
|
-
extraBuffer.append(fieldInfo.originalName);
|
407
|
-
|
408
|
-
// Store the additional line.
|
409
|
-
extraOutLines.add(extraBuffer);
|
410
|
-
}
|
411
|
-
}
|
412
|
-
}
|
413
|
-
}
|
414
|
-
}
|
415
|
-
|
416
|
-
// Just append the obfuscated name if we haven't found any matching
|
417
|
-
// fields.
|
418
|
-
if (extraIndent < 0)
|
419
|
-
{
|
420
|
-
outLine.append(obfuscatedFieldName);
|
421
|
-
}
|
422
|
-
}
|
423
|
-
|
424
|
-
|
425
|
-
/**
|
426
|
-
* Finds the original method name(s), appending the first one to the out
|
427
|
-
* line, and any additional alternatives to the extra lines.
|
428
|
-
*/
|
429
|
-
private void originalMethodName(String className,
|
430
|
-
String obfuscatedMethodName,
|
431
|
-
int lineNumber,
|
432
|
-
String type,
|
433
|
-
String arguments,
|
434
|
-
StringBuffer outLine,
|
435
|
-
List extraOutLines)
|
436
|
-
{
|
437
|
-
int extraIndent = -1;
|
438
|
-
|
439
|
-
// Class name -> obfuscated method names.
|
440
|
-
Map methodMap = (Map)classMethodMap.get(className);
|
441
|
-
if (methodMap != null)
|
442
|
-
{
|
443
|
-
// Obfuscated method names -> methods.
|
444
|
-
Set methodSet = (Set)methodMap.get(obfuscatedMethodName);
|
445
|
-
if (methodSet != null)
|
446
|
-
{
|
447
|
-
// Find all matching methods.
|
448
|
-
Iterator methodInfoIterator = methodSet.iterator();
|
449
|
-
while (methodInfoIterator.hasNext())
|
450
|
-
{
|
451
|
-
MethodInfo methodInfo = (MethodInfo)methodInfoIterator.next();
|
452
|
-
if (methodInfo.matches(lineNumber, type, arguments))
|
453
|
-
{
|
454
|
-
// Is this the first matching method?
|
455
|
-
if (extraIndent < 0)
|
456
|
-
{
|
457
|
-
extraIndent = outLine.length();
|
458
|
-
|
459
|
-
// Append the first original name.
|
460
|
-
if (verbose)
|
461
|
-
{
|
462
|
-
outLine.append(methodInfo.type).append(' ');
|
463
|
-
}
|
464
|
-
outLine.append(methodInfo.originalName);
|
465
|
-
if (verbose)
|
466
|
-
{
|
467
|
-
outLine.append('(').append(methodInfo.arguments).append(')');
|
468
|
-
}
|
469
|
-
}
|
470
|
-
else
|
471
|
-
{
|
472
|
-
// Create an additional line with the proper
|
473
|
-
// indentation.
|
474
|
-
StringBuffer extraBuffer = new StringBuffer();
|
475
|
-
for (int counter = 0; counter < extraIndent; counter++)
|
476
|
-
{
|
477
|
-
extraBuffer.append(' ');
|
478
|
-
}
|
479
|
-
|
480
|
-
// Append the alternative name.
|
481
|
-
if (verbose)
|
482
|
-
{
|
483
|
-
extraBuffer.append(methodInfo.type).append(' ');
|
484
|
-
}
|
485
|
-
extraBuffer.append(methodInfo.originalName);
|
486
|
-
if (verbose)
|
487
|
-
{
|
488
|
-
extraBuffer.append('(').append(methodInfo.arguments).append(')');
|
489
|
-
}
|
490
|
-
|
491
|
-
// Store the additional line.
|
492
|
-
extraOutLines.add(extraBuffer);
|
493
|
-
}
|
494
|
-
}
|
495
|
-
}
|
496
|
-
}
|
497
|
-
}
|
498
|
-
|
499
|
-
// Just append the obfuscated name if we haven't found any matching
|
500
|
-
// methods.
|
501
|
-
if (extraIndent < 0)
|
502
|
-
{
|
503
|
-
outLine.append(obfuscatedMethodName);
|
504
|
-
}
|
505
|
-
}
|
506
|
-
|
507
|
-
|
508
|
-
/**
|
509
|
-
* Returns the original argument types.
|
510
|
-
*/
|
511
|
-
private String originalArguments(String obfuscatedArguments)
|
512
|
-
{
|
513
|
-
StringBuffer originalArguments = new StringBuffer();
|
514
|
-
|
515
|
-
int startIndex = 0;
|
516
|
-
while (true)
|
517
|
-
{
|
518
|
-
int endIndex = obfuscatedArguments.indexOf(',', startIndex);
|
519
|
-
if (endIndex < 0)
|
520
|
-
{
|
521
|
-
break;
|
522
|
-
}
|
523
|
-
|
524
|
-
originalArguments.append(originalType(obfuscatedArguments.substring(startIndex, endIndex).trim())).append(',');
|
525
|
-
|
526
|
-
startIndex = endIndex + 1;
|
527
|
-
}
|
528
|
-
|
529
|
-
originalArguments.append(originalType(obfuscatedArguments.substring(startIndex).trim()));
|
530
|
-
|
531
|
-
return originalArguments.toString();
|
532
|
-
}
|
533
|
-
|
534
|
-
|
535
|
-
/**
|
536
|
-
* Returns the original type.
|
537
|
-
*/
|
538
|
-
private String originalType(String obfuscatedType)
|
539
|
-
{
|
540
|
-
int index = obfuscatedType.indexOf('[');
|
541
|
-
|
542
|
-
return index >= 0 ?
|
543
|
-
originalClassName(obfuscatedType.substring(0, index)) + obfuscatedType.substring(index) :
|
544
|
-
originalClassName(obfuscatedType);
|
545
|
-
}
|
546
|
-
|
547
|
-
|
548
|
-
/**
|
549
|
-
* Returns the original class name.
|
550
|
-
*/
|
551
|
-
private String originalClassName(String obfuscatedClassName)
|
552
|
-
{
|
553
|
-
String originalClassName = (String)classMap.get(obfuscatedClassName);
|
554
|
-
|
555
|
-
return originalClassName != null ?
|
556
|
-
originalClassName :
|
557
|
-
obfuscatedClassName;
|
558
|
-
}
|
559
|
-
|
560
|
-
|
561
|
-
// Implementations for MappingProcessor.
|
562
|
-
|
563
|
-
public boolean processClassMapping(String className, String newClassName)
|
564
|
-
{
|
565
|
-
// Obfuscated class name -> original class name.
|
566
|
-
classMap.put(newClassName, className);
|
567
|
-
|
568
|
-
return true;
|
569
|
-
}
|
570
|
-
|
571
|
-
|
572
|
-
public void processFieldMapping(String className, String fieldType, String fieldName, String newFieldName)
|
573
|
-
{
|
574
|
-
// Original class name -> obfuscated field names.
|
575
|
-
Map fieldMap = (Map)classFieldMap.get(className);
|
576
|
-
if (fieldMap == null)
|
577
|
-
{
|
578
|
-
fieldMap = new HashMap();
|
579
|
-
classFieldMap.put(className, fieldMap);
|
580
|
-
}
|
581
|
-
|
582
|
-
// Obfuscated field name -> fields.
|
583
|
-
Set fieldSet = (Set)fieldMap.get(newFieldName);
|
584
|
-
if (fieldSet == null)
|
585
|
-
{
|
586
|
-
fieldSet = new LinkedHashSet();
|
587
|
-
fieldMap.put(newFieldName, fieldSet);
|
588
|
-
}
|
589
|
-
|
590
|
-
// Add the field information.
|
591
|
-
fieldSet.add(new FieldInfo(fieldType,
|
592
|
-
fieldName));
|
593
|
-
}
|
594
|
-
|
595
|
-
|
596
|
-
public void processMethodMapping(String className, int firstLineNumber, int lastLineNumber, String methodReturnType, String methodName, String methodArguments, String newMethodName)
|
597
|
-
{
|
598
|
-
// Original class name -> obfuscated method names.
|
599
|
-
Map methodMap = (Map)classMethodMap.get(className);
|
600
|
-
if (methodMap == null)
|
601
|
-
{
|
602
|
-
methodMap = new HashMap();
|
603
|
-
classMethodMap.put(className, methodMap);
|
604
|
-
}
|
605
|
-
|
606
|
-
// Obfuscated method name -> methods.
|
607
|
-
Set methodSet = (Set)methodMap.get(newMethodName);
|
608
|
-
if (methodSet == null)
|
609
|
-
{
|
610
|
-
methodSet = new LinkedHashSet();
|
611
|
-
methodMap.put(newMethodName, methodSet);
|
612
|
-
}
|
613
|
-
|
614
|
-
// Add the method information.
|
615
|
-
methodSet.add(new MethodInfo(firstLineNumber,
|
616
|
-
lastLineNumber,
|
617
|
-
methodReturnType,
|
618
|
-
methodArguments,
|
619
|
-
methodName));
|
620
|
-
}
|
621
|
-
|
622
|
-
|
623
|
-
/**
|
624
|
-
* A field record.
|
625
|
-
*/
|
626
|
-
private static class FieldInfo
|
627
|
-
{
|
628
|
-
private String type;
|
629
|
-
private String originalName;
|
630
|
-
|
631
|
-
|
632
|
-
private FieldInfo(String type, String originalName)
|
633
|
-
{
|
634
|
-
this.type = type;
|
635
|
-
this.originalName = originalName;
|
636
|
-
}
|
637
|
-
|
638
|
-
|
639
|
-
private boolean matches(String type)
|
640
|
-
{
|
641
|
-
return
|
642
|
-
type == null || type.equals(this.type);
|
643
|
-
}
|
644
|
-
}
|
645
|
-
|
646
|
-
|
647
|
-
/**
|
648
|
-
* A method record.
|
649
|
-
*/
|
650
|
-
private static class MethodInfo
|
651
|
-
{
|
652
|
-
private int firstLineNumber;
|
653
|
-
private int lastLineNumber;
|
654
|
-
private String type;
|
655
|
-
private String arguments;
|
656
|
-
private String originalName;
|
657
|
-
|
658
|
-
|
659
|
-
private MethodInfo(int firstLineNumber, int lastLineNumber, String type, String arguments, String originalName)
|
660
|
-
{
|
661
|
-
this.firstLineNumber = firstLineNumber;
|
662
|
-
this.lastLineNumber = lastLineNumber;
|
663
|
-
this.type = type;
|
664
|
-
this.arguments = arguments;
|
665
|
-
this.originalName = originalName;
|
666
|
-
}
|
667
|
-
|
668
|
-
|
669
|
-
private boolean matches(int lineNumber, String type, String arguments)
|
670
|
-
{
|
671
|
-
return
|
672
|
-
(lineNumber == 0 || (firstLineNumber <= lineNumber && lineNumber <= lastLineNumber) || lastLineNumber == 0) &&
|
673
|
-
(type == null || type.equals(this.type)) &&
|
674
|
-
(arguments == null || arguments.equals(this.arguments));
|
675
|
-
}
|
676
|
-
}
|
677
|
-
|
678
|
-
|
679
|
-
/**
|
680
|
-
* The main program for ReTrace.
|
681
|
-
*/
|
682
|
-
public static void main(String[] args)
|
683
|
-
{
|
684
|
-
if (args.length < 1)
|
685
|
-
{
|
686
|
-
System.err.println("Usage: java proguard.ReTrace [-verbose] <mapping_file> [<stacktrace_file>]");
|
687
|
-
System.exit(-1);
|
688
|
-
}
|
689
|
-
|
690
|
-
String regularExpresssion = STACK_TRACE_EXPRESSION;
|
691
|
-
boolean verbose = false;
|
692
|
-
|
693
|
-
int argumentIndex = 0;
|
694
|
-
while (argumentIndex < args.length)
|
695
|
-
{
|
696
|
-
String arg = args[argumentIndex];
|
697
|
-
if (arg.equals(REGEX_OPTION))
|
698
|
-
{
|
699
|
-
regularExpresssion = args[++argumentIndex];
|
700
|
-
}
|
701
|
-
else if (arg.equals(VERBOSE_OPTION))
|
702
|
-
{
|
703
|
-
verbose = true;
|
704
|
-
}
|
705
|
-
else
|
706
|
-
{
|
707
|
-
break;
|
708
|
-
}
|
709
|
-
|
710
|
-
argumentIndex++;
|
711
|
-
}
|
712
|
-
|
713
|
-
if (argumentIndex >= args.length)
|
714
|
-
{
|
715
|
-
System.err.println("Usage: java proguard.ReTrace [-regex <regex>] [-verbose] <mapping_file> [<stacktrace_file>]");
|
716
|
-
System.exit(-1);
|
717
|
-
}
|
718
|
-
|
719
|
-
File mappingFile = new File(args[argumentIndex++]);
|
720
|
-
File stackTraceFile = argumentIndex < args.length ?
|
721
|
-
new File(args[argumentIndex]) :
|
722
|
-
null;
|
723
|
-
|
724
|
-
ReTrace reTrace = new ReTrace(regularExpresssion, verbose, mappingFile, stackTraceFile);
|
725
|
-
|
726
|
-
try
|
727
|
-
{
|
728
|
-
// Execute ReTrace with its given settings.
|
729
|
-
reTrace.execute();
|
730
|
-
}
|
731
|
-
catch (IOException ex)
|
732
|
-
{
|
733
|
-
if (verbose)
|
734
|
-
{
|
735
|
-
// Print a verbose stack trace.
|
736
|
-
ex.printStackTrace();
|
737
|
-
}
|
738
|
-
else
|
739
|
-
{
|
740
|
-
// Print just the stack trace message.
|
741
|
-
System.err.println("Error: "+ex.getMessage());
|
742
|
-
}
|
743
|
-
|
744
|
-
System.exit(1);
|
745
|
-
}
|
746
|
-
|
747
|
-
System.exit(0);
|
748
|
-
}
|
749
|
-
}
|