You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Alina Vasiljeva (JIRA)" <ji...@apache.org> on 2018/07/27 07:24:00 UTC
[jira] [Commented] (JXR-135) Invalid representation of inner class
[ https://issues.apache.org/jira/browse/JXR-135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16559367#comment-16559367 ]
Alina Vasiljeva commented on JXR-135:
-------------------------------------
The template for displaying the list of classes:
/maven-jxr/maven-jxr/src/main/resources/templates/allclasses-frame.vm
and it is displaying $classInfo.name.
Through /maven-jxr/maven-jxr/src/main/java/org/apache/maven/jxr/DirectoryIndexer.java it brings us to
/maven-jxr/maven-jxr/src/main/java/org/apache/maven/jxr/pacman/JavaFileImpl.java
where the source of the issue is located.
JavaFileImpl#parse method is going through the file and is simply collecting class names this way:
{code}
if ( ( "class".equals( stok.sval ) || "interface".equals( stok.sval ) || "enum".equals( stok.sval ) )
&& stok.ttype != '\"' )
{
stok.nextToken();
this.addClassType( new ClassType( stok.sval,
getFilenameWithoutPathOrExtension( this.getPath() ) ) );
}
{code}
The problem is that it does not take into account that classes can be nested.
The potential approach for solving the issue would be to introduce a context while traversing th efile, stacking the info about nested classes.
> Invalid representation of inner class
> -------------------------------------
>
> Key: JXR-135
> URL: https://issues.apache.org/jira/browse/JXR-135
> Project: Maven JXR
> Issue Type: Bug
> Reporter: Robert Scholte
> Priority: Major
>
> In the list of classes, the simpleName is used. In case of an inner class, the enclosing class should be added to. For comparison, javadoc uses {{Map.Entry}} instead of {{Entry}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)