From 0b27d9181a3be4bbe3a91f799035242a28561102 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 31 Mar 2015 16:09:29 +0300 Subject: [PATCH] Minor code corrections after review --- .../org/jetbrains/kotlin/j2k/CodeConverter.kt | 2 +- j2k/src/org/jetbrains/kotlin/j2k/Converter.kt | 16 +++++++++------- .../jetbrains/kotlin/j2k/ExpressionConverter.kt | 2 +- .../org/jetbrains/kotlin/j2k/ast/Expressions.kt | 2 +- j2k/src/org/jetbrains/kotlin/j2k/ast/Util.kt | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt index b7edb643536..d945e9db841 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt @@ -101,7 +101,7 @@ class CodeConverter( text += "f" } else { - if (text.indexOf('.') < 0) { + if (!text.contains(".")) { text += ".0" } } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt b/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt index 5d8c5f97b6f..332d5da3fe9 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt @@ -176,22 +176,24 @@ class Converter private( modifiers = modifiers.with(Modifier.INNER) } - val openModifier = if (psiClass.hasModifierProperty(PsiModifier.FINAL) || psiClass.hasModifierProperty(PsiModifier.ABSTRACT)) - false - else - settings.openByDefault || referenceSearcher.hasInheritors(psiClass) - - if (openModifier) { + if (needOpenModifier(psiClass)) { modifiers = modifiers.with(Modifier.OPEN) } - val classBody = ClassBodyConverter(psiClass, this, modifiers.contains(Modifier.OPEN) || modifiers.contains(Modifier.ABSTRACT), isObject = false).convertBody() + val classBody = ClassBodyConverter(psiClass, this, isOpenClass = modifiers.contains(Modifier.OPEN) || modifiers.contains(Modifier.ABSTRACT), isObject = false).convertBody() Class(name, annotations, modifiers, typeParameters, extendsTypes, classBody.baseClassParams, implementsTypes, classBody) } } }.assignPrototype(psiClass) } + private fun needOpenModifier(psiClass: PsiClass): Boolean { + return if (psiClass.hasModifierProperty(PsiModifier.FINAL) || psiClass.hasModifierProperty(PsiModifier.ABSTRACT)) + false + else + settings.openByDefault || referenceSearcher.hasInheritors(psiClass) + } + private fun shouldConvertIntoObject(psiClass: PsiClass): Boolean { val methods = psiClass.getMethods() val fields = psiClass.getFields() diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt index 985c28896fd..13bca4a35de 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt @@ -336,7 +336,7 @@ class DefaultExpressionConverter : JavaElementVisitor(), ExpressionConverter { } override fun visitPostfixExpression(expression: PsiPostfixExpression) { - result = PostfixOperator(getOperatorString(expression.getOperationSign().getTokenType()), + result = PostfixExpression(getOperatorString(expression.getOperationSign().getTokenType()), codeConverter.convertExpression(expression.getOperand())) } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Expressions.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Expressions.kt index 746c9121864..eff97616513 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Expressions.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Expressions.kt @@ -87,7 +87,7 @@ class PrefixExpression(val op: String, val expression: Expression) : Expression( get() = expression.isNullable } -class PostfixOperator(val op: String, val expression: Expression) : Expression() { +class PostfixExpression(val op: String, val expression: Expression) : Expression() { override fun generateCode(builder: CodeBuilder) { builder.appendOperand(this, expression) append op } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Util.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Util.kt index c72ed4fa197..8e794874eb4 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Util.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Util.kt @@ -37,7 +37,7 @@ fun CodeBuilder.appendOperand(expression: Expression, operand: Expression, paren private fun Expression.precedence(): Int? { return when(this) { - is QualifiedExpression, is MethodCallExpression, is ArrayAccessExpression, is PostfixOperator, is BangBangExpression, is StarExpression -> 0 + is QualifiedExpression, is MethodCallExpression, is ArrayAccessExpression, is PostfixExpression, is BangBangExpression, is StarExpression -> 0 is PrefixExpression -> 1