Skip to content

Commit dfcc34a

Browse files
committed
Review fixes: fixed formatting, removed redundant types
1 parent 9c745d0 commit dfcc34a

File tree

5 files changed

+73
-65
lines changed

5 files changed

+73
-65
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgAbstractRenderer.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,10 @@ internal abstract class CgAbstractRenderer(val context: CgContext, val printer:
317317

318318
override fun visit(element: CgCustomTagStatement) {
319319
if (element.content.all { it.isEmpty() }) return
320-
for (stmt in element.content) stmt.accept(this)
320+
321+
for (stmt in element.content) {
322+
stmt.accept(this)
323+
}
321324
}
322325

323326
override fun visit(element: CgDocCodeStmt) {

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/javadoc/UtCustomJavaDocTagProvider.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import org.utbot.summary.comment.CustomJavaDocTagProvider
1414
*/
1515
class UtCustomJavaDocTagProvider : CustomJavadocTagProvider {
1616
override fun getSupportedTags(): List<UtCustomTagInfo> =
17-
CustomJavaDocTagProvider().getPluginCustomTags().map { t -> UtCustomTagInfo(t) }
17+
CustomJavaDocTagProvider().getPluginCustomTags().map { UtCustomTagInfo(it) }
1818

1919
class UtCustomTagInfo(private val tag: CustomJavaDocTag) : JavadocTagInfo {
2020
override fun getName(): String = tag.name
@@ -27,8 +27,6 @@ class UtCustomJavaDocTagProvider : CustomJavadocTagProvider {
2727

2828
override fun getReference(value: PsiDocTagValue?): PsiReference? = null
2929

30-
override fun isValidInContext(element: PsiElement?): Boolean {
31-
return element is PsiMethod
32-
}
30+
override fun isValidInContext(element: PsiElement?): Boolean = element is PsiMethod
3331
}
3432
}

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/javadoc/UtDocumentationProvider.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.intellij.codeInsight.javadoc.JavaDocInfoGenerator
55
import com.intellij.lang.java.JavaDocumentationProvider
66
import com.intellij.psi.PsiDocCommentBase
77
import com.intellij.psi.PsiJavaDocumentedElement
8-
import com.intellij.psi.javadoc.PsiDocComment
98

109
/**
1110
* To render UtBot custom JavaDoc tags correctly, we need to override the way it generates HTML tags for comments.
@@ -14,22 +13,23 @@ import com.intellij.psi.javadoc.PsiDocComment
1413
* It renders text, code, and links.
1514
*/
1615
class UtDocumentationProvider : JavaDocumentationProvider() {
17-
override fun generateRenderedDoc(comment: PsiDocCommentBase): String {
18-
var target = comment.owner
19-
if (target == null) target = comment
20-
val docComment: PsiDocComment?
21-
var finalJavaDoc = ""
22-
if (target is PsiJavaDocumentedElement) {
23-
docComment = target.docComment
24-
if (docComment != null) {
25-
val baseJavaDocInfoGenerator = JavaDocInfoGenerator(target.project, target)
26-
val baseJavaDocInfo = baseJavaDocInfoGenerator.generateRenderedDocInfo()
27-
val utJavaDocInfoGenerator = UtJavaDocInfoGenerator()
28-
val javaDocInfoWithUtSections =
29-
utJavaDocInfoGenerator.addUtBotSpecificSectionsToJavaDoc(baseJavaDocInfo, docComment)
30-
finalJavaDoc = JavaDocExternalFilter.filterInternalDocInfo(javaDocInfoWithUtSections)!!
31-
}
16+
override fun generateRenderedDoc(comment: PsiDocCommentBase): String? {
17+
val target = comment.owner ?: comment
18+
19+
if (target !is PsiJavaDocumentedElement) {
20+
return ""
3221
}
33-
return finalJavaDoc
22+
23+
val docComment = target.docComment ?: return ""
24+
25+
val baseJavaDocInfoGenerator = JavaDocInfoGenerator(target.project, target)
26+
// get JavaDoc comment rendered by the platform.
27+
val baseJavaDocInfo = baseJavaDocInfoGenerator.generateRenderedDocInfo()
28+
val utJavaDocInfoGenerator = UtJavaDocInfoGenerator()
29+
// add UTBot sections with custom tags.
30+
val javaDocInfoWithUtSections =
31+
utJavaDocInfoGenerator.addUtBotSpecificSectionsToJavaDoc(baseJavaDocInfo, docComment)
32+
33+
return JavaDocExternalFilter.filterInternalDocInfo(javaDocInfoWithUtSections)
3434
}
3535
}

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/javadoc/UtJavaDocInfoGenerator.kt

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ private val logger = KotlinLogging.logger {}
3131
*/
3232
class UtJavaDocInfoGenerator {
3333
fun addUtBotSpecificSectionsToJavaDoc(javadoc: String?, comment: PsiDocComment): String {
34-
val builder: StringBuilder = StringBuilder(javadoc)
34+
val builder = if (javadoc == null) {
35+
StringBuilder()
36+
} else {
37+
StringBuilder(javadoc)
38+
}
39+
3540
val docTagProvider = UtCustomJavaDocTagProvider()
3641
docTagProvider.supportedTags.forEach {
3742
generateUtTagSection(builder, comment, it)
@@ -44,49 +49,54 @@ class UtJavaDocInfoGenerator {
4449
*/
4550
private fun generateUtTagSection(
4651
builder: StringBuilder,
47-
comment: PsiDocComment?,
52+
comment: PsiDocComment,
4853
utTag: UtCustomJavaDocTagProvider.UtCustomTagInfo
4954
) {
50-
if (comment != null) {
51-
val tag = comment.findTagByName(utTag.name) ?: return
52-
startHeaderSection(builder, utTag.getMessage()).append("<p>")
53-
val sectionContent = buildString {
54-
generateValue(this, tag.dataElements)
55-
this.trim { it <= ' ' }
56-
}
57-
builder.append(sectionContent)
58-
builder.append(DocumentationMarkup.SECTION_END)
55+
val tag = comment.findTagByName(utTag.name) ?: return
56+
startHeaderSection(builder, utTag.getMessage()).append("<p>")
57+
val sectionContent = buildString {
58+
generateValue(this, tag.dataElements)
59+
trim()
5960
}
61+
62+
builder.append(sectionContent)
63+
builder.append(DocumentationMarkup.SECTION_END)
6064
}
6165

62-
private fun startHeaderSection(builder: StringBuilder, message: String): StringBuilder {
63-
return builder.append(DocumentationMarkup.SECTION_HEADER_START)
66+
private fun startHeaderSection(builder: StringBuilder, message: String): StringBuilder =
67+
builder.append(DocumentationMarkup.SECTION_HEADER_START)
6468
.append(message)
6569
.append(MESSAGE_SEPARATOR)
6670
.append(DocumentationMarkup.SECTION_SEPARATOR)
67-
}
6871

6972
/**
7073
* Generates info depending on tag's value type.
7174
*/
7275
private fun generateValue(builder: StringBuilder, elements: Array<PsiElement>) {
73-
var offset = if (elements.isNotEmpty()) {
74-
elements[0].textOffset + elements[0].text.length
75-
} else 0
76-
77-
for (i in elements.indices) {
78-
if (elements[i].textOffset > offset) builder.append(' ')
79-
offset = elements[i].textOffset + elements[i].text.length
80-
val element = elements[i]
81-
if (element is PsiInlineDocTag) {
82-
when (element.name) {
83-
LITERAL_TAG -> generateLiteralValue(builder, element)
84-
CODE_TAG, SYSTEM_PROPERTY_TAG -> generateCodeValue(element, builder)
85-
LINK_TAG -> generateLinkValue(element, builder, false)
86-
LINKPLAIN_TAG -> generateLinkValue(element, builder, true)
76+
if (elements.isEmpty()) {
77+
return
78+
}
79+
80+
var offset = elements[0].textOffset + elements[0].text.length
81+
82+
for (element in elements) {
83+
with(element) {
84+
if (textOffset > offset) {
85+
builder.append(' ')
86+
}
87+
88+
offset = textOffset + text.length
89+
90+
if (element is PsiInlineDocTag) {
91+
when (element.name) {
92+
LITERAL_TAG -> generateLiteralValue(builder, element)
93+
CODE_TAG, SYSTEM_PROPERTY_TAG -> generateCodeValue(element, builder)
94+
LINK_TAG -> generateLinkValue(element, builder, false)
95+
LINKPLAIN_TAG -> generateLinkValue(element, builder, true)
96+
}
97+
} else {
98+
appendPlainText(builder, text)
8799
}
88-
} else {
89-
appendPlainText(builder, element.text)
90100
}
91101
}
92102
}
@@ -140,11 +150,11 @@ class UtJavaDocInfoGenerator {
140150

141151
private fun generateLinkValue(tag: PsiInlineDocTag, builder: StringBuilder, plainLink: Boolean) {
142152
val tagElements = tag.dataElements
143-
val linkText: String = createLinkText(tagElements)
153+
val linkText = createLinkText(tagElements)
144154
if (linkText.isNotEmpty()) {
145155
val index = JavaDocUtil.extractReference(linkText)
146-
val referenceText = linkText.substring(0, index).trim { it <= ' ' }
147-
val label = StringUtil.nullize(linkText.substring(index).trim { it <= ' ' })
156+
val referenceText = linkText.substring(0, index).trim()
157+
val label = StringUtil.nullize(linkText.substring(index).trim())
148158
generateLink(builder, referenceText, label, tagElements[0], plainLink)
149159
}
150160
}
@@ -166,7 +176,7 @@ class UtJavaDocInfoGenerator {
166176
this.append(' ')
167177
}
168178
}
169-
}.trim { it <= ' ' }
179+
}.trim()
170180
}
171181

172182
private fun generateLink(
@@ -176,10 +186,8 @@ class UtJavaDocInfoGenerator {
176186
context: PsiElement,
177187
plainLink: Boolean
178188
) {
179-
var linkLabel = label
180-
if (label == null) {
181-
val manager = context.manager
182-
linkLabel = JavaDocUtil.getLabelText(manager.project, manager, refText, context)
189+
val linkLabel = label ?: context.manager.let {
190+
JavaDocUtil.getLabelText(it.project, it, refText, context)
183191
}
184192

185193
var target: PsiElement? = null
@@ -196,9 +204,8 @@ class UtJavaDocInfoGenerator {
196204
} else if (target == null) {
197205
builder.append("<font color=red>").append(linkLabel).append("</font>")
198206
} else {
199-
val referenceText = JavaDocUtil.getReferenceText(target.project, target)
200-
if (referenceText != null) {
201-
DocumentationManagerUtil.createHyperlink(builder, target, referenceText, linkLabel, plainLink)
207+
JavaDocUtil.getReferenceText(target.project, target)?.let {
208+
DocumentationManagerUtil.createHyperlink(builder, target, it, linkLabel, plainLink)
202209
}
203210
}
204211
}

utbot-summary/src/main/kotlin/org/utbot/summary/comment/CustomJavaDocCommentBuilder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ class CustomJavaDocCommentBuilder(
1616
* Collects statements for final JavaDoc comment.
1717
*/
1818
fun buildDocStatements(method: SootMethod): List<DocStatement> {
19-
val comment: CustomJavaDocComment = buildCustomJavaDocComment(method)
19+
val comment = buildCustomJavaDocComment(method)
2020
val docStatementList =
2121
CustomJavaDocTagProvider().getPluginCustomTags().mapNotNull { it.generateDocStatement(comment) }
22-
return listOf<DocStatement>(DocCustomTagStatement(docStatementList))
22+
return listOf(DocCustomTagStatement(docStatementList))
2323
}
2424

2525
private fun buildCustomJavaDocComment(currentMethod: SootMethod): CustomJavaDocComment {

0 commit comments

Comments
 (0)