JS backend: dropped unnecessary utility methods getExpectedThisDescriptor and getExpectedReceiverDescriptor.

#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4263 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
This commit is contained in:
Zalim Bashorov
2014-03-05 19:45:51 +04:00
parent e1484d76a7
commit fff38954dc
3 changed files with 4 additions and 26 deletions
@@ -45,7 +45,6 @@ import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionDescrip
import static org.jetbrains.k2js.translate.utils.ErrorReportingUtils.message;
import static org.jetbrains.k2js.translate.utils.FunctionBodyTranslator.translateFunctionBody;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.setParameters;
import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getExpectedReceiverDescriptor;
public final class FunctionTranslator extends AbstractTranslator {
@NotNull
@@ -80,7 +79,7 @@ public final class FunctionTranslator extends AbstractTranslator {
private TranslationContext getFunctionBodyContext() {
AliasingContext aliasingContext;
if (isExtensionFunction()) {
DeclarationDescriptor expectedReceiverDescriptor = getExpectedReceiverDescriptor(descriptor);
DeclarationDescriptor expectedReceiverDescriptor = descriptor.getReceiverParameter();
assert expectedReceiverDescriptor != null;
extensionFunctionReceiverName = functionObject.getScope().declareName(Namer.getReceiverParameterName());
//noinspection ConstantConditions
@@ -89,7 +88,7 @@ public final class FunctionTranslator extends AbstractTranslator {
else {
aliasingContext = null;
}
return context().newFunctionBody(functionObject, aliasingContext, null);
return context().newFunctionBody(functionObject, aliasingContext);
}
@NotNull
@@ -45,8 +45,6 @@ import java.util.Map;
import static org.jetbrains.k2js.translate.reference.CallArgumentTranslator.translateSingleArgument;
import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionForDescriptor;
import static org.jetbrains.k2js.translate.utils.FunctionBodyTranslator.translateFunctionBody;
import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getExpectedReceiverDescriptor;
import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getExpectedThisDescriptor;
public final class InlinedCallExpressionTranslator extends AbstractCallExpressionTranslator {
@@ -125,12 +123,12 @@ public final class InlinedCallExpressionTranslator extends AbstractCallExpressio
JsExpression receiver = callInfo.getReceiverObject();
if (receiver != null) {
contextWithAliasForThisExpression =
contextWithAlias(contextWithAliasForThisExpression, receiver, getExpectedReceiverDescriptor(functionDescriptor));
contextWithAlias(contextWithAliasForThisExpression, receiver, functionDescriptor.getReceiverParameter());
}
JsExpression thisObject = callInfo.getThisObject();
if (thisObject != null) {
contextWithAliasForThisExpression =
contextWithAlias(contextWithAliasForThisExpression, thisObject, getExpectedThisDescriptor(functionDescriptor));
contextWithAlias(contextWithAliasForThisExpression, thisObject, functionDescriptor.getExpectedThisObject());
}
return contextWithAliasForThisExpression;
}
@@ -102,16 +102,6 @@ public final class JsDescriptorUtils {
return !descriptor.getOverriddenDescriptors().isEmpty();
}
//TODO: why callable descriptor
@Nullable
public static DeclarationDescriptor getExpectedThisDescriptor(@NotNull CallableDescriptor callableDescriptor) {
ReceiverParameterDescriptor expectedThisObject = callableDescriptor.getExpectedThisObject();
if (expectedThisObject == null) {
return null;
}
return getDeclarationDescriptorForReceiver(expectedThisObject.getValue());
}
@NotNull
public static DeclarationDescriptor getDeclarationDescriptorForReceiver(@NotNull ReceiverValue receiverParameter) {
DeclarationDescriptor declarationDescriptor;
@@ -127,15 +117,6 @@ public final class JsDescriptorUtils {
return declarationDescriptor.getOriginal();
}
@Nullable
public static DeclarationDescriptor getExpectedReceiverDescriptor(@NotNull CallableDescriptor callableDescriptor) {
ReceiverParameterDescriptor receiverParameter = callableDescriptor.getReceiverParameter();
if (receiverParameter == null) {
return null;
}
return getDeclarationDescriptorForReceiver(receiverParameter.getValue());
}
//TODO: maybe we have similar routine
@Nullable
public static ClassDescriptor getContainingClass(@NotNull DeclarationDescriptor descriptor) {