﻿id	summary	reporter	owner	description	type	status	component	version	resolution	keywords	cc	guest	host
9848	Compilation issues with Java glue (JDK 1.7.0)	Aidar		"emerging 4.1.4 ose on gentoo here with following failure:
{{{
/var/tmp/portage/app-emulation/virtualbox-4.1.4/work/VirtualBox-4.1.4_OSE/
  out/linux.amd64/release/obj/vboxjxpcom-gen/jxpcomgen/java/glue/Helper.java:123:
    error: name clash: unwrap(List<Integer>) and unwrap(List<Short>) have the same erasure
    public static int[] unwrap(List<Integer> vals) {
                        ^
/var/tmp/portage/app-emulation/virtualbox-4.1.4/work/VirtualBox-4.1.4_OSE/
  out/linux.amd64/release/obj/vboxjxpcom-gen/jxpcomgen/java/glue/Helper.java:135:
    error: name clash: unwrap(List<Long>) and unwrap(List<Short>) have the same erasure
    public static long[] unwrap(List<Long> vals) {
                         ^
/var/tmp/portage/app-emulation/virtualbox-4.1.4/work/VirtualBox-4.1.4_OSE/
  out/linux.amd64/release/obj/vboxjxpcom-gen/jxpcomgen/java/glue/Helper.java:147:
    error: name clash: unwrap(List<Boolean>) and unwrap(List<Short>) have the same erasure
    public static boolean[] unwrap(List<Boolean> vals) {
                            ^
/var/tmp/portage/app-emulation/virtualbox-4.1.4/work/VirtualBox-4.1.4_OSE/
  out/linux.amd64/release/obj/vboxjxpcom-gen/jxpcomgen/java/glue/Helper.java:159:
    error: name clash: unwrap(List<String>) and unwrap(List<Short>) have the same erasure
    public static String[] unwrap(List<String> vals) {
}}}

indeed, '''src/VBox/Main/glue/glue-java.xsl on line 2656 has illegal java:'''


{{{
    public static short[] unwrap(List<Short> vals) {
        if (vals==null)
           return null;

        short[] ret = new short[vals.size()];
        int i = 0;
        for (short l : vals) {
                ret[i++] = l;
        }
        return ret;
    }

    public static int[] unwrap(List<Integer> vals) {
        if (vals == null)
           return null;

        int[] ret = new int[vals.size()];
        int i = 0;
        for (int l : vals) {
                ret[i++] = l;
        }
        return ret;
    }

    public static long[] unwrap(List<Long> vals) {
        if (vals == null)
           return null;

        long[] ret = new long[vals.size()];
        int i = 0;
        for (long l : vals) {
                ret[i++] = l;
        }
        return ret;
    }
.
.
.
}}}

Some more generic methods with the exact same erasure which is illegal java.
Any sane fix for this ? Am I missing something ?
"	defect	closed	other	VirtualBox 4.1.4	fixed	glue-java.xsl java		other	Linux
