diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForConversion.kt index acd53734884..9e02c5f3581 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForConversion.kt @@ -35,7 +35,6 @@ class ForConversion(private val context: ConversionContext) : RecursiveApplicabl val whileStatement = JKWhileStatementImpl(condition, whileBody) if (loopStatement.initializer is JKEmptyStatement) return whileStatement - //TODO check for error conflict val convertedFromForLoopSyntheticWhileStatement = JKKtConvertedFromForLoopSyntheticWhileStatementImpl( @@ -131,13 +130,13 @@ class ForConversion(private val context: ConversionContext) : RecursiveApplicabl else -> return null } val range = forIterationRange(start, right, reversed, inclusive, loopVarPsi) - //TODO for loop explicitType -// val explicitType = if (context.converter.settings.specifyLocalVariableTypeByDefault) -// JKJavaPrimitiveTypeImpl.INT -// else null + val explicitType = + if (context.converter.settings.specifyLocalVariableTypeByDefault) + JKJavaPrimitiveTypeImpl.INT + else JKNoTypeImpl val loopVarDeclaration = JKForLoopVariableImpl( - JKTypeElementImpl(JKNoTypeImpl), + JKTypeElementImpl(explicitType), loopVar::name.detached(), JKStubExpressionImpl() ) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForInConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForInConversion.kt index 3afc72e313b..d0f7bbd74ab 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForInConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ForInConversion.kt @@ -13,12 +13,14 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId -class ForInConversion : RecursiveApplicableConversionBase() { +class ForInConversion(private val context: ConversionContext) : RecursiveApplicableConversionBase() { override fun applyToElement(element: JKTreeElement): JKTreeElement { if (element !is JKForInStatement) return recurse(element) - val parameterDeclaration = element.declaration as? JKParameter - if (parameterDeclaration != null) { + val parameterDeclaration = element.declaration as? JKVariable + if (parameterDeclaration != null + && !context.converter.settings.specifyLocalVariableTypeByDefault + ) { parameterDeclaration.type = JKTypeElementImpl(JKNoTypeImpl) }