diff options
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) |