From 9d4660e53c742fbeebf241a03e9295138c91c623 Mon Sep 17 00:00:00 2001 From: ProGuard Date: Sun, 2 Apr 2017 12:06:00 +0200 Subject: [PATCH] Created ProGuard version 5.3.3. --- README | 2 +- buildscripts/README | 2 +- buildscripts/maven/ant/pom.xml | 2 +- buildscripts/maven/base/pom.xml | 2 +- buildscripts/maven/gradle/pom.xml | 2 +- buildscripts/maven/gui/pom.xml | 2 +- buildscripts/maven/pom.xml | 2 +- buildscripts/maven/retrace/pom.xml | 2 +- buildscripts/maven/wtk/pom.xml | 2 +- docs/FAQ.html | 2 +- docs/GPL_exception.html | 2 +- docs/acknowledgements.html | 2 +- docs/alternatives.html | 2 +- docs/downloads.html | 12 ++- docs/feedback.html | 2 +- docs/index.html | 2 +- docs/license.html | 2 +- docs/main.html | 2 +- docs/manual/ant.html | 2 +- docs/manual/attributes.html | 2 +- docs/manual/examples.html | 2 +- docs/manual/gradle.html | 2 +- docs/manual/gui.html | 2 +- docs/manual/index.html | 2 +- docs/manual/introduction.html | 2 +- docs/manual/limitations.html | 2 +- docs/manual/optimizations.html | 2 +- docs/manual/refcard.html | 2 +- docs/manual/retrace/examples.html | 2 +- docs/manual/retrace/index.html | 2 +- docs/manual/retrace/introduction.html | 2 +- docs/manual/retrace/usage.html | 2 +- docs/manual/troubleshooting.html | 2 +- docs/manual/usage.html | 2 +- docs/manual/wtk.html | 2 +- docs/proguard.appdata.xml | 2 +- docs/quality.html | 2 +- docs/results.html | 2 +- docs/screenshots.html | 2 +- docs/testimonials.html | 2 +- examples/annotations/lib/annotations.jar | Bin 6123 -> 6123 bytes src/proguard/ArgumentWordReader.java | 2 +- src/proguard/AssumeNoSideEffectsChecker.java | 2 +- src/proguard/ClassMemberChecker.java | 2 +- src/proguard/ClassPath.java | 2 +- src/proguard/ClassPathEntry.java | 2 +- src/proguard/ClassSpecification.java | 2 +- .../ClassSpecificationVisitorFactory.java | 2 +- src/proguard/Configuration.java | 2 +- src/proguard/ConfigurationChecker.java | 2 +- src/proguard/ConfigurationConstants.java | 2 +- src/proguard/ConfigurationParser.java | 2 +- src/proguard/ConfigurationWriter.java | 2 +- src/proguard/DataEntryReaderFactory.java | 2 +- src/proguard/DataEntryWriterFactory.java | 2 +- src/proguard/DescriptorKeepChecker.java | 2 +- src/proguard/DuplicateClassPrinter.java | 2 +- src/proguard/FileWordReader.java | 2 +- .../FullyQualifiedClassNameChecker.java | 2 +- src/proguard/GPL.java | 2 +- src/proguard/GetAnnotationChecker.java | 2 +- src/proguard/GetEnclosingClassChecker.java | 2 +- src/proguard/GetEnclosingMethodChecker.java | 2 +- src/proguard/GetSignatureChecker.java | 2 +- src/proguard/Initializer.java | 2 +- src/proguard/InputReader.java | 2 +- src/proguard/KeepClassMemberChecker.java | 2 +- src/proguard/KeepClassSpecification.java | 2 +- src/proguard/LibraryKeepChecker.java | 2 +- src/proguard/LineWordReader.java | 2 +- src/proguard/MemberSpecification.java | 2 +- src/proguard/OutputWriter.java | 2 +- src/proguard/ParseException.java | 2 +- src/proguard/ProGuard.java | 4 +- src/proguard/SeedPrinter.java | 2 +- src/proguard/SubclassedClassFilter.java | 2 +- src/proguard/Targeter.java | 2 +- src/proguard/UpToDateChecker.java | 2 +- src/proguard/WordReader.java | 2 +- src/proguard/ant/ClassPathElement.java | 2 +- .../ant/ClassSpecificationElement.java | 2 +- src/proguard/ant/ConfigurationElement.java | 2 +- src/proguard/ant/ConfigurationTask.java | 2 +- src/proguard/ant/FilterElement.java | 2 +- .../ant/KeepSpecificationElement.java | 2 +- .../ant/MemberSpecificationElement.java | 2 +- src/proguard/ant/ProGuardTask.java | 2 +- src/proguard/classfile/ClassConstants.java | 2 +- src/proguard/classfile/ClassPool.java | 2 +- src/proguard/classfile/Clazz.java | 2 +- src/proguard/classfile/Field.java | 2 +- src/proguard/classfile/JavaConstants.java | 2 +- src/proguard/classfile/LibraryClass.java | 2 +- src/proguard/classfile/LibraryField.java | 2 +- src/proguard/classfile/LibraryMember.java | 2 +- src/proguard/classfile/LibraryMethod.java | 2 +- src/proguard/classfile/Member.java | 2 +- src/proguard/classfile/Method.java | 2 +- src/proguard/classfile/ProgramClass.java | 2 +- src/proguard/classfile/ProgramField.java | 2 +- src/proguard/classfile/ProgramMember.java | 2 +- src/proguard/classfile/ProgramMethod.java | 2 +- src/proguard/classfile/VisitorAccepter.java | 2 +- .../classfile/attribute/Attribute.java | 2 +- .../attribute/BootstrapMethodInfo.java | 2 +- .../attribute/BootstrapMethodsAttribute.java | 2 +- .../classfile/attribute/CodeAttribute.java | 2 +- .../attribute/ConstantValueAttribute.java | 2 +- .../attribute/DeprecatedAttribute.java | 2 +- .../attribute/EnclosingMethodAttribute.java | 2 +- .../classfile/attribute/ExceptionInfo.java | 2 +- .../attribute/ExceptionsAttribute.java | 2 +- .../attribute/ExtendedLineNumberInfo.java | 2 +- .../attribute/InnerClassesAttribute.java | 2 +- .../classfile/attribute/InnerClassesInfo.java | 2 +- .../classfile/attribute/LineNumberInfo.java | 2 +- .../attribute/LineNumberTableAttribute.java | 2 +- .../attribute/LocalVariableInfo.java | 2 +- .../LocalVariableTableAttribute.java | 2 +- .../attribute/LocalVariableTypeInfo.java | 2 +- .../LocalVariableTypeTableAttribute.java | 2 +- .../attribute/MethodParametersAttribute.java | 2 +- .../classfile/attribute/ParameterInfo.java | 2 +- .../attribute/SignatureAttribute.java | 2 +- .../attribute/SourceDirAttribute.java | 2 +- .../attribute/SourceFileAttribute.java | 2 +- .../attribute/SyntheticAttribute.java | 2 +- .../classfile/attribute/UnknownAttribute.java | 2 +- .../attribute/annotation/Annotation.java | 2 +- .../AnnotationDefaultAttribute.java | 2 +- .../annotation/AnnotationElementValue.java | 2 +- .../annotation/AnnotationsAttribute.java | 2 +- .../annotation/ArrayElementValue.java | 2 +- .../annotation/ClassElementValue.java | 2 +- .../annotation/ConstantElementValue.java | 2 +- .../attribute/annotation/ElementValue.java | 2 +- .../annotation/EnumConstantElementValue.java | 2 +- .../ParameterAnnotationsAttribute.java | 2 +- .../RuntimeInvisibleAnnotationsAttribute.java | 2 +- ...nvisibleParameterAnnotationsAttribute.java | 2 +- ...timeInvisibleTypeAnnotationsAttribute.java | 2 +- .../RuntimeVisibleAnnotationsAttribute.java | 2 +- ...eVisibleParameterAnnotationsAttribute.java | 2 +- ...untimeVisibleTypeAnnotationsAttribute.java | 2 +- .../attribute/annotation/TypeAnnotation.java | 2 +- .../annotation/TypeAnnotationsAttribute.java | 2 +- .../attribute/annotation/TypePathInfo.java | 2 +- .../annotation/target/CatchTargetInfo.java | 2 +- .../annotation/target/EmptyTargetInfo.java | 2 +- .../target/FormalParameterTargetInfo.java | 2 +- .../target/LocalVariableTargetElement.java | 2 +- .../target/LocalVariableTargetInfo.java | 2 +- .../annotation/target/OffsetTargetInfo.java | 2 +- .../target/SuperTypeTargetInfo.java | 2 +- .../annotation/target/TargetInfo.java | 2 +- .../annotation/target/ThrowsTargetInfo.java | 2 +- .../target/TypeArgumentTargetInfo.java | 2 +- .../target/TypeParameterBoundTargetInfo.java | 2 +- .../target/TypeParameterTargetInfo.java | 2 +- .../LocalVariableTargetElementVisitor.java | 2 +- .../target/visitor/TargetInfoVisitor.java | 2 +- .../visitor/AllAnnotationVisitor.java | 2 +- .../visitor/AllElementValueVisitor.java | 2 +- .../visitor/AnnotatedClassVisitor.java | 2 +- .../visitor/AnnotationToMemberVisitor.java | 2 +- .../visitor/AnnotationTypeFilter.java | 2 +- .../annotation/visitor/AnnotationVisitor.java | 2 +- .../visitor/ElementValueVisitor.java | 2 +- .../visitor/TypeAnnotationVisitor.java | 2 +- .../visitor/TypePathInfoVisitor.java | 2 +- .../attribute/preverification/DoubleType.java | 2 +- .../attribute/preverification/FloatType.java | 2 +- .../attribute/preverification/FullFrame.java | 2 +- .../preverification/IntegerType.java | 2 +- .../preverification/LessZeroFrame.java | 2 +- .../attribute/preverification/LongType.java | 2 +- .../preverification/MoreZeroFrame.java | 2 +- .../attribute/preverification/NullType.java | 2 +- .../attribute/preverification/ObjectType.java | 2 +- .../preverification/SameOneFrame.java | 2 +- .../preverification/SameZeroFrame.java | 2 +- .../preverification/StackMapAttribute.java | 2 +- .../preverification/StackMapFrame.java | 2 +- .../StackMapTableAttribute.java | 2 +- .../attribute/preverification/TopType.java | 2 +- .../UninitializedThisType.java | 2 +- .../preverification/UninitializedType.java | 2 +- .../preverification/VerificationType.java | 2 +- .../VerificationTypeFactory.java | 2 +- .../visitor/StackMapFrameVisitor.java | 2 +- .../visitor/VerificationTypeVisitor.java | 2 +- .../visitor/AllAttributeVisitor.java | 2 +- .../AllBootstrapMethodInfoVisitor.java | 2 +- .../visitor/AllExceptionInfoVisitor.java | 2 +- .../visitor/AllInnerClassesInfoVisitor.java | 2 +- .../visitor/AllLineNumberInfoVisitor.java | 2 +- .../visitor/AttributeNameFilter.java | 2 +- .../attribute/visitor/AttributeVisitor.java | 2 +- .../visitor/BootstrapMethodInfoVisitor.java | 2 +- .../visitor/ExceptionInfoVisitor.java | 2 +- .../visitor/InnerClassesInfoVisitor.java | 2 +- .../visitor/LineNumberInfoVisitor.java | 2 +- .../visitor/LineNumberRangeFinder.java | 2 +- .../visitor/LocalVariableInfoVisitor.java | 2 +- .../visitor/LocalVariableTypeInfoVisitor.java | 2 +- .../visitor/MultiAttributeVisitor.java | 2 +- .../visitor/NonEmptyAttributeFilter.java | 2 +- .../visitor/ParameterInfoVisitor.java | 2 +- .../visitor/RequiredAttributeFilter.java | 2 +- .../attribute/visitor/StackSizeComputer.java | 2 +- .../classfile/constant/ClassConstant.java | 2 +- src/proguard/classfile/constant/Constant.java | 2 +- .../classfile/constant/DoubleConstant.java | 2 +- .../classfile/constant/FieldrefConstant.java | 2 +- .../classfile/constant/FloatConstant.java | 2 +- .../classfile/constant/IntegerConstant.java | 2 +- .../constant/InterfaceMethodrefConstant.java | 2 +- .../constant/InvokeDynamicConstant.java | 2 +- .../classfile/constant/LongConstant.java | 2 +- .../constant/MethodHandleConstant.java | 2 +- .../constant/MethodTypeConstant.java | 2 +- .../classfile/constant/MethodrefConstant.java | 2 +- .../constant/NameAndTypeConstant.java | 2 +- .../classfile/constant/RefConstant.java | 2 +- .../classfile/constant/StringConstant.java | 2 +- .../classfile/constant/Utf8Constant.java | 2 +- .../constant/visitor/AllConstantVisitor.java | 2 +- .../BootstrapMethodArgumentVisitor.java | 2 +- .../BootstrapMethodHandleTraveler.java | 2 +- .../constant/visitor/ConstantTagFilter.java | 2 +- .../constant/visitor/ConstantVisitor.java | 2 +- .../visitor/ExceptClassConstantFilter.java | 2 +- .../constant/visitor/MethodrefTraveler.java | 2 +- .../visitor/SuperClassConstantVisitor.java | 2 +- .../classfile/editor/AccessFixer.java | 2 +- .../classfile/editor/AnnotationAdder.java | 2 +- .../editor/AnnotationsAttributeEditor.java | 2 +- .../classfile/editor/AttributeAdder.java | 2 +- .../classfile/editor/AttributeSorter.java | 2 +- .../classfile/editor/AttributesEditor.java | 2 +- .../editor/BootstrapMethodInfoAdder.java | 2 +- .../editor/BootstrapMethodRemapper.java | 2 +- .../BootstrapMethodsAttributeAdder.java | 2 +- .../BootstrapMethodsAttributeEditor.java | 2 +- .../classfile/editor/BridgeMethodFixer.java | 2 +- .../classfile/editor/ClassEditor.java | 2 +- .../classfile/editor/ClassElementSorter.java | 2 +- .../classfile/editor/ClassMemberSorter.java | 2 +- .../classfile/editor/ClassReferenceFixer.java | 2 +- .../editor/CodeAttributeComposer.java | 2 +- .../classfile/editor/CodeAttributeEditor.java | 2 +- .../editor/CodeAttributeEditorResetter.java | 2 +- .../classfile/editor/ComparableConstant.java | 2 +- .../classfile/editor/ConstantAdder.java | 2 +- .../classfile/editor/ConstantPoolEditor.java | 2 +- .../editor/ConstantPoolRemapper.java | 2 +- .../editor/ConstantPoolShrinker.java | 2 +- .../classfile/editor/ConstantPoolSorter.java | 2 +- .../classfile/editor/ElementValueAdder.java | 2 +- .../classfile/editor/ElementValuesEditor.java | 2 +- .../classfile/editor/ExceptionAdder.java | 2 +- .../classfile/editor/ExceptionInfoAdder.java | 2 +- .../editor/ExceptionsAttributeEditor.java | 2 +- .../editor/InnerClassesAccessFixer.java | 2 +- .../classfile/editor/InstructionAdder.java | 2 +- .../classfile/editor/InstructionWriter.java | 2 +- .../classfile/editor/InterfaceAdder.java | 2 +- .../classfile/editor/InterfaceDeleter.java | 2 +- .../classfile/editor/InterfaceSorter.java | 2 +- .../classfile/editor/InterfacesEditor.java | 2 +- .../classfile/editor/LineNumberInfoAdder.java | 2 +- .../LineNumberTableAttributeEditor.java | 2 +- .../LineNumberTableAttributeTrimmer.java | 2 +- .../editor/LocalVariableInfoAdder.java | 2 +- .../LocalVariableTableAttributeEditor.java | 2 +- .../editor/LocalVariableTypeInfoAdder.java | 2 +- ...LocalVariableTypeTableAttributeEditor.java | 2 +- .../classfile/editor/MemberAdder.java | 2 +- .../editor/MemberReferenceFixer.java | 2 +- .../editor/MethodInvocationFixer.java | 2 +- .../classfile/editor/NameAndTypeShrinker.java | 2 +- .../editor/NamedAttributeDeleter.java | 2 +- .../ParameterAnnotationsAttributeEditor.java | 2 +- .../classfile/editor/ParameterInfoAdder.java | 2 +- .../classfile/editor/StackSizeUpdater.java | 2 +- .../classfile/editor/SubclassAdder.java | 2 +- .../classfile/editor/SubclassToAdder.java | 2 +- .../classfile/editor/Utf8Shrinker.java | 2 +- .../classfile/editor/VariableCleaner.java | 2 +- .../classfile/editor/VariableEditor.java | 2 +- .../classfile/editor/VariableRemapper.java | 2 +- .../classfile/editor/VariableSizeUpdater.java | 2 +- .../instruction/BranchInstruction.java | 2 +- .../instruction/ConstantInstruction.java | 2 +- .../classfile/instruction/Instruction.java | 2 +- .../instruction/InstructionConstants.java | 2 +- .../instruction/InstructionFactory.java | 2 +- .../instruction/InstructionUtil.java | 2 +- .../instruction/LookUpSwitchInstruction.java | 2 +- .../instruction/SimpleInstruction.java | 2 +- .../instruction/SwitchInstruction.java | 2 +- .../instruction/TableSwitchInstruction.java | 2 +- .../instruction/VariableInstruction.java | 2 +- .../visitor/AllInstructionVisitor.java | 2 +- .../visitor/InstructionConstantVisitor.java | 2 +- .../visitor/InstructionCounter.java | 2 +- .../visitor/InstructionVisitor.java | 2 +- .../visitor/MultiInstructionVisitor.java | 2 +- .../classfile/io/LibraryClassReader.java | 2 +- .../classfile/io/ProgramClassReader.java | 2 +- .../classfile/io/ProgramClassWriter.java | 2 +- .../classfile/io/RuntimeDataInput.java | 2 +- .../classfile/io/RuntimeDataOutput.java | 2 +- src/proguard/classfile/util/AccessUtil.java | 2 +- .../classfile/util/AllParameterVisitor.java | 2 +- .../util/ClassReferenceInitializer.java | 2 +- .../util/ClassSubHierarchyInitializer.java | 2 +- .../util/ClassSuperHierarchyInitializer.java | 2 +- src/proguard/classfile/util/ClassUtil.java | 2 +- .../util/DescriptorClassEnumeration.java | 2 +- .../DynamicClassReferenceInitializer.java | 2 +- .../DynamicMemberReferenceInitializer.java | 2 +- .../util/EnumFieldReferenceInitializer.java | 2 +- .../util/ExternalTypeEnumeration.java | 2 +- .../util/InstructionSequenceMatcher.java | 2 +- .../util/InternalTypeEnumeration.java | 2 +- src/proguard/classfile/util/MemberFinder.java | 2 +- src/proguard/classfile/util/MethodLinker.java | 2 +- .../classfile/util/SimplifiedVisitor.java | 2 +- .../util/StringReferenceInitializer.java | 2 +- src/proguard/classfile/util/StringSharer.java | 2 +- .../classfile/util/WarningPrinter.java | 2 +- .../classfile/visitor/AllClassVisitor.java | 2 +- .../classfile/visitor/AllFieldVisitor.java | 2 +- .../classfile/visitor/AllMemberVisitor.java | 2 +- .../classfile/visitor/AllMethodVisitor.java | 2 +- .../classfile/visitor/BottomClassFilter.java | 2 +- .../classfile/visitor/ClassAccessFilter.java | 2 +- .../classfile/visitor/ClassCleaner.java | 2 +- .../classfile/visitor/ClassCollector.java | 2 +- .../classfile/visitor/ClassCounter.java | 2 +- .../visitor/ClassHierarchyTraveler.java | 2 +- .../classfile/visitor/ClassNameFilter.java | 2 +- .../classfile/visitor/ClassPoolFiller.java | 2 +- .../classfile/visitor/ClassPoolRemover.java | 2 +- .../classfile/visitor/ClassPoolVisitor.java | 2 +- .../visitor/ClassPresenceFilter.java | 2 +- .../classfile/visitor/ClassPrinter.java | 2 +- .../classfile/visitor/ClassVersionFilter.java | 2 +- .../classfile/visitor/ClassVersionSetter.java | 2 +- .../classfile/visitor/ClassVisitor.java | 2 +- .../visitor/ConcreteClassDownTraveler.java | 2 +- .../visitor/DotClassClassVisitor.java | 2 +- .../visitor/DynamicReturnedClassVisitor.java | 2 +- .../classfile/visitor/ExceptClassFilter.java | 2 +- .../visitor/ExceptClassesFilter.java | 2 +- .../classfile/visitor/ExceptionCounter.java | 2 +- .../ExceptionExcludedOffsetFilter.java | 2 +- .../ExceptionHandlerConstantVisitor.java | 2 +- .../visitor/ExceptionHandlerFilter.java | 2 +- .../visitor/ExceptionOffsetFilter.java | 2 +- .../visitor/ExceptionRangeFilter.java | 2 +- .../ImplementedClassConstantFilter.java | 2 +- .../visitor/ImplementedClassFilter.java | 2 +- .../ImplementingClassConstantFilter.java | 2 +- .../visitor/InitializerMethodFilter.java | 58 ++++++++--- .../classfile/visitor/LibraryClassFilter.java | 2 +- .../visitor/LibraryMemberFilter.java | 2 +- .../classfile/visitor/MemberAccessFilter.java | 2 +- .../visitor/MemberClassAccessFilter.java | 2 +- .../classfile/visitor/MemberCollector.java | 2 +- .../classfile/visitor/MemberCounter.java | 2 +- .../visitor/MemberDescriptorFilter.java | 2 +- ...emberDescriptorReferencedClassVisitor.java | 2 +- .../classfile/visitor/MemberNameFilter.java | 2 +- .../visitor/MemberToClassVisitor.java | 2 +- .../classfile/visitor/MemberVisitor.java | 2 +- .../visitor/MethodImplementationFilter.java | 2 +- .../visitor/MethodImplementationTraveler.java | 2 +- .../visitor/MultiClassPoolVisitor.java | 2 +- .../classfile/visitor/MultiClassVisitor.java | 2 +- .../classfile/visitor/MultiMemberVisitor.java | 2 +- .../classfile/visitor/NamedClassVisitor.java | 2 +- .../classfile/visitor/NamedFieldVisitor.java | 2 +- .../classfile/visitor/NamedMethodVisitor.java | 2 +- .../classfile/visitor/ParameterVisitor.java | 2 +- .../classfile/visitor/ProgramClassFilter.java | 2 +- .../visitor/ProgramMemberFilter.java | 2 +- .../visitor/ReferencedClassVisitor.java | 2 +- .../visitor/ReferencedMemberVisitor.java | 2 +- .../visitor/SimilarMemberVisitor.java | 2 +- .../classfile/visitor/SimpleClassPrinter.java | 2 +- .../classfile/visitor/SubclassFilter.java | 2 +- .../classfile/visitor/SubclassTraveler.java | 2 +- .../visitor/VariableClassVisitor.java | 2 +- .../visitor/VariableMemberVisitor.java | 2 +- src/proguard/evaluation/BasicBranchUnit.java | 2 +- .../evaluation/BasicInvocationUnit.java | 2 +- .../evaluation/BranchTargetFinder.java | 2 +- src/proguard/evaluation/BranchUnit.java | 2 +- .../evaluation/ClassConstantValueFactory.java | 2 +- .../evaluation/ConstantValueFactory.java | 2 +- src/proguard/evaluation/InvocationUnit.java | 2 +- src/proguard/evaluation/Processor.java | 2 +- src/proguard/evaluation/Stack.java | 2 +- src/proguard/evaluation/TracedStack.java | 2 +- src/proguard/evaluation/TracedVariables.java | 2 +- src/proguard/evaluation/Variables.java | 2 +- .../evaluation/value/ArrayReferenceValue.java | 2 +- .../evaluation/value/Category1Value.java | 2 +- .../evaluation/value/Category2Value.java | 2 +- .../evaluation/value/ComparisonValue.java | 2 +- .../value/CompositeDoubleValue.java | 2 +- .../evaluation/value/CompositeFloatValue.java | 2 +- .../value/CompositeIntegerValue.java | 2 +- .../evaluation/value/CompositeLongValue.java | 2 +- .../evaluation/value/ConvertedByteValue.java | 2 +- .../value/ConvertedCharacterValue.java | 2 +- .../value/ConvertedDoubleValue.java | 2 +- .../evaluation/value/ConvertedFloatValue.java | 2 +- .../value/ConvertedIntegerValue.java | 2 +- .../evaluation/value/ConvertedLongValue.java | 2 +- .../evaluation/value/ConvertedShortValue.java | 2 +- .../value/DetailedArrayReferenceValue.java | 2 +- .../value/DetailedValueFactory.java | 2 +- .../evaluation/value/DoubleValue.java | 2 +- src/proguard/evaluation/value/FloatValue.java | 2 +- .../value/IdentifiedArrayReferenceValue.java | 2 +- .../value/IdentifiedDoubleValue.java | 2 +- .../value/IdentifiedFloatValue.java | 2 +- .../value/IdentifiedIntegerValue.java | 2 +- .../evaluation/value/IdentifiedLongValue.java | 2 +- .../value/IdentifiedReferenceValue.java | 2 +- .../value/IdentifiedValueFactory.java | 2 +- .../evaluation/value/InitialValueFactory.java | 2 +- .../value/InstructionOffsetValue.java | 2 +- .../evaluation/value/IntegerValue.java | 2 +- src/proguard/evaluation/value/LongValue.java | 2 +- .../evaluation/value/NegatedDoubleValue.java | 2 +- .../evaluation/value/NegatedFloatValue.java | 2 +- .../evaluation/value/NegatedIntegerValue.java | 2 +- .../evaluation/value/NegatedLongValue.java | 2 +- .../value/ParticularDoubleValue.java | 2 +- .../value/ParticularFloatValue.java | 2 +- .../value/ParticularIntegerValue.java | 2 +- .../evaluation/value/ParticularLongValue.java | 2 +- .../value/ParticularValueFactory.java | 2 +- .../evaluation/value/ReferenceValue.java | 2 +- .../evaluation/value/SpecificDoubleValue.java | 2 +- .../evaluation/value/SpecificFloatValue.java | 2 +- .../value/SpecificIntegerValue.java | 2 +- .../evaluation/value/SpecificLongValue.java | 2 +- src/proguard/evaluation/value/TopValue.java | 2 +- .../evaluation/value/TypedReferenceValue.java | 2 +- .../evaluation/value/UnknownDoubleValue.java | 2 +- .../evaluation/value/UnknownFloatValue.java | 2 +- .../evaluation/value/UnknownIntegerValue.java | 2 +- .../evaluation/value/UnknownLongValue.java | 2 +- src/proguard/evaluation/value/Value.java | 2 +- .../evaluation/value/ValueFactory.java | 2 +- src/proguard/gradle/ProGuardTask.java | 2 +- src/proguard/gui/ClassPathPanel.java | 2 +- .../gui/ClassSpecificationDialog.java | 2 +- .../gui/ClassSpecificationsPanel.java | 2 +- src/proguard/gui/ExtensionFileFilter.java | 2 +- src/proguard/gui/FilterBuilder.java | 2 +- src/proguard/gui/FilterDialog.java | 2 +- src/proguard/gui/GUIResources.java | 2 +- src/proguard/gui/GUIResources.properties | 6 +- src/proguard/gui/KeepSpecificationsPanel.java | 2 +- src/proguard/gui/ListPanel.java | 2 +- .../gui/MemberSpecificationDialog.java | 2 +- .../gui/MemberSpecificationsPanel.java | 2 +- src/proguard/gui/MessageDialogRunnable.java | 2 +- src/proguard/gui/OptimizationsDialog.java | 2 +- src/proguard/gui/ProGuardGUI.java | 2 +- src/proguard/gui/ProGuardRunnable.java | 2 +- src/proguard/gui/ReTraceRunnable.java | 2 +- src/proguard/gui/SwingUtil.java | 2 +- src/proguard/gui/TabbedPane.java | 2 +- src/proguard/gui/TextAreaOutputStream.java | 2 +- src/proguard/gui/TextAreaWriter.java | 2 +- src/proguard/gui/splash/BufferedSprite.java | 2 +- src/proguard/gui/splash/CircleSprite.java | 2 +- src/proguard/gui/splash/ClipSprite.java | 2 +- src/proguard/gui/splash/ColorSprite.java | 2 +- src/proguard/gui/splash/CompositeSprite.java | 2 +- src/proguard/gui/splash/ConstantColor.java | 2 +- src/proguard/gui/splash/ConstantDouble.java | 2 +- src/proguard/gui/splash/ConstantFont.java | 2 +- src/proguard/gui/splash/ConstantInt.java | 2 +- src/proguard/gui/splash/ConstantString.java | 2 +- src/proguard/gui/splash/ConstantTiming.java | 2 +- src/proguard/gui/splash/FontSprite.java | 2 +- src/proguard/gui/splash/ImageSprite.java | 2 +- src/proguard/gui/splash/LinearColor.java | 2 +- src/proguard/gui/splash/LinearDouble.java | 2 +- src/proguard/gui/splash/LinearInt.java | 2 +- src/proguard/gui/splash/LinearTiming.java | 2 +- .../gui/splash/OverrideGraphics2D.java | 2 +- src/proguard/gui/splash/RectangleSprite.java | 2 +- src/proguard/gui/splash/SawToothTiming.java | 2 +- src/proguard/gui/splash/ShadowedSprite.java | 2 +- src/proguard/gui/splash/SineTiming.java | 2 +- src/proguard/gui/splash/SmoothTiming.java | 2 +- src/proguard/gui/splash/SplashPanel.java | 2 +- src/proguard/gui/splash/Sprite.java | 2 +- src/proguard/gui/splash/TextSprite.java | 2 +- src/proguard/gui/splash/TimeSwitchSprite.java | 2 +- src/proguard/gui/splash/Timing.java | 2 +- src/proguard/gui/splash/TypeWriterString.java | 2 +- src/proguard/gui/splash/VariableColor.java | 2 +- src/proguard/gui/splash/VariableDouble.java | 2 +- src/proguard/gui/splash/VariableFont.java | 2 +- src/proguard/gui/splash/VariableInt.java | 2 +- src/proguard/gui/splash/VariableSizeFont.java | 2 +- src/proguard/gui/splash/VariableString.java | 2 +- src/proguard/io/CascadingDataEntryWriter.java | 2 +- src/proguard/io/ClassFilter.java | 2 +- src/proguard/io/ClassReader.java | 2 +- src/proguard/io/ClassRewriter.java | 2 +- src/proguard/io/DataEntry.java | 2 +- src/proguard/io/DataEntryClassWriter.java | 2 +- src/proguard/io/DataEntryCopier.java | 2 +- src/proguard/io/DataEntryDirectoryFilter.java | 2 +- src/proguard/io/DataEntryFilter.java | 2 +- src/proguard/io/DataEntryNameFilter.java | 2 +- src/proguard/io/DataEntryObfuscator.java | 2 +- src/proguard/io/DataEntryParentFilter.java | 2 +- src/proguard/io/DataEntryPump.java | 2 +- src/proguard/io/DataEntryReader.java | 2 +- src/proguard/io/DataEntryRenamer.java | 2 +- src/proguard/io/DataEntryRewriter.java | 2 +- src/proguard/io/DataEntryWriter.java | 2 +- src/proguard/io/DirectoryFilter.java | 2 +- src/proguard/io/DirectoryPump.java | 2 +- src/proguard/io/DirectoryWriter.java | 2 +- src/proguard/io/FileDataEntry.java | 2 +- src/proguard/io/FilteredDataEntryReader.java | 2 +- src/proguard/io/FilteredDataEntryWriter.java | 2 +- src/proguard/io/Finisher.java | 2 +- src/proguard/io/JarReader.java | 2 +- src/proguard/io/JarWriter.java | 2 +- src/proguard/io/ManifestRewriter.java | 2 +- src/proguard/io/NameFilter.java | 2 +- src/proguard/io/ParentDataEntryWriter.java | 2 +- src/proguard/io/RenamedDataEntry.java | 2 +- src/proguard/io/ZipDataEntry.java | 2 +- src/proguard/obfuscate/AttributeShrinker.java | 2 +- .../obfuscate/AttributeUsageMarker.java | 2 +- src/proguard/obfuscate/ClassObfuscator.java | 2 +- src/proguard/obfuscate/ClassRenamer.java | 2 +- .../obfuscate/DictionaryNameFactory.java | 2 +- src/proguard/obfuscate/MapCleaner.java | 2 +- src/proguard/obfuscate/MappingKeeper.java | 2 +- src/proguard/obfuscate/MappingPrinter.java | 2 +- src/proguard/obfuscate/MappingProcessor.java | 2 +- src/proguard/obfuscate/MappingReader.java | 2 +- src/proguard/obfuscate/MemberNameCleaner.java | 2 +- .../obfuscate/MemberNameCollector.java | 2 +- .../obfuscate/MemberNameConflictFixer.java | 2 +- src/proguard/obfuscate/MemberNameFilter.java | 2 +- src/proguard/obfuscate/MemberObfuscator.java | 2 +- .../obfuscate/MemberSpecialNameFilter.java | 2 +- .../obfuscate/MultiMappingProcessor.java | 2 +- src/proguard/obfuscate/NameFactory.java | 2 +- .../obfuscate/NameFactoryResetter.java | 2 +- src/proguard/obfuscate/NameMarker.java | 2 +- .../obfuscate/NumericNameFactory.java | 2 +- src/proguard/obfuscate/Obfuscator.java | 2 +- .../obfuscate/ParameterNameMarker.java | 2 +- src/proguard/obfuscate/SimpleNameFactory.java | 2 +- src/proguard/obfuscate/SourceFileRenamer.java | 2 +- .../obfuscate/SpecialNameFactory.java | 2 +- .../BootstrapMethodArgumentShrinker.java | 2 +- src/proguard/optimize/ChangedCodePrinter.java | 2 +- .../optimize/ConstantMemberFilter.java | 2 +- .../optimize/ConstantParameterFilter.java | 2 +- .../optimize/DuplicateInitializerFixer.java | 2 +- .../DuplicateInitializerInvocationFixer.java | 2 +- src/proguard/optimize/KeepMarker.java | 2 +- src/proguard/optimize/KeptClassFilter.java | 2 +- src/proguard/optimize/KeptMemberFilter.java | 2 +- .../optimize/MemberDescriptorSpecializer.java | 2 +- .../optimize/MethodDescriptorShrinker.java | 2 +- src/proguard/optimize/MethodStaticizer.java | 2 +- .../optimize/OptimizationInfoClassFilter.java | 72 ++++++++++++++ .../OptimizationInfoMemberFilter.java | 3 +- src/proguard/optimize/Optimizer.java | 93 ++++++++++++------ src/proguard/optimize/ParameterShrinker.java | 2 +- .../optimize/TailRecursionSimplifier.java | 2 +- .../optimize/WriteOnlyFieldFilter.java | 2 +- .../evaluation/EvaluationShrinker.java | 2 +- .../evaluation/EvaluationSimplifier.java | 2 +- .../optimize/evaluation/LivenessAnalyzer.java | 2 +- .../evaluation/LoadingInvocationUnit.java | 2 +- .../optimize/evaluation/PartialEvaluator.java | 2 +- .../evaluation/SimpleEnumArrayPropagator.java | 2 +- .../evaluation/SimpleEnumClassChecker.java | 2 +- .../evaluation/SimpleEnumClassSimplifier.java | 2 +- .../SimpleEnumDescriptorSimplifier.java | 28 +++++- .../evaluation/SimpleEnumUseChecker.java | 2 +- .../evaluation/SimpleEnumUseSimplifier.java | 6 +- .../evaluation/StoringInvocationUnit.java | 2 +- .../optimize/evaluation/TracedBranchUnit.java | 2 +- .../evaluation/VariableOptimizer.java | 2 +- .../optimize/info/AccessMethodMarker.java | 2 +- .../optimize/info/BackwardBranchMarker.java | 2 +- .../optimize/info/CatchExceptionMarker.java | 2 +- .../optimize/info/CaughtClassFilter.java | 2 +- .../optimize/info/CaughtClassMarker.java | 2 +- .../optimize/info/ClassOptimizationInfo.java | 2 +- .../info/ClassOptimizationInfoSetter.java | 2 +- .../optimize/info/DotClassFilter.java | 2 +- .../optimize/info/DotClassMarker.java | 2 +- .../info/DynamicInvocationMarker.java | 2 +- .../info/ExceptionInstructionChecker.java | 2 +- .../optimize/info/FieldOptimizationInfo.java | 2 +- .../optimize/info/InstanceofClassFilter.java | 2 +- .../optimize/info/InstanceofClassMarker.java | 2 +- .../info/InstantiationClassFilter.java | 2 +- .../info/InstantiationClassMarker.java | 2 +- .../info/MemberOptimizationInfoSetter.java | 2 +- .../optimize/info/MethodInvocationMarker.java | 2 +- .../optimize/info/MethodOptimizationInfo.java | 2 +- .../info/NoSideEffectMethodMarker.java | 2 +- .../info/NonEmptyStackReturnMarker.java | 11 ++- .../optimize/info/NonPrivateMemberMarker.java | 2 +- ...ageVisibleMemberContainingClassMarker.java | 2 +- ...ckageVisibleMemberInvokingClassMarker.java | 2 +- .../optimize/info/ParameterUsageMarker.java | 2 +- .../optimize/info/ReadWriteFieldMarker.java | 2 +- .../info/SideEffectInstructionChecker.java | 2 +- .../optimize/info/SideEffectMethodFilter.java | 2 +- .../optimize/info/SideEffectMethodMarker.java | 2 +- .../optimize/info/SimpleEnumFilter.java | 51 ++++++++-- .../optimize/info/SimpleEnumMarker.java | 2 +- ...taticInitializerContainingClassFilter.java | 2 +- ...taticInitializerContainingClassMarker.java | 2 +- .../optimize/info/SuperInvocationMarker.java | 2 +- .../optimize/info/VariableUsageMarker.java | 2 +- .../optimize/peephole/ClassFinalizer.java | 2 +- .../optimize/peephole/ClassMerger.java | 26 ++++- .../peephole/GotoCommonCodeReplacer.java | 2 +- .../optimize/peephole/GotoGotoReplacer.java | 2 +- .../optimize/peephole/GotoReturnReplacer.java | 2 +- .../peephole/HorizontalClassMerger.java | 2 +- .../InstructionSequenceConstants.java | 2 +- .../peephole/InstructionSequenceReplacer.java | 2 +- .../InstructionSequencesReplacer.java | 2 +- .../peephole/LineNumberLinearizer.java | 2 +- .../optimize/peephole/MemberPrivatizer.java | 2 +- .../optimize/peephole/MethodFinalizer.java | 2 +- .../optimize/peephole/MethodInliner.java | 2 +- .../optimize/peephole/NopRemover.java | 2 +- .../optimize/peephole/PeepholeOptimizer.java | 2 +- .../peephole/ReachableCodeMarker.java | 2 +- .../peephole/RetargetedClassFilter.java | 62 +++++++++--- .../RetargetedInnerClassAttributeRemover.java | 2 +- .../optimize/peephole/TargetClassChanger.java | 2 +- .../peephole/UnreachableCodeRemover.java | 2 +- .../peephole/UnreachableExceptionRemover.java | 2 +- .../optimize/peephole/VariableShrinker.java | 2 +- .../peephole/VerticalClassMerger.java | 2 +- src/proguard/preverify/CodePreverifier.java | 2 +- .../preverify/CodeSubroutineInliner.java | 2 +- src/proguard/preverify/Preverifier.java | 2 +- src/proguard/preverify/SubroutineInliner.java | 2 +- src/proguard/retrace/FrameInfo.java | 2 +- src/proguard/retrace/FramePattern.java | 2 +- src/proguard/retrace/FrameRemapper.java | 2 +- src/proguard/retrace/ReTrace.java | 2 +- .../shrink/AnnotationUsageMarker.java | 2 +- src/proguard/shrink/ClassShrinker.java | 2 +- src/proguard/shrink/InnerUsageMarker.java | 2 +- src/proguard/shrink/InterfaceUsageMarker.java | 2 +- .../shrink/LocalVariableTypeUsageMarker.java | 2 +- src/proguard/shrink/ShortestUsageMark.java | 2 +- src/proguard/shrink/ShortestUsageMarker.java | 2 +- src/proguard/shrink/ShortestUsagePrinter.java | 2 +- src/proguard/shrink/Shrinker.java | 2 +- src/proguard/shrink/UsageMarker.java | 2 +- src/proguard/shrink/UsagePrinter.java | 2 +- src/proguard/shrink/UsedClassFilter.java | 2 +- src/proguard/shrink/UsedMemberFilter.java | 2 +- src/proguard/util/AndMatcher.java | 2 +- src/proguard/util/ArrayUtil.java | 2 +- src/proguard/util/ClassNameParser.java | 2 +- src/proguard/util/ConstantMatcher.java | 2 +- src/proguard/util/EmptyStringMatcher.java | 2 +- src/proguard/util/ExtensionMatcher.java | 2 +- src/proguard/util/FileNameParser.java | 2 +- src/proguard/util/FixedStringMatcher.java | 2 +- src/proguard/util/ListMatcher.java | 2 +- src/proguard/util/ListParser.java | 2 +- src/proguard/util/ListUtil.java | 2 +- src/proguard/util/NameParser.java | 2 +- src/proguard/util/NotMatcher.java | 2 +- src/proguard/util/ObjectUtil.java | 2 +- src/proguard/util/OrMatcher.java | 2 +- src/proguard/util/SettableMatcher.java | 2 +- src/proguard/util/StringMatcher.java | 2 +- src/proguard/util/StringParser.java | 2 +- src/proguard/util/VariableStringMatcher.java | 2 +- src/proguard/wtk/ProGuardObfuscator.java | 2 +- 705 files changed, 1038 insertions(+), 776 deletions(-) create mode 100644 src/proguard/optimize/OptimizationInfoClassFilter.java diff --git a/README b/README index 4e8f36fa0..1b3a54f8c 100644 --- a/README +++ b/README @@ -30,4 +30,4 @@ Enjoy! http://proguard.sourceforge.net/ -Copyright (c) 2002-2016 Eric Lafortune @ GuardSquare +Copyright (c) 2002-2017 Eric Lafortune @ GuardSquare diff --git a/buildscripts/README b/buildscripts/README index b7a61ba64..88c2591df 100644 --- a/buildscripts/README +++ b/buildscripts/README @@ -39,4 +39,4 @@ Enjoy! http://proguard.sourceforge.net/ -Copyright (c) 2002-2016 Eric Lafortune @ GuardSquare +Copyright (c) 2002-2017 Eric Lafortune @ GuardSquare diff --git a/buildscripts/maven/ant/pom.xml b/buildscripts/maven/ant/pom.xml index 88229048c..5d7a8fdd5 100644 --- a/buildscripts/maven/ant/pom.xml +++ b/buildscripts/maven/ant/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-anttask diff --git a/buildscripts/maven/base/pom.xml b/buildscripts/maven/base/pom.xml index 8427db890..c18a0edc7 100644 --- a/buildscripts/maven/base/pom.xml +++ b/buildscripts/maven/base/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-base diff --git a/buildscripts/maven/gradle/pom.xml b/buildscripts/maven/gradle/pom.xml index e1c1894c8..2526e89fe 100644 --- a/buildscripts/maven/gradle/pom.xml +++ b/buildscripts/maven/gradle/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-gradle diff --git a/buildscripts/maven/gui/pom.xml b/buildscripts/maven/gui/pom.xml index 9d16e0c15..4bd887ab8 100644 --- a/buildscripts/maven/gui/pom.xml +++ b/buildscripts/maven/gui/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-gui diff --git a/buildscripts/maven/pom.xml b/buildscripts/maven/pom.xml index 08e09b275..58e6a729d 100644 --- a/buildscripts/maven/pom.xml +++ b/buildscripts/maven/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 pom [${project.groupId}] ${project.artifactId} ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. diff --git a/buildscripts/maven/retrace/pom.xml b/buildscripts/maven/retrace/pom.xml index ab08fac4b..329c59b7a 100644 --- a/buildscripts/maven/retrace/pom.xml +++ b/buildscripts/maven/retrace/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-retrace diff --git a/buildscripts/maven/wtk/pom.xml b/buildscripts/maven/wtk/pom.xml index 52c2bd865..219ae89f8 100644 --- a/buildscripts/maven/wtk/pom.xml +++ b/buildscripts/maven/wtk/pom.xml @@ -7,7 +7,7 @@ net.sf.proguard proguard-parent - 5.3.2 + 5.3.3 ../pom.xml proguard-wtk-plugin diff --git a/docs/FAQ.html b/docs/FAQ.html index 6d8dc34c3..11d1eb621 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -297,7 +297,7 @@

