minor refactoring

This commit is contained in:
Pavel Talanov
2011-12-15 21:00:57 +04:00
parent 6639968f28
commit 96db7eaa03
8 changed files with 458 additions and 346 deletions
+445 -337
View File
File diff suppressed because it is too large Load Diff
@@ -28,17 +28,17 @@ import static org.jetbrains.k2js.translate.utils.DescriptorUtils.findAncestorCla
*/ */
public final class ClassTranslator extends AbstractTranslator { public final class ClassTranslator extends AbstractTranslator {
@NotNull
public static JsInvocation translateClass(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
return (new ClassTranslator(classDeclaration, context)).translateClass();
}
@NotNull @NotNull
private final DeclarationBodyVisitor declarationBodyVisitor = new DeclarationBodyVisitor(); private final DeclarationBodyVisitor declarationBodyVisitor = new DeclarationBodyVisitor();
@NotNull @NotNull
private final JetClass classDeclaration; private final JetClass classDeclaration;
@NotNull
static public JsInvocation translateClass(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
return (new ClassTranslator(classDeclaration, context)).translateClass();
}
private ClassTranslator(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) { private ClassTranslator(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
super(context.newClass(classDeclaration)); super(context.newClass(classDeclaration));
this.classDeclaration = classDeclaration; this.classDeclaration = classDeclaration;
@@ -17,7 +17,6 @@ import java.util.List;
*/ */
public abstract class AbstractInitializerTranslator extends AbstractTranslator { public abstract class AbstractInitializerTranslator extends AbstractTranslator {
@NotNull @NotNull
protected final InitializerVisitor visitor; protected final InitializerVisitor visitor;
@NotNull @NotNull
@@ -20,7 +20,7 @@ import java.util.List;
public final class InitializerVisitor extends TranslatorVisitor<List<JsStatement>> { public final class InitializerVisitor extends TranslatorVisitor<List<JsStatement>> {
protected InitializerVisitor() { /*package*/ InitializerVisitor() {
} }
@Override @Override
@@ -12,6 +12,8 @@ import java.util.Map;
/** /**
* @author Pavel Talanov * @author Pavel Talanov
*/ */
//TODO: change using guava builders
public final class OperatorTable { public final class OperatorTable {
private static Map<JetToken, JsBinaryOperator> binaryOperatorsMap = new HashMap<JetToken, JsBinaryOperator>(); private static Map<JetToken, JsBinaryOperator> binaryOperatorsMap = new HashMap<JetToken, JsBinaryOperator>();
@@ -85,6 +85,7 @@ public final class CallTranslator extends AbstractTranslator {
return translate(context, receiver, arguments, functionDescriptor); return translate(context, receiver, arguments, functionDescriptor);
} }
@NotNull
public static JsExpression mayBeWrapWithNegation(@NotNull JsExpression expression, boolean shouldWrap) { public static JsExpression mayBeWrapWithNegation(@NotNull JsExpression expression, boolean shouldWrap) {
if (shouldWrap) { if (shouldWrap) {
return not(expression); return not(expression);
@@ -167,6 +168,7 @@ public final class CallTranslator extends AbstractTranslator {
return functionIntrinsic.apply(receiver, arguments, context()); return functionIntrinsic.apply(receiver, arguments, context());
} }
@NotNull
private JsInvocation methodCall() { private JsInvocation methodCall() {
return AstUtil.newInvocation(calleeReference(), arguments); return AstUtil.newInvocation(calleeReference(), arguments);
} }
@@ -209,6 +211,7 @@ public final class CallTranslator extends AbstractTranslator {
return methodReference; return methodReference;
} }
@NotNull
private JsExpression extensionFunctionReference(@NotNull JsExpression methodReference) { private JsExpression extensionFunctionReference(@NotNull JsExpression methodReference) {
JsExpression qualifier = TranslationUtils.getExtensionFunctionImplicitReceiver(context(), functionDescriptor); JsExpression qualifier = TranslationUtils.getExtensionFunctionImplicitReceiver(context(), functionDescriptor);
if (qualifier != null) { if (qualifier != null) {
@@ -16,7 +16,7 @@ import static org.jetbrains.k2js.translate.utils.TranslationUtils.getImplicitRec
/** /**
* @author Pavel Talanov * @author Pavel Talanov
*/ */
public class ReferenceTranslator extends AbstractTranslator { public final class ReferenceTranslator extends AbstractTranslator {
@NotNull @NotNull
public static JsExpression translateSimpleName(@NotNull JetSimpleNameExpression expression, public static JsExpression translateSimpleName(@NotNull JetSimpleNameExpression expression,
@@ -29,7 +29,7 @@ public final class ClassSorter {
private final BindingContext bindingContext; private final BindingContext bindingContext;
@NotNull @NotNull
static public List<JetClass> sortUsingInheritanceOrder(@NotNull List<JetClass> original, public static List<JetClass> sortUsingInheritanceOrder(@NotNull List<JetClass> original,
@NotNull BindingContext bindingContext) { @NotNull BindingContext bindingContext) {
ClassSorter sorter = new ClassSorter(original, bindingContext); ClassSorter sorter = new ClassSorter(original, bindingContext);
return sorter.sortUsingInheritanceOrder(); return sorter.sortUsingInheritanceOrder();