From 197d1d7a85a974e454cf3687aeb4f19a55f43c9d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 31 May 2012 18:46:32 +0200 Subject: [PATCH] get rid of AstUtil --- src/org/jetbrains/jet/j2k/Converter.kt | 25 +++--- .../jet/j2k/ast/ArrayInitializerExpression.kt | 7 +- .../ArrayWithoutInitializationExpression.kt | 1 - .../jetbrains/jet/j2k/ast/BinaryExpression.kt | 1 - src/org/jetbrains/jet/j2k/ast/Block.kt | 1 - src/org/jetbrains/jet/j2k/ast/Class.kt | 2 - src/org/jetbrains/jet/j2k/ast/Enum.kt | 1 - .../jetbrains/jet/j2k/ast/ExpressionList.kt | 1 - src/org/jetbrains/jet/j2k/ast/Field.kt | 1 - src/org/jetbrains/jet/j2k/ast/File.kt | 1 - src/org/jetbrains/jet/j2k/ast/Function.kt | 1 - .../jet/j2k/ast/MethodCallExpression.kt | 1 - .../jet/j2k/ast/NewClassExpression.kt | 1 - .../jetbrains/jet/j2k/ast/ReferenceElement.kt | 1 - .../jetbrains/jet/j2k/ast/types/ClassType.kt | 1 - src/org/jetbrains/jet/j2k/util/AstUtil.java | 82 ------------------- .../jetbrains/jet/j2k/visitors/TypeVisitor.kt | 4 +- 17 files changed, 17 insertions(+), 115 deletions(-) delete mode 100644 src/org/jetbrains/jet/j2k/util/AstUtil.java diff --git a/src/org/jetbrains/jet/j2k/Converter.kt b/src/org/jetbrains/jet/j2k/Converter.kt index 008c10d8867..23b9e27cf88 100644 --- a/src/org/jetbrains/jet/j2k/Converter.kt +++ b/src/org/jetbrains/jet/j2k/Converter.kt @@ -11,7 +11,6 @@ import org.jetbrains.jet.j2k.ast.Enum import org.jetbrains.jet.j2k.ast.types.ClassType import org.jetbrains.jet.j2k.ast.types.EmptyType import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import org.jetbrains.jet.j2k.visitors.* import org.jetbrains.jet.lang.types.expressions.OperatorConventions import java.util.* @@ -663,18 +662,18 @@ public open class Converter() { return false } - var typeMap: Map = HashMap() - typeMap?.put(JAVA_LANG_BYTE, "byte") - typeMap?.put(JAVA_LANG_SHORT, "short") - typeMap?.put(JAVA_LANG_INTEGER, "int") - typeMap?.put(JAVA_LANG_LONG, "long") - typeMap?.put(JAVA_LANG_FLOAT, "float") - typeMap?.put(JAVA_LANG_DOUBLE, "double") - typeMap?.put(JAVA_LANG_CHARACTER, "char") - var expectedStr: String? = expected.getCanonicalText() - var actualStr: String? = actual.getCanonicalText() - var o1: Boolean = AstUtil.getOrElse(typeMap, actualStr, "")?.equals(expectedStr)!! - var o2: Boolean = AstUtil.getOrElse(typeMap, expectedStr, "")?.equals(actualStr)!! + val typeMap: Map = HashMap() + typeMap.put(JAVA_LANG_BYTE, "byte") + typeMap.put(JAVA_LANG_SHORT, "short") + typeMap.put(JAVA_LANG_INTEGER, "int") + typeMap.put(JAVA_LANG_LONG, "long") + typeMap.put(JAVA_LANG_FLOAT, "float") + typeMap.put(JAVA_LANG_DOUBLE, "double") + typeMap.put(JAVA_LANG_CHARACTER, "char") + val expectedStr: String? = expected.getCanonicalText() + val actualStr: String? = actual.getCanonicalText() + val o1: Boolean = expectedStr == typeMap[actualStr] + val o2: Boolean = actualStr == typeMap[expectedStr] return actualStr != expectedStr && (!(o1 xor o2)) } } diff --git a/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.kt b/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.kt index ed83a2e60e3..4832e7138b6 100644 --- a/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.kt +++ b/src/org/jetbrains/jet/j2k/ast/ArrayInitializerExpression.kt @@ -1,9 +1,9 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import org.jetbrains.jet.j2k.ast.types.Type import org.jetbrains.jet.lang.types.expressions.OperatorConventions import java.util.* +import com.intellij.openapi.util.text.StringUtil public open class ArrayInitializerExpression(val `type` : Type, val initializers : List) : Expression() { public override fun toKotlin() : String { @@ -16,12 +16,11 @@ public open class ArrayInitializerExpression(val `type` : Type, val initializers private fun createArrayFunction() : String { var sType : String? = innerTypeStr() - if (Node.PRIMITIVE_TYPES.contains(sType)) - { + if (Node.PRIMITIVE_TYPES.contains(sType)) { return sType + "Array" } - return AstUtil.lowerFirstCharacter(`type`.convertedToNotNull().toKotlin()) + return StringUtil.decapitalize(`type`.convertedToNotNull().toKotlin())!! } private fun innerTypeStr() : String { diff --git a/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.kt b/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.kt index 2fc0bc75d43..caee5ec75e9 100644 --- a/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.kt +++ b/src/org/jetbrains/jet/j2k/ast/ArrayWithoutInitializationExpression.kt @@ -1,6 +1,5 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import org.jetbrains.jet.j2k.ast.types.ArrayType import java.util.List import org.jetbrains.jet.j2k.ast.types.Type diff --git a/src/org/jetbrains/jet/j2k/ast/BinaryExpression.kt b/src/org/jetbrains/jet/j2k/ast/BinaryExpression.kt index ead17689913..f7bef5e47c1 100644 --- a/src/org/jetbrains/jet/j2k/ast/BinaryExpression.kt +++ b/src/org/jetbrains/jet/j2k/ast/BinaryExpression.kt @@ -1,6 +1,5 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import java.util.Arrays import java.util.List diff --git a/src/org/jetbrains/jet/j2k/ast/Block.kt b/src/org/jetbrains/jet/j2k/ast/Block.kt index a5b1f1ff936..1c4c1f598fc 100644 --- a/src/org/jetbrains/jet/j2k/ast/Block.kt +++ b/src/org/jetbrains/jet/j2k/ast/Block.kt @@ -1,6 +1,5 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import java.util.LinkedList import java.util.List diff --git a/src/org/jetbrains/jet/j2k/ast/Class.kt b/src/org/jetbrains/jet/j2k/ast/Class.kt index 53c8f5d7d8e..25d52c4c97f 100644 --- a/src/org/jetbrains/jet/j2k/ast/Class.kt +++ b/src/org/jetbrains/jet/j2k/ast/Class.kt @@ -5,12 +5,10 @@ import org.jetbrains.jet.j2k.Converter import org.jetbrains.jet.j2k.J2KConverterFlags import org.jetbrains.jet.j2k.ast.types.ClassType import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.HashSet import java.util.LinkedList import java.util.List import java.util.Set -import org.jetbrains.jet.j2k.util.AstUtil.* import java.util.ArrayList public open class Class(converter : Converter, diff --git a/src/org/jetbrains/jet/j2k/ast/Enum.kt b/src/org/jetbrains/jet/j2k/ast/Enum.kt index df72fee1414..f137915c1b4 100644 --- a/src/org/jetbrains/jet/j2k/ast/Enum.kt +++ b/src/org/jetbrains/jet/j2k/ast/Enum.kt @@ -2,7 +2,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.Converter import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List import java.util.Set diff --git a/src/org/jetbrains/jet/j2k/ast/ExpressionList.kt b/src/org/jetbrains/jet/j2k/ast/ExpressionList.kt index 4404319d2e2..945f251649e 100644 --- a/src/org/jetbrains/jet/j2k/ast/ExpressionList.kt +++ b/src/org/jetbrains/jet/j2k/ast/ExpressionList.kt @@ -1,7 +1,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List public open class ExpressionList(val expressions: List): Expression() { diff --git a/src/org/jetbrains/jet/j2k/ast/Field.kt b/src/org/jetbrains/jet/j2k/ast/Field.kt index 3bcee833104..67595b21956 100644 --- a/src/org/jetbrains/jet/j2k/ast/Field.kt +++ b/src/org/jetbrains/jet/j2k/ast/Field.kt @@ -1,7 +1,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.LinkedList import java.util.List import java.util.Set diff --git a/src/org/jetbrains/jet/j2k/ast/File.kt b/src/org/jetbrains/jet/j2k/ast/File.kt index 960fcc22234..99541197f01 100644 --- a/src/org/jetbrains/jet/j2k/ast/File.kt +++ b/src/org/jetbrains/jet/j2k/ast/File.kt @@ -1,6 +1,5 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List public open class File(val packageName: String, diff --git a/src/org/jetbrains/jet/j2k/ast/Function.kt b/src/org/jetbrains/jet/j2k/ast/Function.kt index b8d27809c19..725b76ceec1 100644 --- a/src/org/jetbrains/jet/j2k/ast/Function.kt +++ b/src/org/jetbrains/jet/j2k/ast/Function.kt @@ -1,6 +1,5 @@ package org.jetbrains.jet.j2k.ast -import org.jetbrains.jet.j2k.util.AstUtil import java.util.LinkedList import java.util.List import java.util.Set diff --git a/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.kt b/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.kt index ee61f3f72de..c4fa9c57418 100644 --- a/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.kt +++ b/src/org/jetbrains/jet/j2k/ast/MethodCallExpression.kt @@ -1,7 +1,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List public open class MethodCallExpression(val methodCall: Expression, diff --git a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.kt b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.kt index d5beb8a698a..80ce8e1e2a6 100644 --- a/src/org/jetbrains/jet/j2k/ast/NewClassExpression.kt +++ b/src/org/jetbrains/jet/j2k/ast/NewClassExpression.kt @@ -1,7 +1,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.annotations.Nullable -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List public open class NewClassExpression(val name: Element, diff --git a/src/org/jetbrains/jet/j2k/ast/ReferenceElement.kt b/src/org/jetbrains/jet/j2k/ast/ReferenceElement.kt index 79d4e97f283..517896b2438 100644 --- a/src/org/jetbrains/jet/j2k/ast/ReferenceElement.kt +++ b/src/org/jetbrains/jet/j2k/ast/ReferenceElement.kt @@ -1,7 +1,6 @@ package org.jetbrains.jet.j2k.ast import org.jetbrains.jet.j2k.ast.types.Type -import org.jetbrains.jet.j2k.util.AstUtil import java.util.List public open class ReferenceElement(val reference : Identifier, val types : List) : Element() { diff --git a/src/org/jetbrains/jet/j2k/ast/types/ClassType.kt b/src/org/jetbrains/jet/j2k/ast/types/ClassType.kt index d87fb8f274c..84209e3b387 100644 --- a/src/org/jetbrains/jet/j2k/ast/types/ClassType.kt +++ b/src/org/jetbrains/jet/j2k/ast/types/ClassType.kt @@ -2,7 +2,6 @@ package org.jetbrains.jet.j2k.ast.types import org.jetbrains.jet.j2k.ast.Element import org.jetbrains.jet.j2k.ast.Identifier -import org.jetbrains.jet.j2k.util.AstUtil import java.util.Collections import java.util.List diff --git a/src/org/jetbrains/jet/j2k/util/AstUtil.java b/src/org/jetbrains/jet/j2k/util/AstUtil.java deleted file mode 100644 index 64783525443..00000000000 --- a/src/org/jetbrains/jet/j2k/util/AstUtil.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2010-2012 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.j2k.util; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.j2k.ast.Node; - -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * @author ignatov - */ -public class AstUtil { - private AstUtil() { - } - - private static String join(@NotNull final String[] array, @Nullable final String delimiter) { - StringBuilder buffer = new StringBuilder(); - boolean haveDelimiter = (delimiter != null); - - for (int i = 0; i < array.length; i++) { - buffer.append(array[i]); - - if (haveDelimiter && (i + 1) < array.length) { - buffer.append(delimiter); - } - } - - return buffer.toString(); - } - - public static String joinNodes(@NotNull final List nodes, final String delimiter) { - return join(nodesToKotlin(nodes), delimiter); - } - - public static String join(@NotNull final List array, final String delimiter) { - return join(array.toArray(new String[array.size()]), delimiter); - } - - @NotNull - public static List nodesToKotlin(@NotNull List nodes) { - List result = new LinkedList(); - for (Node n : nodes) - result.add(n.toKotlin()); - return result; - } - - @NotNull - public static String upperFirstCharacter(@NotNull String string) { - return string.substring(0, 1).toUpperCase() + string.substring(1); - } - - @NotNull - public static String lowerFirstCharacter(@NotNull String string) { - return string.substring(0, 1).toLowerCase() + string.substring(1); - } - - @NotNull - public static T getOrElse(@NotNull Map map, @NotNull T e, @NotNull T orElse) { - if (map.containsKey(e)) { - return map.get(e); - } - return orElse; - } -} diff --git a/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.kt b/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.kt index e0cd48c22d9..f7e7721c348 100644 --- a/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.kt +++ b/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.kt @@ -6,9 +6,9 @@ import org.jetbrains.jet.j2k.Converter import org.jetbrains.jet.j2k.J2KConverterFlags import org.jetbrains.jet.j2k.ast.* import org.jetbrains.jet.j2k.ast.types.* -import org.jetbrains.jet.j2k.util.AstUtil import java.util.LinkedList import java.util.List +import com.intellij.openapi.util.text.StringUtil public open class TypeVisitor(private val myConverter : Converter) : PsiTypeVisitor() { private var myResult : Type = EmptyType() @@ -22,7 +22,7 @@ public open class TypeVisitor(private val myConverter : Converter) : PsiTypeVisi myResult = PrimitiveType(Identifier("Unit")) } else if (Node.PRIMITIVE_TYPES.contains(name)) { - myResult = PrimitiveType(Identifier(AstUtil.upperFirstCharacter(name))) + myResult = PrimitiveType(Identifier(StringUtil.capitalize(name))) } else { myResult = PrimitiveType(Identifier(name))