forge-parser-java: JavaClassImpl with generic super type produces
wrong code
-----------------------------------------------------------------------------
Key: FORGE-678
URL:
https://issues.jboss.org/browse/FORGE-678
Project: Forge
Issue Type: Bug
Components: Parsers / File Manipulation
Affects Versions: 1.1.1.Final
Reporter: fiorenzo pizza
Assignee: fiorenzo pizza
Labels: annoying
Fix For: 1.1.2.FInal
forge doesn't support correctly generics.
some use case, improperly parsed:
JavaClass c1 = JavaParser.parse(JavaClass.class, "package it.coopservice.test;
public class Bar<T> {}");
JavaClass javaClass = JavaParser.create(JavaClass.class);
javaClass.setName("TBarTest");
javaClass.setSuperType(c1);
javaClass.setPackage("it.coopservice.test");
javaClass.addImport("it.coopservice.test.Bar");
produces:
public class TBarTest extends Bar{}
and this:
JavaClass c0 = JavaParser.parse(JavaClass.class, "package it.coopservice.test;
public class Foo {}");
JavaClass c1 = JavaParser.parse(JavaClass.class, "package it.coopservice.test;
public class Bar<Foo> {}");
JavaClass javaClass = JavaParser.create(JavaClass.class);
javaClass.setName("FooBarDirectTest");
javaClass.setPackage("it.coopservice.test");
javaClass.addImport("it.coopservice.test.Bar");
javaClass.addImport("it.coopservice.test.Foo");
javaClass.setSuperType("Bar<Foo>");
produces:
java.lang.IllegalArgumentException
my complete test code and output:
https://gist.github.com/3746475
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: