diff --git a/src/org/jetbrains/jet/j2k/Converter.java b/src/org/jetbrains/jet/j2k/Converter.java index 1a3eff07c89..b90a54e969d 100644 --- a/src/org/jetbrains/jet/j2k/Converter.java +++ b/src/org/jetbrains/jet/j2k/Converter.java @@ -20,10 +20,10 @@ public class Converter { public static File fileToFile(PsiJavaFile javaFile) { final PsiImportList importList = javaFile.getImportList(); List imports = importList == null ? Collections.emptyList() : importsToImportList(importList.getAllImportStatements()); - return new File(getPackageName(javaFile.getPackageName()), imports, classesToClassList(javaFile.getClasses())); + return new File(quoteKeywords(javaFile.getPackageName()), imports, classesToClassList(javaFile.getClasses())); } - private static String getPackageName(String packageName) { + private static String quoteKeywords(String packageName) { List result = new LinkedList(); for (String part : packageName.split("\\.")) result.add(new IdentifierImpl(part).toKotlin()); @@ -388,14 +388,9 @@ public class Converter { } @NotNull - private static Import importToImport(PsiImportStatementBase t) { - if (t != null) { - final PsiJavaCodeReferenceElement reference = t.getImportReference(); - if (reference != null) { - return new Import(reference.getQualifiedName()); // TODO: use identifier - } - } - return new Import(""); + private static Import importToImport(PsiImportStatementBase i) { + final String text = i == null ? "" : quoteKeywords(i.getText().replace("import ", "").replace("static ", "").replace(";", "")); + return new Import(text); // TODO: import reference } @NotNull diff --git a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java index 83ca3303634..a61f0fc7f37 100644 --- a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java +++ b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java @@ -116,11 +116,6 @@ public class StatementVisitor extends ElementVisitor { ); } - @Override - public void visitImportStatement(PsiImportStatement statement) { - super.visitImportStatement(statement); - } - @Override public void visitIfStatement(PsiIfStatement statement) { super.visitIfStatement(statement); @@ -131,11 +126,6 @@ public class StatementVisitor extends ElementVisitor { ); } - @Override - public void visitImportStaticStatement(PsiImportStaticStatement statement) { - super.visitImportStaticStatement(statement); - } - @Override public void visitLabeledStatement(PsiLabeledStatement statement) { super.visitLabeledStatement(statement); @@ -145,11 +135,6 @@ public class StatementVisitor extends ElementVisitor { ); } - @Override - public void visitPackageStatement(PsiPackageStatement statement) { - super.visitPackageStatement(statement); - } - @Override public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) { super.visitSwitchLabelStatement(statement); diff --git a/testData/ast/importStatement/file/importWithKeywords.jav b/testData/ast/importStatement/file/importWithKeywords.jav new file mode 100644 index 00000000000..f82ae0443b4 --- /dev/null +++ b/testData/ast/importStatement/file/importWithKeywords.jav @@ -0,0 +1,5 @@ +package test; + +import namespace.as.type.val.var.fun.is.in.object.when.trait.This; + +class Test {} diff --git a/testData/ast/importStatement/file/importWithKeywords.kt b/testData/ast/importStatement/file/importWithKeywords.kt new file mode 100644 index 00000000000..3720bbfeabc --- /dev/null +++ b/testData/ast/importStatement/file/importWithKeywords.kt @@ -0,0 +1,5 @@ +namespace test { +import `namespace`.`as`.`type`.`val`.`var`.`fun`.`is`.`in`.`object`.`when`.`trait`.`This` +open class Test() { +} +} \ No newline at end of file diff --git a/testData/ast/importStatement/file/importWithStar.jav b/testData/ast/importStatement/file/importWithStar.jav new file mode 100644 index 00000000000..abbec8d10d3 --- /dev/null +++ b/testData/ast/importStatement/file/importWithStar.jav @@ -0,0 +1,5 @@ +package org.jetbrains.jet.j2k; + +import org.jetbrains.annotations.*; + +public class Converter {} \ No newline at end of file diff --git a/testData/ast/importStatement/file/importWithStar.kt b/testData/ast/importStatement/file/importWithStar.kt new file mode 100644 index 00000000000..65cc2f10c67 --- /dev/null +++ b/testData/ast/importStatement/file/importWithStar.kt @@ -0,0 +1,5 @@ +namespace org.jetbrains.jet.j2k { +import org.jetbrains.annotations.* +public open class Converter() { +} +} \ No newline at end of file diff --git a/testData/ast/importStatement/file/simpleImport.jav b/testData/ast/importStatement/file/simpleImport.jav new file mode 100644 index 00000000000..a2daf0cd933 --- /dev/null +++ b/testData/ast/importStatement/file/simpleImport.jav @@ -0,0 +1,5 @@ +package org.jetbrains.jet.j2k; + +import org.jetbrains.annotations.NotNull; + +public class Converter {} \ No newline at end of file diff --git a/testData/ast/importStatement/file/simpleImport.kt b/testData/ast/importStatement/file/simpleImport.kt new file mode 100644 index 00000000000..0a97e34e764 --- /dev/null +++ b/testData/ast/importStatement/file/simpleImport.kt @@ -0,0 +1,5 @@ +namespace org.jetbrains.jet.j2k { +import org.jetbrains.annotations.NotNull +public open class Converter() { +} +} \ No newline at end of file