JS backend: remove all usages TranslationContext.isEcma5()
This commit is contained in:
@@ -58,10 +58,6 @@ public class TranslationContext {
|
||||
|
||||
private final HashMap<JsExpression, TemporaryConstVariable> expressionToTempConstVariableCache = new HashMap<JsExpression, TemporaryConstVariable>();
|
||||
|
||||
public boolean isEcma5() {
|
||||
return staticContext.isEcma5();
|
||||
}
|
||||
|
||||
private TranslationContext(
|
||||
@NotNull StaticContext staticContext,
|
||||
@NotNull DynamicContext dynamicContext,
|
||||
|
||||
@@ -173,12 +173,7 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
|
||||
if (!isTrait()) {
|
||||
JsFunction initializer = new ClassInitializerTranslator(classDeclaration, declarationContext).generateInitializeMethod();
|
||||
if (context().isEcma5()) {
|
||||
invocationArguments.add(initializer.getBody().getStatements().isEmpty() ? JsLiteral.NULL : initializer);
|
||||
}
|
||||
else {
|
||||
properties.add(new JsPropertyInitializer(Namer.initializeMethodReference(), initializer));
|
||||
}
|
||||
invocationArguments.add(initializer.getBody().getStatements().isEmpty() ? JsLiteral.NULL : initializer);
|
||||
}
|
||||
|
||||
translatePropertiesAsConstructorParameters(declarationContext, properties);
|
||||
@@ -227,9 +222,7 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
private void addSuperclassReferences(@NotNull JsInvocation jsClassDeclaration) {
|
||||
List<JsExpression> superClassReferences = getSupertypesNameReferences();
|
||||
if (superClassReferences.isEmpty()) {
|
||||
if (!isTrait() || context().isEcma5()) {
|
||||
jsClassDeclaration.getArguments().add(JsLiteral.NULL);
|
||||
}
|
||||
jsClassDeclaration.getArguments().add(JsLiteral.NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+4
-12
@@ -72,24 +72,16 @@ public final class NamespaceDeclarationTranslator extends AbstractTranslator {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
JsVars vars = new JsVars(true);
|
||||
List<JsStatement> result;
|
||||
if (context().isEcma5()) {
|
||||
result = Collections.<JsStatement>singletonList(vars);
|
||||
}
|
||||
else {
|
||||
result = new ArrayList<JsStatement>();
|
||||
result.add(vars);
|
||||
}
|
||||
|
||||
context().classDeclarationTranslator().generateDeclarations();
|
||||
for (NamespaceTranslator translator : descriptorToTranslator.values()) {
|
||||
translator.add(descriptorToDefineInvocation, result);
|
||||
translator.add(descriptorToDefineInvocation);
|
||||
}
|
||||
|
||||
JsVars vars = new JsVars(true);
|
||||
vars.addIfHasInitializer(context().classDeclarationTranslator().getDeclaration());
|
||||
vars.addIfHasInitializer(getRootPackageDeclaration(descriptorToDefineInvocation.get(rootNamespaceDescriptor)));
|
||||
return result;
|
||||
|
||||
return Collections.<JsStatement>singletonList(vars);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+1
-7
@@ -26,7 +26,6 @@ import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.k2js.translate.LabelGenerator;
|
||||
import org.jetbrains.k2js.translate.context.Namer;
|
||||
import org.jetbrains.k2js.translate.context.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.general.Translation;
|
||||
@@ -98,18 +97,13 @@ final class NamespaceTranslator extends AbstractTranslator {
|
||||
return place;
|
||||
}
|
||||
|
||||
public void add(@NotNull Map<NamespaceDescriptor, DefineInvocation> descriptorToDefineInvocation,
|
||||
@NotNull List<JsStatement> initializers) {
|
||||
public void add(@NotNull Map<NamespaceDescriptor, DefineInvocation> descriptorToDefineInvocation) {
|
||||
JsExpression initializer;
|
||||
if (visitor.initializerStatements.isEmpty()) {
|
||||
initializer = null;
|
||||
}
|
||||
else {
|
||||
initializer = visitor.initializer;
|
||||
if (!context().isEcma5()) {
|
||||
initializers.add(new JsInvocation(Namer.getFunctionCallRef(initializer),
|
||||
context().getQualifiedReference(descriptor)).makeStmt());
|
||||
}
|
||||
}
|
||||
|
||||
DefineInvocation defineInvocation = descriptorToDefineInvocation.get(descriptor);
|
||||
|
||||
@@ -36,7 +36,6 @@ import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.k2js.translate.reference.CallParametersResolver.resolveCallParameters;
|
||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.isObjectDeclaration;
|
||||
import static org.jetbrains.k2js.translate.utils.JsAstUtils.assignment;
|
||||
import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier;
|
||||
import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.isConstructorDescriptor;
|
||||
@@ -206,13 +205,7 @@ public final class CallTranslator extends AbstractTranslator {
|
||||
}
|
||||
|
||||
private boolean isDirectPropertyAccess() {
|
||||
return descriptor instanceof PropertyAccessorDescriptor &&
|
||||
(context().isEcma5() || isObjectAccessor((PropertyAccessorDescriptor) descriptor));
|
||||
}
|
||||
|
||||
private boolean isObjectAccessor(@NotNull PropertyAccessorDescriptor propertyAccessorDescriptor) {
|
||||
PropertyDescriptor correspondingProperty = propertyAccessorDescriptor.getCorrespondingProperty();
|
||||
return isObjectDeclaration(correspondingProperty);
|
||||
return descriptor instanceof PropertyAccessorDescriptor;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
Reference in New Issue
Block a user