Skip to content

Commit

Permalink
Created ProGuard version 5.3.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
ProGuard committed Dec 5, 2016
1 parent 75e1375 commit b91da63
Show file tree
Hide file tree
Showing 12 changed files with 21 additions and 18 deletions.
2 changes: 1 addition & 1 deletion buildscripts/maven/ant/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-anttask</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-base</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/gradle/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-gradle</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/gui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-gui</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<packaging>pom</packaging>
<name>[${project.groupId}] ${project.artifactId}</name>
<description>ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier.</description>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/retrace/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-retrace</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion buildscripts/maven/wtk/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-parent</artifactId>
<version>5.3.1</version>
<version>5.3.2</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>proguard-wtk-plugin</artifactId>
Expand Down
Binary file modified examples/annotations/lib/annotations.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion src/proguard/ProGuard.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
*/
public class ProGuard
{
public static final String VERSION = "ProGuard, version 5.3.1";
public static final String VERSION = "ProGuard, version 5.3.2";

private final Configuration configuration;
private ClassPool programClassPool = new ClassPool();
Expand Down
19 changes: 11 additions & 8 deletions src/proguard/classfile/editor/MethodInvocationFixer.java
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,15 @@ else if ((referencedClass.getAccessFlags() & ClassConstants.ACC_INTERFACE) != 0)
int invokeinterfaceConstant =
(ClassUtil.internalMethodParameterSize(referencedMethod.getDescriptor(referencedMethodClass), false)) << 8;

if (opcode == InstructionConstants.OP_INVOKESPECIAL &&
(referencedMethod.getAccessFlags() & ClassConstants.ACC_ABSTRACT) == 0)
{
// Explicit calls to default interface methods *must* be preserved.
}
// But is it not an interface invocation, or is the parameter
// size incorrect?
if (opcode != InstructionConstants.OP_INVOKEINTERFACE ||
constantInstruction.constant != invokeinterfaceConstant)
else if (opcode != InstructionConstants.OP_INVOKEINTERFACE ||
constantInstruction.constant != invokeinterfaceConstant)
{
// Fix the parameter size of the interface invocation.
Instruction replacementInstruction =
Expand All @@ -165,12 +170,10 @@ else if ((referencedClass.getAccessFlags() & ClassConstants.ACC_INTERFACE) != 0)
// But is it not a virtual invocation?
if (opcode != InstructionConstants.OP_INVOKEVIRTUAL &&
(// Replace any non-invokespecial.
opcode != InstructionConstants.OP_INVOKESPECIAL ||
// For invokespecial, replace invocations from static
// methods, invocations from the same class, and
// invocations to non-superclasses.
(method.getAccessFlags() & ClassConstants.ACC_STATIC) != 0 ||
clazz.equals(referencedClass) ||
opcode != InstructionConstants.OP_INVOKESPECIAL ||
// For invokespecial, replace invocations from the same
// class, and invocations to non-superclasses.
clazz.equals(referencedClass) ||
!clazz.extends_(referencedClass)))
{
// Replace the invocation by an invokevirtual instruction.
Expand Down
2 changes: 1 addition & 1 deletion src/proguard/classfile/util/ClassUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ public static String internalClassNameFromType(String internalClassType)
* Returns whether the given method name refers to a class initializer or
* an instance initializer.
* @param internalMethodName the internal method name,
* e.g. "<code>&ltclinit&gt;</code>".
* e.g. "<code>&lt;clinit&gt;</code>".
* @return whether the method name refers to an initializer,
* e.g. <code>true</code>.
*/
Expand Down
2 changes: 1 addition & 1 deletion src/proguard/gui/GUIResources.properties
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ preverification = Preverification
#
# Panel titles.
#
welcome = Welcome to ProGuard, version 5.3.1
welcome = Welcome to ProGuard, version 5.3.2
options = Options
keepAdditional = Keep additional classes and class members
keepNamesAdditional = Keep additional class names and class member names
Expand Down

0 comments on commit b91da63

Please sign in to comment.