Skip to content

Commit d7e5c5a

Browse files
committed
Issue 102: Add file level javadoc comment.
Signed-off-by: Rahul Krishna <i.m.ralk@gmail.com>
1 parent b59e68f commit d7e5c5a

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/main/java/com/ibm/cldk/SymbolTable.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,21 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
136136

137137
cUnit.setFilePath(parseResult.getStorage().map(s -> s.getPath().toString()).orElse("<in-memory>"));
138138

139-
com.ibm.cldk.entities.Comment comment = new com.ibm.cldk.entities.Comment();
139+
// Set file level comment
140+
parseResult.getAllComments().stream().findFirst().ifPresent(c -> {
141+
com.ibm.cldk.entities.Comment fileComment = new com.ibm.cldk.entities.Comment();
142+
fileComment.setContent(c.getContent());
143+
fileComment.setStartLine(c.getRange().isPresent() ? c.getRange().get().begin.line : -1);
144+
fileComment.setEndLine(c.getRange().isPresent() ? c.getRange().get().end.line : -1);
145+
fileComment.setStartColumn(c.getRange().isPresent() ? c.getRange().get().begin.column : -1);
146+
fileComment.setEndColumn(c.getRange().isPresent() ? c.getRange().get().end.column : -1);
147+
fileComment.setJavadoc(c.isJavadocComment());
148+
cUnit.getComments().add(fileComment);
149+
});
140150

141151
// Add class comment
142152
cUnit.setComments(
143-
parseResult.getAllContainedComments().stream().map(c -> {
153+
parseResult.getAllComments().stream().map(c -> {
144154
com.ibm.cldk.entities.Comment fileComment = new com.ibm.cldk.entities.Comment();
145155
fileComment.setContent(c.getContent());
146156
fileComment.setStartLine(c.getRange().isPresent() ? c.getRange().get().begin.line : -1);
@@ -154,7 +164,6 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
154164

155165
// Set package name
156166
cUnit.setPackageName(parseResult.getPackageDeclaration().map(NodeWithName::getNameAsString).orElse(""));
157-
158167
// Add javadoc comment
159168
// Add imports
160169
cUnit.setImports(

src/main/java/com/ibm/cldk/entities/JavaCompilationUnit.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package com.ibm.cldk.entities;
22

33
import lombok.Data;
4+
5+
import java.util.ArrayList;
46
import java.util.List;
57
import java.util.Map;
68

79
@Data
810
public class JavaCompilationUnit {
911
private String filePath;
1012
private String packageName;
11-
private List<Comment> comments;
13+
private List<Comment> comments = new ArrayList<>();
1214
private List<String> imports;
1315
private Map<String, Type> typeDeclarations;
1416
private boolean isModified;

0 commit comments

Comments
 (0)