New J2K: Add ForIn statement conversion

This commit is contained in:
Ilya Kirillov
2018-11-14 18:26:11 +03:00
committed by Ilya Kirillov
parent a0ab7492a8
commit a1600bd83a
2 changed files with 28 additions and 0 deletions
@@ -54,6 +54,7 @@ object ConversionsRunner {
+SwitchStatementConversion(context)
+InstanceOfConversion()
+ForConversion(context)
+ForInConversion()
+LabeledStatementConversion()
+SortClassMembersConversion()
}
@@ -0,0 +1,27 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.j2k.conversions
import com.intellij.psi.*
import org.jetbrains.kotlin.j2k.*
import org.jetbrains.kotlin.j2k.tree.*
import org.jetbrains.kotlin.j2k.tree.impl.*
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.ClassId
class ForInConversion : RecursiveApplicableConversionBase() {
override fun applyToElement(element: JKTreeElement): JKTreeElement {
if (element !is JKForInStatement) return recurse(element)
val parameterDeclaration = element.declaration as? JKParameter
if (parameterDeclaration != null) {
parameterDeclaration.type = JKTypeElementImpl(JKNoTypeImpl)
}
return recurse(element)
}
}