diff options
author | Ying Wang <wangying@google.com> | 2012-02-27 18:34:24 -0800 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2012-02-27 18:34:24 -0800 |
commit | 9f606f95f03a75961498803e24bee6799a7c0885 (patch) | |
tree | a45f4d74feda9b76277a0c9ced55ad15d82248a1 /src/proguard/evaluation/BasicInvocationUnit.java | |
parent | cfead78069f3dc32998dc118ee08cab3867acea2 (diff) | |
download | android_external_proguard-jellybean.tar.gz android_external_proguard-jellybean.tar.bz2 android_external_proguard-jellybean.zip |
Revert "Upgrade from Progaurd 4.4 to 4.7."cm-10.1.3-RC2cm-10.1.3-RC1cm-10.1.3cm-10.1.2cm-10.1.1cm-10.1.0-RC5cm-10.1.0-RC4cm-10.1.0-RC3cm-10.1.0-RC2cm-10.1.0-RC1cm-10.1.0cm-10.1-M3cm-10.1-M2cm-10.1-M1mr1.1-stagingjellybean-stablejellybeancm-10.1
This reverts commit cfead78069f3dc32998dc118ee08cab3867acea2.
Bug: 6079915
Diffstat (limited to 'src/proguard/evaluation/BasicInvocationUnit.java')
-rw-r--r-- | src/proguard/evaluation/BasicInvocationUnit.java | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/src/proguard/evaluation/BasicInvocationUnit.java b/src/proguard/evaluation/BasicInvocationUnit.java index 33b0d0c..bccd866 100644 --- a/src/proguard/evaluation/BasicInvocationUnit.java +++ b/src/proguard/evaluation/BasicInvocationUnit.java @@ -2,7 +2,7 @@ * ProGuard -- shrinking, optimization, obfuscation, and preverification * of Java bytecode. * - * Copyright (c) 2002-2011 Eric Lafortune (eric@graphics.cornell.edu) + * Copyright (c) 2002-2009 Eric Lafortune (eric@graphics.cornell.edu) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free @@ -162,7 +162,6 @@ implements InvocationUnit, break; case InstructionConstants.OP_INVOKESTATIC: - case InstructionConstants.OP_INVOKEDYNAMIC: isStatic = true; break; @@ -231,31 +230,6 @@ implements InvocationUnit, } } - public void visitInvokeDynamicConstant(Clazz clazz, InvokeDynamicConstant invokeDynamicConstant) - { - String type = invokeDynamicConstant.getType(clazz); - - // Count the number of parameters. - int parameterCount = ClassUtil.internalMethodParameterCount(type); - if (!isStatic) - { - parameterCount++; - } - - // Pop the parameters and the class reference, in reverse order. - for (int parameterIndex = parameterCount-1; parameterIndex >= 0; parameterIndex--) - { - stack.pop(); - } - - // Push the return value, if applicable. - String returnType = ClassUtil.internalMethodReturnType(type); - if (returnType.charAt(0) != ClassConstants.INTERNAL_TYPE_VOID) - { - stack.push(getMethodReturnValue(clazz, invokeDynamicConstant, returnType)); - } - } - /** * Sets the class through which the specified field is accessed. @@ -366,25 +340,6 @@ implements InvocationUnit, } - /** - * Returns the return value of the specified method. - */ - protected Value getMethodReturnValue(Clazz clazz, - InvokeDynamicConstant invokeDynamicConstant, - String type) - { - // Try to figure out the class of the return type. - Clazz[] referencedClasses = invokeDynamicConstant.referencedClasses; - - Clazz returnTypeClass = referencedClasses == null ? null : - referencedClasses[referencedClasses.length - 1]; - - return valueFactory.createValue(type, - returnTypeClass, - true); - } - - // Implementations for MemberVisitor. public void visitProgramField(ProgramClass programClass, ProgramField programField) |