[ 
https://issues.apache.org/jira/browse/MSHADE-228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte closed MSHADE-228.
---------------------------------
       Resolution: Fixed
         Assignee: Robert Scholte
    Fix Version/s: 3.0.0

Is fixed as part of MSHADE-222

> 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
>            Assignee: Robert Scholte
>             Fix For: 3.0.0
>
>
> 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)

Reply via email to