From 42e3ad3ccfa8076190bdc5e46742bbe6962e1139 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 10 Jul 2014 17:31:52 +0400 Subject: [PATCH] Reused utility method getDirectMember. --- .../src/org/jetbrains/jet/codegen/AnnotationCodegen.java | 6 ++---- .../org/jetbrains/jet/codegen/context/MethodContext.java | 5 ++--- .../src/org/jetbrains/jet/codegen/state/JetTypeMapper.java | 7 +------ 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java index 06bdae20404..d871bca5a11 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java @@ -21,7 +21,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.state.JetTypeMapper; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor; -import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPropertyDescriptor; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.Annotated; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationArgumentVisitor; @@ -119,9 +118,8 @@ public abstract class AnnotationCodegen { Set annotationDescriptorsAlreadyPresent = new HashSet(); if (modifierList == null) { - if (annotated instanceof DeserializedCallableMemberDescriptor || - annotated instanceof PropertyAccessorDescriptor && - ((PropertyAccessorDescriptor) annotated).getCorrespondingProperty() instanceof DeserializedPropertyDescriptor) { + if (annotated instanceof CallableMemberDescriptor && + JvmCodegenUtil.getDirectMember((CallableMemberDescriptor) annotated) instanceof DeserializedCallableMemberDescriptor) { for (AnnotationDescriptor annotation : annotated.getAnnotations()) { String descriptor = genAnnotation(annotation); if (descriptor != null) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java index 27af5a62ab2..d8d7d21e5f1 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.codegen.context; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.codegen.JvmCodegenUtil; import org.jetbrains.jet.codegen.OwnerKind; import org.jetbrains.jet.codegen.StackValue; import org.jetbrains.jet.codegen.binding.MutableClosure; @@ -37,9 +38,7 @@ public class MethodContext extends CodegenContext { @Nullable MutableClosure closure, boolean isInliningLambda ) { - super(contextDescriptor instanceof PropertyAccessorDescriptor - ? ((PropertyAccessorDescriptor) contextDescriptor).getCorrespondingProperty() - : contextDescriptor, contextKind, parentContext, closure, + super(JvmCodegenUtil.getDirectMember(contextDescriptor), contextKind, parentContext, closure, parentContext.hasThisDescriptor() ? parentContext.getThisDescriptor() : null, null); this.isInliningLambda = isInliningLambda; } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java index ff591c45c19..cfe2e9d8fb2 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/state/JetTypeMapper.java @@ -581,12 +581,7 @@ public class JetTypeMapper { writeVoidReturn(sw); } else { - if (f instanceof PropertyAccessorDescriptor) { - writeFormalTypeParameters(((PropertyAccessorDescriptor) f).getCorrespondingProperty().getTypeParameters(), sw); - } - else { - writeFormalTypeParameters(f.getTypeParameters(), sw); - } + writeFormalTypeParameters(getDirectMember(f).getTypeParameters(), sw); sw.writeParametersStart(); writeThisIfNeeded(f, kind, sw);