Minor code corrections after code review
This commit is contained in:
@@ -111,8 +111,7 @@ private fun buildTemplate(lambdaType: JetType, explicitParameterTypes: Boolean,
|
||||
template.addTextSegment("(")
|
||||
}
|
||||
|
||||
for (i in parameterTypes.indices) {
|
||||
val parameterType = parameterTypes[i]
|
||||
for ((i, parameterType) in parameterTypes.withIndices()) {
|
||||
if (i > 0) {
|
||||
template.addTextSegment(", ")
|
||||
}
|
||||
|
||||
@@ -105,8 +105,7 @@ class CodeBuilder(private val topElement: PsiElement?) {
|
||||
commentsAndSpacesUsed.addAll(prefixElements)
|
||||
commentsAndSpacesUsed.addAll(postfixElements)
|
||||
|
||||
for (i in prefixElements.indices) {
|
||||
val e = prefixElements[i]
|
||||
for ((i, e) in prefixElements.withIndices()) {
|
||||
if (i == 0 && e is PsiWhiteSpace) {
|
||||
val blankLines = e.newLinesCount() - 1
|
||||
for (_ in 1..blankLines) {
|
||||
|
||||
@@ -363,8 +363,7 @@ class ConstructorConverter(private val psiClass: PsiClass, private val converter
|
||||
|
||||
// searching for other constructor call in form "this(...)"
|
||||
// it's not necessary the first statement because of statements inserted for writable parameters
|
||||
for (i in statements.indices) {
|
||||
val statement = statements[i]
|
||||
for ((i, statement) in statements.withIndices()) {
|
||||
if (statement is MethodCallExpression) {
|
||||
if ((statement.methodExpression as? Identifier)?.name == "this") {
|
||||
val constructorCall = MethodCallExpression.buildNotNull(null, className, statement.arguments).assignPrototypesFrom(statement)
|
||||
|
||||
@@ -424,7 +424,7 @@ public class Converter private(val project: Project, val settings: ConverterSett
|
||||
convertedExpression = BangBangExpression(convertedExpression).assignNoPrototype()
|
||||
}
|
||||
|
||||
if (canConvertType(actualType, expectedType) && convertedExpression !is LiteralExpression) {
|
||||
if (needConversion(actualType, expectedType) && convertedExpression !is LiteralExpression) {
|
||||
val conversion = PRIMITIVE_TYPE_CONVERSIONS[expectedType.getCanonicalText()]
|
||||
if (conversion != null) {
|
||||
convertedExpression = MethodCallExpression.buildNotNull(convertedExpression, conversion)
|
||||
@@ -445,7 +445,7 @@ public class Converter private(val project: Project, val settings: ConverterSett
|
||||
resultType = resultType.toNotNullType()
|
||||
}
|
||||
|
||||
if (canConvertType(actualType, expectedType) && convertedExpression !is LiteralExpression) {
|
||||
if (needConversion(actualType, expectedType) && convertedExpression !is LiteralExpression) {
|
||||
val conversion = PRIMITIVE_TYPE_CONVERSIONS[expectedType.getCanonicalText()]
|
||||
if (conversion != null) {
|
||||
resultType = typeConverter.convertType(expectedType, Nullability.NotNull)
|
||||
@@ -455,13 +455,12 @@ public class Converter private(val project: Project, val settings: ConverterSett
|
||||
return resultType
|
||||
}
|
||||
|
||||
private fun canConvertType(actual: PsiType, expected: PsiType): Boolean {
|
||||
private fun needConversion(actual: PsiType, expected: PsiType): Boolean {
|
||||
val expectedStr = expected.getCanonicalText()
|
||||
val actualStr = actual.getCanonicalText()
|
||||
if (expectedStr == actualStr) return false
|
||||
val o1 = expectedStr == typeConversionMap[actualStr]
|
||||
val o2 = actualStr == typeConversionMap[expectedStr]
|
||||
return o1 == o2
|
||||
return expectedStr != actualStr &&
|
||||
expectedStr != typeConversionMap[actualStr] &&
|
||||
actualStr != typeConversionMap[expectedStr]
|
||||
}
|
||||
|
||||
private val typeConversionMap: Map<String, String> = mapOf(
|
||||
|
||||
@@ -89,7 +89,8 @@ open class ExpressionVisitor(private val converter: Converter) : JavaElementVisi
|
||||
JavaTokenType.ANDAND, JavaTokenType.OROR -> PsiType.BOOLEAN
|
||||
|
||||
JavaTokenType.PLUS, JavaTokenType.MINUS, JavaTokenType.ASTERISK,
|
||||
JavaTokenType.DIV, JavaTokenType.PERC, JavaTokenType.LTLT, JavaTokenType.GTGT -> expression.getType()
|
||||
JavaTokenType.DIV, JavaTokenType.PERC, JavaTokenType.LTLT, JavaTokenType.GTGT,
|
||||
JavaTokenType.GTGTGT -> expression.getType()
|
||||
|
||||
else -> null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user