New aliasing context usages.

Adapted from https://github.com/develar/kotlin/commit/a9e0a42fb1347fa8e21c86b5a073ef8a7c873da0.
This commit is contained in:
Pavel V. Talanov
2012-08-10 21:08:50 +04:00
parent 4b69fa1014
commit d6a6bd7cac
3 changed files with 4 additions and 14 deletions
@@ -34,7 +34,6 @@ import org.jetbrains.k2js.translate.operation.BinaryOperationTranslator;
import org.jetbrains.k2js.translate.operation.UnaryOperationTranslator; import org.jetbrains.k2js.translate.operation.UnaryOperationTranslator;
import org.jetbrains.k2js.translate.reference.*; import org.jetbrains.k2js.translate.reference.*;
import org.jetbrains.k2js.translate.utils.BindingUtils; import org.jetbrains.k2js.translate.utils.BindingUtils;
import org.jetbrains.k2js.translate.utils.TranslationUtils;
import org.jetbrains.k2js.translate.utils.mutator.AssignToExpressionMutator; import org.jetbrains.k2js.translate.utils.mutator.AssignToExpressionMutator;
import java.util.List; import java.util.List;
@@ -339,9 +338,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
@NotNull @NotNull
public JsNode visitThisExpression(@NotNull JetThisExpression expression, public JsNode visitThisExpression(@NotNull JetThisExpression expression,
@NotNull TranslationContext context) { @NotNull TranslationContext context) {
DeclarationDescriptor descriptor = return context.getThisObject(getDescriptorForReferenceExpression(context.bindingContext(), expression.getInstanceReference()));
getDescriptorForReferenceExpression(context.bindingContext(), expression.getInstanceReference());
return TranslationUtils.getThisObject(context, descriptor);
} }
@Override @Override
@@ -26,7 +26,6 @@ import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
import org.jetbrains.jet.lang.resolve.calls.ResolvedCallWithTrace; import org.jetbrains.jet.lang.resolve.calls.ResolvedCallWithTrace;
import org.jetbrains.jet.lang.resolve.calls.VariableAsFunctionResolvedCall; import org.jetbrains.jet.lang.resolve.calls.VariableAsFunctionResolvedCall;
import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.utils.TranslationUtils;
import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getDeclarationDescriptorForExtensionCallReceiver; import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getDeclarationDescriptorForExtensionCallReceiver;
@@ -34,7 +33,6 @@ import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getDeclaratio
* @author Pavel Talanov * @author Pavel Talanov
*/ */
public final class CallParametersResolver { public final class CallParametersResolver {
public static CallParameters resolveCallParameters(@Nullable JsExpression qualifier, public static CallParameters resolveCallParameters(@Nullable JsExpression qualifier,
@Nullable JsExpression callee, @Nullable JsExpression callee,
@NotNull CallableDescriptor descriptor, @NotNull CallableDescriptor descriptor,
@@ -94,11 +92,7 @@ public final class CallParametersResolver {
if (qualifier != null && !isExtensionCall) { if (qualifier != null && !isExtensionCall) {
return qualifier; return qualifier;
} }
JsExpression result = TranslationUtils.resolveThisObjectForResolvedCall(resolvedCall, context); return context.thisAliasProvider().get(resolvedCall);
if (result != null) {
return result;
}
return null;
} }
@NotNull @NotNull
@@ -107,6 +101,6 @@ public final class CallParametersResolver {
return qualifier; return qualifier;
} }
DeclarationDescriptor receiverDescriptor = getDeclarationDescriptorForExtensionCallReceiver(resolvedCall); DeclarationDescriptor receiverDescriptor = getDeclarationDescriptorForExtensionCallReceiver(resolvedCall);
return TranslationUtils.getThisObject(context, receiverDescriptor); return context.getThisObject(receiverDescriptor);
} }
} }
@@ -23,7 +23,6 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor; import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.utils.TranslationUtils;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.assignment; import static org.jetbrains.k2js.translate.utils.JsAstUtils.assignment;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.qualified; import static org.jetbrains.k2js.translate.utils.JsAstUtils.qualified;
@@ -108,7 +107,7 @@ public final class NativePropertyAccessTranslator extends PropertyAccessTranslat
if (expectedThisDescriptor == null) { if (expectedThisDescriptor == null) {
return null; return null;
} }
return TranslationUtils.getThisObject(context(), expectedThisDescriptor); return context().getThisObject(expectedThisDescriptor);
} }
@NotNull @NotNull