Failed to infer the return type from the generics methods.

bitter_fox bitterfoxc at gmail.com
Wed Dec 10 16:29:32 UTC 2014


Hi, Robert.

I found some corner cases which make type inference failed and they make
some error:

-> java.util.Arrays.asList(0, 0.0)

(...)

+++++WRAP
package REPL;
public class $REPL2 {
    public static Object do_it() throws Throwable {
        $1=java.util.Arrays.asList(0, 0.0);;
               return $1;
    }
    public static java.util.List<java.lang.Number&java.lang.Comparable<?
extends java.lang.Number&java.lang.Comparable<?>>> $1;
}

-----
|  Error --
|  > expected
|  java.util.Arrays.asList(0, 0.0);
|  Error --
|  > expected
|  java.util.Arrays.asList(0, 0.0);
|  Error --
|  <identifier> expected
|  java.util.Arrays.asList(0, 0.0);
|  Error --
|  <identifier> expected
|  java.util.Arrays.asList(0, 0.0);

Another corner case:
-> "".getClass()

(...)
+++++WRAP
package REPL;
import static REPL.$REPL5.*;
public class $REPL8 {
    public static Object do_it() throws Throwable {
        $3="".getClass();;
               return $3;
    }
    public static java.lang.Class<capture#877 of ? extends
java.lang.String> $3;
}

-----
|  Error --
|  illegal character: '#'
|  "".getClass();
|  Error --
|  <identifier> expected
|  "".getClass();
|  Error --
|  <identifier> expected
|  "".getClass();
|  Error --
|  <identifier> expected
|  "".getClass();

Regards,
shinyafox
ShinyaYoshida(@bitter_fox)


More information about the kulla-dev mailing list