Author: dbrosius Date: Wed Dec 7 01:38:05 2016 New Revision: 1773000 URL: http://svn.apache.org/viewvc?rev=1773000&view=rev Log: Jira Issue #284 Handle InvokeDynamic.getReferenceType() sanely
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java?rev=1773000&r1=1772999&r2=1773000&view=diff ============================================================================== --- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java (original) +++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/generic/INVOKEDYNAMIC.java Wed Dec 7 01:38:05 2016 @@ -127,4 +127,18 @@ public class INVOKEDYNAMIC extends Invok final ConstantInvokeDynamic cid = (ConstantInvokeDynamic) cp.getConstant(super.getIndex(), Const.CONSTANT_InvokeDynamic); return ((ConstantNameAndType) cp.getConstant(cid.getNameAndTypeIndex())).getName(cp); } + + + /** + * Since InvokeDynamic doesn't refer to a reference type, just return java.lang.Object, + * as that is the only type we can say for sure the reference will be. + * + * @param cpg + * the ConstantPoolGen used to create the instruction + * @return an ObjectType for java.lang.Object + */ + @Override + public ReferenceType getReferenceType(final ConstantPoolGen cpg) { + return new ObjectType(Object.class.getName()); + } }