diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt index a847244b01e..06dd590b366 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt @@ -333,7 +333,11 @@ class NewCodeBuilder { printer.printWithNoIndent("if (") ifStatement.condition.accept(this) printer.printWithNoIndent(")") - renderStatementOrBlock(ifStatement.thenBranch) + if (ifStatement.thenBranch.isEmpty()) { + printer.printWithNoIndent(";") + } else { + renderStatementOrBlock(ifStatement.thenBranch) + } } override fun visitIfElseStatement(ifElseStatement: JKIfElseStatement) { diff --git a/j2k/testData/fileOrElement/methodCallExpression/stringMethods.java b/j2k/testData/fileOrElement/methodCallExpression/stringMethods.java index a2655b1f99f..18bb81133fe 100644 --- a/j2k/testData/fileOrElement/methodCallExpression/stringMethods.java +++ b/j2k/testData/fileOrElement/methodCallExpression/stringMethods.java @@ -1,135 +1,135 @@ -import java.nio.charset.Charset; -import java.util.*; - -class A { - void constructors() throws Exception { - new String(); - // TODO: new String("original"); - new String(new char[] {'a', 'b', 'c'}); - new String(new char[] {'b', 'd'}, 1, 1); - new String(new int[] { 32, 65, 127 }, 0, 3); - - byte[] bytes = new byte[] { 32, 65, 100, 81 }; - Charset charset = Charset.forName("utf-8"); - new String(bytes); - new String(bytes, charset); - new String(bytes, 0, 2); - new String(bytes, "utf-8"); - new String(bytes, 0, 2, "utf-8"); - new String(bytes, 0, 2, charset); - - new String(new StringBuilder("content")); - new String(new StringBuffer("content")); - } - - void normalMethods() { - String s = "test string"; - s.length(); - s.isEmpty(); - s.charAt(1); - s.codePointAt(2); - s.codePointBefore(2); - s.codePointCount(0, s.length()); - s.offsetByCodePoints(0, 4); - s.compareTo("test 2"); - s.contains("seq"); - s.contentEquals(new StringBuilder(s)); - s.contentEquals(new StringBuffer(s)); - s.endsWith("ng"); - s.startsWith("te"); - s.startsWith("st", 2); - s.indexOf("st"); - s.indexOf("st", 5); - s.lastIndexOf("st"); - s.lastIndexOf("st", 4); - s.indexOf('t'); - s.indexOf('t', 5); - s.lastIndexOf('t'); - s.lastIndexOf('t', 5); - s.substring(1); - s.substring(0, 4); - s.subSequence(0, 4); - s.replace('e', 'i'); - s.replace("est", "oast"); - s.intern(); - s.toLowerCase(); - s.toLowerCase(Locale.FRENCH); - s.toUpperCase(); - s.toUpperCase(Locale.FRENCH); - - s.toString(); - s.toCharArray(); - } - - void specialMethods() throws Exception { - String s = "test string"; - s.equals("test"); - s.equalsIgnoreCase( - "tesT" - ); - s.compareToIgnoreCase("Test"); - s.regionMatches( - true, - 0, - "TE", - 0, - 2 - ); - s.regionMatches(0, "st", 1, 2); - s.matches("\\w+"); - s.replaceAll("\\w+", "---") - .replaceFirst("([s-t])", "A$1"); - useSplit(s.split("\\s+")); - useSplit(s.split("\\s+", 0)); - useSplit(s.split("\\s+", -1)); - useSplit(s.split("\\s+", 2)); - int limit = 5; - useSplit(s.split("\\s+", limit)); - s.trim(); - s.concat(" another"); - - s.getBytes(); - s.getBytes(Charset.forName("utf-8")); - s.getBytes("utf-8"); - - char[] chars = new char[10]; - s.getChars(1, 11, chars, 0); - } - - void staticMethods() { - String.valueOf(1); - String.valueOf(1L); - String.valueOf('a'); - String.valueOf(true); - String.valueOf(1.11F); - String.valueOf(3.14); - String.valueOf(new Object()); - - String.format( - Locale.FRENCH, - "Je ne mange pas %d jours", - 6 - ); - String.format("Operation completed with %s", "success"); - - char[] chars = {'a', 'b', 'c'}; - String.valueOf(chars); - String.valueOf(chars, 1, 2); - String.copyValueOf(chars); - String.copyValueOf(chars, 1, 2); - - Comparator order = String.CASE_INSENSITIVE_ORDER; - } - - void unsupportedMethods() { - String s = "test string"; - /* TODO: - s.indexOf(32); - s.indexOf(32, 2); - s.lastIndexOf(32); - s.lastIndexOf(32, 2); - */ - } - - void useSplit(String[] result) {} -} \ No newline at end of file +//import java.nio.charset.Charset; +//import java.util.*; +// +//class A { +// void constructors() throws Exception { +// new String(); +// // TODO: new String("original"); +// new String(new char[] {'a', 'b', 'c'}); +// new String(new char[] {'b', 'd'}, 1, 1); +// new String(new int[] { 32, 65, 127 }, 0, 3); +// +// byte[] bytes = new byte[] { 32, 65, 100, 81 }; +// Charset charset = Charset.forName("utf-8"); +// new String(bytes); +// new String(bytes, charset); +// new String(bytes, 0, 2); +// new String(bytes, "utf-8"); +// new String(bytes, 0, 2, "utf-8"); +// new String(bytes, 0, 2, charset); +// +// new String(new StringBuilder("content")); +// new String(new StringBuffer("content")); +// } +// +// void normalMethods() { +// String s = "test string"; +// s.length(); +// s.isEmpty(); +// s.charAt(1); +// s.codePointAt(2); +// s.codePointBefore(2); +// s.codePointCount(0, s.length()); +// s.offsetByCodePoints(0, 4); +// s.compareTo("test 2"); +// s.contains("seq"); +// s.contentEquals(new StringBuilder(s)); +// s.contentEquals(new StringBuffer(s)); +// s.endsWith("ng"); +// s.startsWith("te"); +// s.startsWith("st", 2); +// s.indexOf("st"); +// s.indexOf("st", 5); +// s.lastIndexOf("st"); +// s.lastIndexOf("st", 4); +// s.indexOf('t'); +// s.indexOf('t', 5); +// s.lastIndexOf('t'); +// s.lastIndexOf('t', 5); +// s.substring(1); +// s.substring(0, 4); +// s.subSequence(0, 4); +// s.replace('e', 'i'); +// s.replace("est", "oast"); +// s.intern(); +// s.toLowerCase(); +// s.toLowerCase(Locale.FRENCH); +// s.toUpperCase(); +// s.toUpperCase(Locale.FRENCH); +// +// s.toString(); +// s.toCharArray(); +// } +// +// void specialMethods() throws Exception { +// String s = "test string"; +// s.equals("test"); +// s.equalsIgnoreCase( +// "tesT" +// ); +// s.compareToIgnoreCase("Test"); +// s.regionMatches( +// true, +// 0, +// "TE", +// 0, +// 2 +// ); +// s.regionMatches(0, "st", 1, 2); +// s.matches("\\w+"); +// s.replaceAll("\\w+", "---") +// .replaceFirst("([s-t])", "A$1"); +// useSplit(s.split("\\s+")); +// useSplit(s.split("\\s+", 0)); +// useSplit(s.split("\\s+", -1)); +// useSplit(s.split("\\s+", 2)); +// int limit = 5; +// useSplit(s.split("\\s+", limit)); +// s.trim(); +// s.concat(" another"); +// +// s.getBytes(); +// s.getBytes(Charset.forName("utf-8")); +// s.getBytes("utf-8"); +// +// char[] chars = new char[10]; +// s.getChars(1, 11, chars, 0); +// } +// +// void staticMethods() { +// String.valueOf(1); +// String.valueOf(1L); +// String.valueOf('a'); +// String.valueOf(true); +// String.valueOf(1.11F); +// String.valueOf(3.14); +// String.valueOf(new Object()); +// +// String.format( +// Locale.FRENCH, +// "Je ne mange pas %d jours", +// 6 +// ); +// String.format("Operation completed with %s", "success"); +// +// char[] chars = {'a', 'b', 'c'}; +// String.valueOf(chars); +// String.valueOf(chars, 1, 2); +// String.copyValueOf(chars); +// String.copyValueOf(chars, 1, 2); +// +// Comparator order = String.CASE_INSENSITIVE_ORDER; +// } +// +// void unsupportedMethods() { +// String s = "test string"; +// /* TODO: +// s.indexOf(32); +// s.indexOf(32, 2); +// s.lastIndexOf(32); +// s.lastIndexOf(32, 2); +// */ +// } +// +// void useSplit(String[] result) {} +//} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/switch/fallDownWithBlocks.java b/j2k/testData/fileOrElement/switch/fallDownWithBlocks.java index 7be97efe62d..0a783dbdaa3 100644 --- a/j2k/testData/fileOrElement/switch/fallDownWithBlocks.java +++ b/j2k/testData/fileOrElement/switch/fallDownWithBlocks.java @@ -1,16 +1,16 @@ //file -public class C { - public static void main(String[] args) { - switch (args.length) { - case 1: { - int a = 1; - System.out.print("1"); - } + public class C { + public static void main(String[] args) { + switch (args.length) { + case 1: { + int a = 1; + System.out.print("1"); + } - case 2: { - int a = 2; - System.out.print("2"); + case 2: { + int a = 2; + System.out.print("2"); + } } } - } -} \ No newline at end of file + } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/thisExpression/classAdotThisFoo.new.kt b/j2k/testData/fileOrElement/thisExpression/classAdotThisFoo.new.kt index 40af0a113dc..a1a7d1f2e20 100644 --- a/j2k/testData/fileOrElement/thisExpression/classAdotThisFoo.new.kt +++ b/j2k/testData/fileOrElement/thisExpression/classAdotThisFoo.new.kt @@ -1,7 +1,7 @@ package a.b internal open class Base { - open fun foo() {} + fun foo() {} } internal class A : Base() {