[
https://issues.jboss.org/browse/ROASTER-110?page=com.atlassian.jira.plugi...
]
Bruce Fancher edited comment on ROASTER-110 at 9/3/16 8:40 PM:
---------------------------------------------------------------
I looked at the test case associated w/ the previous issue and I see that the type names
are all fully-qualified, whereas they aren't in the line of code I copied over. So it
seems that isGeneric works after all.
However, it looks like there are still unresolved issues:
{{
final JavaClassSource javaClass =
Roaster.create(JavaClassSource.class).setPackage("com.scratch").setName("Example");
final MethodSource<JavaClassSource> method =
javaClass.addMethod().setName("createMap").setReturnType("java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>");
java.lang.StringIndexOutOfBoundsException: String index out of range: -15
at java.lang.String.substring(String.java:1955)
at org.jboss.forge.roaster.model.util.Types.isGeneric(Types.java:304)
at org.jboss.forge.roaster.model.util.Types.toSimpleName(Types.java:194)
at org.jboss.forge.roaster.model.util.Types.toSimpleName(Types.java:221)
at org.jboss.forge.roaster.model.impl.MethodImpl.setReturnType(MethodImpl.java:328)
}}
was (Author: bfancher):
I looked at the test case associated w/ the previous issue and I see that the type names
are all fully-qualified, whereas they aren't in the line of code I copied over. So it
seems that isGeneric works after all.
However, it looks like there are still unresolved issues:
{{ final JavaClassSource javaClass =
Roaster.create(JavaClassSource.class).setPackage("com.scratch").setName("Example");
final MethodSource<JavaClassSource> method =
javaClass.addMethod().setName("createMap").setReturnType("java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>");
java.lang.StringIndexOutOfBoundsException: String index out of range: -15
at java.lang.String.substring(String.java:1955)
at org.jboss.forge.roaster.model.util.Types.isGeneric(Types.java:304)
at org.jboss.forge.roaster.model.util.Types.toSimpleName(Types.java:194)
at org.jboss.forge.roaster.model.util.Types.toSimpleName(Types.java:221)
at org.jboss.forge.roaster.model.impl.MethodImpl.setReturnType(MethodImpl.java:328)
}}
StringIndexOutOfBoundsException when handling nested typed
parameters
---------------------------------------------------------------------
Key: ROASTER-110
URL:
https://issues.jboss.org/browse/ROASTER-110
Project: Roaster
Issue Type: Bug
Components: JDT
Affects Versions: 2.17.1.Final
Reporter: Bruce Fancher
Assignee: Stephan Windmüller
Fix For: 2.17.3.Final
When parsing a Type object with nested types, like
{{java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>}},
a StringIndexOutOfBoundsException is thrown:
{{java.lang.StringIndexOutOfBoundsException: String index out of range: -5
at java.lang.String.substring(String.java:1967)
at org.jboss.forge.roaster.model.util.Types.isGeneric(Types.java:297)
at org.jboss.forge.roaster.model.util.Types.validateNameWithGenerics(Types.java:311)
at org.jboss.forge.roaster.model.util.Types.isGeneric(Types.java:301)}}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)