From bbcf8be5bf34c73b493c9a8d956b4a23e07667d6 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Tue, 15 Nov 2011 18:13:25 +0400 Subject: [PATCH] working with package statement improved --- src/org/jetbrains/jet/j2k/Converter.java | 13 +++++++++---- .../packageStatement/file/orgJetbrainsJetJ2kIn.jav | 6 ++++++ .../packageStatement/file/orgJetbrainsJetJ2kIn.kt | 6 ++++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.jav create mode 100644 testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.kt diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java index 807434d6055..1a3eff07c89 100644 --- a/src/org/jetbrains/jet/j2k/Converter.java +++ b/src/org/jetbrains/jet/j2k/Converter.java @@ -19,10 +19,15 @@ public class Converter { @NotNull public static File fileToFile(PsiJavaFile javaFile) { final PsiImportList importList = javaFile.getImportList(); - List imports = importList == null ? - new LinkedList() : - importsToImportList(importList.getAllImportStatements()); - return new File(javaFile.getPackageName(), imports, classesToClassList(javaFile.getClasses())); // TODO: use identifier + List imports = importList == null ? Collections.emptyList() : importsToImportList(importList.getAllImportStatements()); + return new File(getPackageName(javaFile.getPackageName()), imports, classesToClassList(javaFile.getClasses())); + } + + private static String getPackageName(String packageName) { + List result = new LinkedList(); + for (String part : packageName.split("\\.")) + result.add(new IdentifierImpl(part).toKotlin()); + return AstUtil.join(result, "."); } @NotNull diff --git a/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.jav b/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.jav new file mode 100644 index 00000000000..7b8f669aba1 --- /dev/null +++ b/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.jav @@ -0,0 +1,6 @@ +package org.jetbrains.jet.j2k.in; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class Converter {} \ No newline at end of file diff --git a/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.kt b/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.kt new file mode 100644 index 00000000000..9700c7d464f --- /dev/null +++ b/testData/ast/packageStatement/file/orgJetbrainsJetJ2kIn.kt @@ -0,0 +1,6 @@ +namespace org.jetbrains.jet.j2k.`in` { +import org.jetbrains.annotations.NotNull +import org.jetbrains.annotations.Nullable +public open class Converter() { +} +} \ No newline at end of file