Harvey Raja created MSHADE-228: ---------------------------------- Summary: Shade can incorrectly re-write an InterfaceMethodRef in the constant pool to a MethodRef Key: MSHADE-228 URL: https://issues.apache.org/jira/browse/MSHADE-228 Project: Maven Shade Plugin Issue Type: Bug Affects Versions: 2.4.3 Reporter: Harvey Raja
Given an interface such as: {code} public interface InvalidMethodRefExample { String getLocation(); static InvalidMethodRefExample autoDetect() { return () -> "$Default$"; } } {code} {{javac}} correctly produces a bootstrap method that has a {{MethodHandle}} for its second argument to {{LambdaMetafactory.metafactory}}, and the {{MethodHandle}} is to an {{InterfaceMethodref}}. After running shade the {{InterfaceMethodref}} becomes a {{Methodref}}. This seems to have been the result for some time now but with Java 9 it appears that the java team have decided to enforce this CP type and will be a real problem when using shade and Java 9. -- This message was sent by Atlassian JIRA (v6.3.4#6332)