How is DexGuard different from ProGuard?
-Copyright © 2002-2016 +Copyright © 2002-2017 Eric Lafortune @ GuardSquare.
diff --git a/docs/GPL_exception.html b/docs/GPL_exception.html index 0665ba5d7..683b2d506 100644 --- a/docs/GPL_exception.html +++ b/docs/GPL_exception.html @@ -7,7 +7,7 @@

Special Exception to the GNU General Public License

-Copyright © 2002-2016 GuardSquare NV +Copyright © 2002-2017 GuardSquare NV

diff --git a/docs/acknowledgements.html b/docs/acknowledgements.html index 3c887728a..12678112f 100644 --- a/docs/acknowledgements.html +++ b/docs/acknowledgements.html @@ -81,7 +81,7 @@

Acknowledgements


-Copyright © 2002-2016 +Copyright © 2002-2017 Eric Lafortune @ GuardSquare.
diff --git a/docs/alternatives.html b/docs/alternatives.html index bd4bbf17d..60163354c 100644 --- a/docs/alternatives.html +++ b/docs/alternatives.html @@ -782,7 +782,7 @@

Alternatives


-Copyright © 2002-2016 +Copyright © 2002-2017 Eric Lafortune @ GuardSquare.
diff --git a/docs/downloads.html b/docs/downloads.html index fa551a57e..a6ce1d7c2 100644 --- a/docs/downloads.html +++ b/docs/downloads.html @@ -74,6 +74,16 @@

Downloads

proguard-retrace. +

In progress
Version 5.3.x

+ +

Sep 2016
Version 5.3