java - actual argument ... cannot be converted to ... by method invocation conversion -


i'm making mod game minecraft. using eclipse work fine, compilation successfull , can play game using created mod. when compile code using gradle, error :

c:\users\alexandre\mcforge\forgecreeperheal\debug\build\sources\main\java\fr\eyzox\dependencygraph\dependencygraph.java:31: error: method buildindex in class datakeyprovider<k> cannot applied given types;                         node.keyprovider.buildindex(index, node);                                         ^   required: map<key,dependencygraph<key,? extends idata<key>>.node>,dependencygraph<key,? extends idata<key>>.node   found: map<key,dependencygraph<key,data>.node>,dependencygraph<key,data>.node   reason: actual argument map<key,dependencygraph<key,data>.node> cannot converted map<key,dependencygraph<key,? extends idata<key>>.node> method invocation conversion   key,data,k type-variables:     key extends object declared in class dependencygraph     data extends idata<key> declared in class dependencygraph     k extends object declared in class datakeyprovider 

i don't understand why works on eclipse not gradle. maybe pur java's generics missunderstanding, doubt because works fine in eclipse. error side or should looking gradle plugin bug ? i'm beginner in gradle.

maybe source code , build.gradle needed understand issue. i've created repo here : https://github.com/redrelay/fch_debug

edit : seems issue related eclipse. i've learn eclipse has own compiler, , seems allow instead of standard javac.

eclipse has own compiler allows instead of standard javac compiler. i've changed

protected abstract void buildindex(final map<k, dependencygraph<k, ? extends idata<k>>.node> index, final dependencygraph<k, ? extends idata<k>>.node thenode) throws duplicatekeyexception; protected abstract <d extends idata<k>> void buildindex(final map<k, dependencygraph<k, d>.node> index, final dependencygraph<k, d>.node thenode) throws duplicatekeyexception; , works now.


Comments