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());
+    }
 }


Reply via email to