diff --git a/.idea/runConfigurations/Generate_Injectors.xml b/.idea/runConfigurations/Generate_Injectors.xml
index c8dba8e35ba..c65246abe2b 100644
--- a/.idea/runConfigurations/Generate_Injectors.xml
+++ b/.idea/runConfigurations/Generate_Injectors.xml
@@ -10,7 +10,13 @@
+
+
+
+
+
+
diff --git a/core/util.runtime/src/org/jetbrains/jet/utils/Printer.java b/core/util.runtime/src/org/jetbrains/jet/utils/Printer.java
index 6c9855a1bc1..18b50735fa1 100644
--- a/core/util.runtime/src/org/jetbrains/jet/utils/Printer.java
+++ b/core/util.runtime/src/org/jetbrains/jet/utils/Printer.java
@@ -71,14 +71,18 @@ public class Printer {
if (withholdIndentOnce) {
withholdIndentOnce = false;
}
- else {
- append(indent);
+ else if (objects.length > 0) {
+ printIndent();
}
printWithNoIndent(objects);
return this;
}
+ public void printIndent() {
+ append(indent);
+ }
+
@NotNull
public Printer printWithNoIndent(Object... objects) {
for (Object object : objects) {
diff --git a/generators/src/org/jetbrains/jet/generators/tests/generator/TestGenerator.java b/generators/src/org/jetbrains/jet/generators/tests/generator/TestGenerator.java
index c39de76614e..940ef8748f3 100644
--- a/generators/src/org/jetbrains/jet/generators/tests/generator/TestGenerator.java
+++ b/generators/src/org/jetbrains/jet/generators/tests/generator/TestGenerator.java
@@ -31,6 +31,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
+import java.util.Iterator;
import java.util.Set;
public class TestGenerator {
@@ -156,19 +157,24 @@ public class TestGenerator {
p.pushIndent();
Collection testMethods = testClassModel.getTestMethods();
+ Collection innerTestClasses = testClassModel.getInnerTestClasses();
- for (TestMethodModel testMethodModel : testMethods) {
+ for (Iterator iterator = testMethods.iterator(); iterator.hasNext(); ) {
+ TestMethodModel testMethodModel = iterator.next();
generateTestMethod(p, testMethodModel);
- p.println();
+ if (iterator.hasNext() || !innerTestClasses.isEmpty()) {
+ p.println();
+ }
}
- Collection innerTestClasses = testClassModel.getInnerTestClasses();
- for (TestClassModel innerTestClass : innerTestClasses) {
- if (innerTestClass.isEmpty()) {
- continue;
+ for (Iterator iterator = innerTestClasses.iterator(); iterator.hasNext(); ) {
+ TestClassModel innerTestClass = iterator.next();
+ if (!innerTestClass.isEmpty()) {
+ generateTestClass(p, innerTestClass, true);
+ if (iterator.hasNext()) {
+ p.println();
+ }
}
- generateTestClass(p, innerTestClass, true);
- p.println();
}
p.popIndent();
diff --git a/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java b/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java
index 198a02213f4..7e9167d6e01 100644
--- a/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java
+++ b/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.utils.Printer;
+import javax.annotation.PreDestroy;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -109,7 +110,7 @@ public class DependencyInjectorGenerator {
p.println("}"); // class
importManager.addClass(NotNull.class);
- importManager.addClass(javax.annotation.PreDestroy.class);
+ importManager.addClass(PreDestroy.class);
StringBuilder imports = new StringBuilder();
generateImports(new Printer(imports), injectorPackageName);
@@ -128,7 +129,7 @@ public class DependencyInjectorGenerator {
}
}
- private void generatePreamble(String injectorPackageName, Printer p) throws IOException {
+ private static void generatePreamble(String injectorPackageName, Printer p) throws IOException {
String copyright = "injector-generator/copyright.txt";
p.println(FileUtil.loadFile(new File(copyright)));
@@ -252,7 +253,7 @@ public class DependencyInjectorGenerator {
p.pushIndent();
for (Iterator iterator = parameters.iterator(); iterator.hasNext(); ) {
Parameter parameter = iterator.next();
- p.print(); // indent
+ p.printIndent();
if (parameter.isRequired()) {
p.printWithNoIndent("@NotNull ");
}