Minor code corrections after code review

This commit is contained in:
Valentin Kipyatkov
2014-07-04 21:19:58 +04:00
parent 330c41fc61
commit 88235c3eb2
5 changed files with 11 additions and 14 deletions
@@ -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(", ")
}
+1 -2
View File
@@ -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)
+6 -7
View File
@@ -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
}