Reused utility method getDirectMember.
This commit is contained in:
@@ -21,7 +21,6 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.codegen.state.JetTypeMapper;
|
import org.jetbrains.jet.codegen.state.JetTypeMapper;
|
||||||
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedCallableMemberDescriptor;
|
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.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationArgumentVisitor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationArgumentVisitor;
|
||||||
@@ -119,9 +118,8 @@ public abstract class AnnotationCodegen {
|
|||||||
Set<String> annotationDescriptorsAlreadyPresent = new HashSet<String>();
|
Set<String> annotationDescriptorsAlreadyPresent = new HashSet<String>();
|
||||||
|
|
||||||
if (modifierList == null) {
|
if (modifierList == null) {
|
||||||
if (annotated instanceof DeserializedCallableMemberDescriptor ||
|
if (annotated instanceof CallableMemberDescriptor &&
|
||||||
annotated instanceof PropertyAccessorDescriptor &&
|
JvmCodegenUtil.getDirectMember((CallableMemberDescriptor) annotated) instanceof DeserializedCallableMemberDescriptor) {
|
||||||
((PropertyAccessorDescriptor) annotated).getCorrespondingProperty() instanceof DeserializedPropertyDescriptor) {
|
|
||||||
for (AnnotationDescriptor annotation : annotated.getAnnotations()) {
|
for (AnnotationDescriptor annotation : annotated.getAnnotations()) {
|
||||||
String descriptor = genAnnotation(annotation);
|
String descriptor = genAnnotation(annotation);
|
||||||
if (descriptor != null) {
|
if (descriptor != null) {
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.jet.codegen.context;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.codegen.JvmCodegenUtil;
|
||||||
import org.jetbrains.jet.codegen.OwnerKind;
|
import org.jetbrains.jet.codegen.OwnerKind;
|
||||||
import org.jetbrains.jet.codegen.StackValue;
|
import org.jetbrains.jet.codegen.StackValue;
|
||||||
import org.jetbrains.jet.codegen.binding.MutableClosure;
|
import org.jetbrains.jet.codegen.binding.MutableClosure;
|
||||||
@@ -37,9 +38,7 @@ public class MethodContext extends CodegenContext<CallableMemberDescriptor> {
|
|||||||
@Nullable MutableClosure closure,
|
@Nullable MutableClosure closure,
|
||||||
boolean isInliningLambda
|
boolean isInliningLambda
|
||||||
) {
|
) {
|
||||||
super(contextDescriptor instanceof PropertyAccessorDescriptor
|
super(JvmCodegenUtil.getDirectMember(contextDescriptor), contextKind, parentContext, closure,
|
||||||
? ((PropertyAccessorDescriptor) contextDescriptor).getCorrespondingProperty()
|
|
||||||
: contextDescriptor, contextKind, parentContext, closure,
|
|
||||||
parentContext.hasThisDescriptor() ? parentContext.getThisDescriptor() : null, null);
|
parentContext.hasThisDescriptor() ? parentContext.getThisDescriptor() : null, null);
|
||||||
this.isInliningLambda = isInliningLambda;
|
this.isInliningLambda = isInliningLambda;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -581,12 +581,7 @@ public class JetTypeMapper {
|
|||||||
writeVoidReturn(sw);
|
writeVoidReturn(sw);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (f instanceof PropertyAccessorDescriptor) {
|
writeFormalTypeParameters(getDirectMember(f).getTypeParameters(), sw);
|
||||||
writeFormalTypeParameters(((PropertyAccessorDescriptor) f).getCorrespondingProperty().getTypeParameters(), sw);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
writeFormalTypeParameters(f.getTypeParameters(), sw);
|
|
||||||
}
|
|
||||||
|
|
||||||
sw.writeParametersStart();
|
sw.writeParametersStart();
|
||||||
writeThisIfNeeded(f, kind, sw);
|
writeThisIfNeeded(f, kind, sw);
|
||||||
|
|||||||
Reference in New Issue
Block a user