Hi,

I found a bug in the generics support of kjc. The attached program produces an error:
---
artemis:~/java/genericstest>kjavac -generic FakeList.java
FakeList.java:39: error:Too less type arguments for type "FakeList"; required: 1 [JSR 41]
artemis:~/java/genericstest>kjavac -version
Version 2.1A released 11. February 2002
---
With the compiler if the Sun JDK 1.5.0, there is no error message.


Matthias

--
Matthias Pfisterer      <mailto:[EMAIL PROTECTED]>
Reuchlinstrasse 28      phone ++49-711-62 87 12
D-70176 Stuttgart       (in Deutschland 0711-62 87 12)
GERMANY

Work like you don't need the money.
Love like you've never been hurt.
Dance like nobody is watching.

Java Sound Resources (examples, FAQ, applications):
http://www.jsresources.org/

Tritonus, the open source implementation of the Java Sound API:
http://www.tritonus.org/
--------------------------------------------------------------
/** A List class skeleton with generics.
	Used to test if compilers handle generics.
*/
public class FakeList<E>
{
	private E[] m_data;


	public FakeList(int nSize)
	{
		m_data = (E[]) new Object[nSize];
	}


	public int size()
	{
		return m_data.length;
	}


	public void set(int nIndex, E element)
	{
		m_data[nIndex] = element;
	}


	public E get(int nIndex)
	{
		return m_data[nIndex];
	}



	/** Some tests for this class.
	 */
	public static void main(String[] args)
	{
		// kjc gives an error on this:
		FakeList list = new FakeList<String>(22);
		// With this line instead, there is no error
		// FakeList<String> list = new FakeList<String>(22);
		out("length: " + list.size());
		list.set(21, "abc");
		out("element #21: " + list.get(21));
	}


	private static void out(String s)
	{
		System.out.println(s);
	}
}

Reply via email to