Minor code corrections after review

This commit is contained in:
Valentin Kipyatkov
2015-03-31 16:09:29 +03:00
parent d5326031c4
commit 0b27d9181a
5 changed files with 13 additions and 11 deletions
@@ -101,7 +101,7 @@ class CodeConverter(
text += "f" text += "f"
} }
else { else {
if (text.indexOf('.') < 0) { if (!text.contains(".")) {
text += ".0" text += ".0"
} }
} }
@@ -176,22 +176,24 @@ class Converter private(
modifiers = modifiers.with(Modifier.INNER) modifiers = modifiers.with(Modifier.INNER)
} }
val openModifier = if (psiClass.hasModifierProperty(PsiModifier.FINAL) || psiClass.hasModifierProperty(PsiModifier.ABSTRACT)) if (needOpenModifier(psiClass)) {
false
else
settings.openByDefault || referenceSearcher.hasInheritors(psiClass)
if (openModifier) {
modifiers = modifiers.with(Modifier.OPEN) 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) Class(name, annotations, modifiers, typeParameters, extendsTypes, classBody.baseClassParams, implementsTypes, classBody)
} }
} }
}.assignPrototype(psiClass) }.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 { private fun shouldConvertIntoObject(psiClass: PsiClass): Boolean {
val methods = psiClass.getMethods() val methods = psiClass.getMethods()
val fields = psiClass.getFields() val fields = psiClass.getFields()
@@ -336,7 +336,7 @@ class DefaultExpressionConverter : JavaElementVisitor(), ExpressionConverter {
} }
override fun visitPostfixExpression(expression: PsiPostfixExpression) { override fun visitPostfixExpression(expression: PsiPostfixExpression) {
result = PostfixOperator(getOperatorString(expression.getOperationSign().getTokenType()), result = PostfixExpression(getOperatorString(expression.getOperationSign().getTokenType()),
codeConverter.convertExpression(expression.getOperand())) codeConverter.convertExpression(expression.getOperand()))
} }
@@ -87,7 +87,7 @@ class PrefixExpression(val op: String, val expression: Expression) : Expression(
get() = expression.isNullable 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) { override fun generateCode(builder: CodeBuilder) {
builder.appendOperand(this, expression) append op builder.appendOperand(this, expression) append op
} }
+1 -1
View File
@@ -37,7 +37,7 @@ fun CodeBuilder.appendOperand(expression: Expression, operand: Expression, paren
private fun Expression.precedence(): Int? { private fun Expression.precedence(): Int? {
return when(this) { 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 is PrefixExpression -> 1