diff --git a/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceDeclarationTranslator.java b/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceDeclarationTranslator.java index 9b748e511f2..4309096dd25 100644 --- a/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceDeclarationTranslator.java +++ b/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceDeclarationTranslator.java @@ -62,21 +62,28 @@ public final class NamespaceDeclarationTranslator extends AbstractTranslator { return result; } - //TODO: logic seems not so clear, may be a couple of extract method should help @NotNull private List translate() { - classDeclarationTranslator.generateDeclarations(); - List result = Lists.newArrayList(); - result.add(classDeclarationsStatement()); - List namespaceTranslators = getTranslatorsForNonEmptyNamespaces(); - result.addAll(declarationStatements(namespaceTranslators)); - result.addAll(initializeStatements(namespaceTranslators)); + List result = classesDeclarations(); + result.addAll(namespacesDeclarations()); return result; } @NotNull - private JsStatement classDeclarationsStatement() { - return classDeclarationTranslator.getDeclarationsStatement(); + private List classesDeclarations() { + List result = Lists.newArrayList(); + classDeclarationTranslator.generateDeclarations(); + result.add(classDeclarationTranslator.getDeclarationsStatement()); + return result; + } + + @NotNull + private List namespacesDeclarations() { + List result = Lists.newArrayList(); + List namespaceTranslators = getTranslatorsForNonEmptyNamespaces(); + result.addAll(declarationStatements(namespaceTranslators)); + result.addAll(initializeStatements(namespaceTranslators)); + return result; } @NotNull