Drop SynthesizedCallableMemberDescriptor

This commit is contained in:
Pavel V. Talanov
2014-07-09 12:57:52 +04:00
parent d988256831
commit 8b91855fac
7 changed files with 9 additions and 46 deletions
@@ -27,7 +27,7 @@ public class SamCodegenUtil {
public static FunctionDescriptor getOriginalIfSamAdapter(@NotNull FunctionDescriptor fun) {
FunctionDescriptor original = fun.getOriginal();
if (original instanceof SamAdapterDescriptor<?>) {
return ((SamAdapterDescriptor<?>) original).getBaseForSynthesized();
return ((SamAdapterDescriptor<?>) original).getOriginForSam();
}
if (original.getKind() == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) {
@@ -16,9 +16,10 @@
package org.jetbrains.jet.lang.resolve.java.descriptor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.SynthesizedCallableMemberDescriptor;
public interface SamAdapterDescriptor<D extends FunctionDescriptor>
extends FunctionDescriptor, JavaCallableMemberDescriptor, SynthesizedCallableMemberDescriptor<D> {
public interface SamAdapterDescriptor<D extends FunctionDescriptor> extends FunctionDescriptor, JavaCallableMemberDescriptor {
@NotNull
D getOriginForSam();
}
@@ -18,13 +18,9 @@ package org.jetbrains.jet.lang.resolve.java.descriptor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.ClassOrPackageFragmentDescriptor;
import org.jetbrains.jet.lang.descriptors.SourceElement;
import org.jetbrains.jet.lang.descriptors.SynthesizedCallableMemberDescriptor;
import org.jetbrains.jet.lang.descriptors.impl.SimpleFunctionDescriptorImpl;
public class SamConstructorDescriptor extends SimpleFunctionDescriptorImpl
implements SynthesizedCallableMemberDescriptor<JavaClassDescriptor> {
private final JavaClassDescriptor samInterface;
public class SamConstructorDescriptor extends SimpleFunctionDescriptorImpl {
public SamConstructorDescriptor(
@NotNull ClassOrPackageFragmentDescriptor containingDeclaration,
@@ -32,12 +28,5 @@ public class SamConstructorDescriptor extends SimpleFunctionDescriptorImpl
) {
super(containingDeclaration, null, samInterface.getAnnotations(), samInterface.getName(),
Kind.SYNTHESIZED, samInterface.getSource());
this.samInterface = samInterface;
}
@NotNull
@Override
public JavaClassDescriptor getBaseForSynthesized() {
return samInterface;
}
}
@@ -17,7 +17,6 @@
package org.jetbrains.jet.lang.resolve.java.sam;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.SourceElement;
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaConstructorDescriptor;
import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor;
@@ -34,7 +33,7 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor;
@NotNull
@Override
public JavaConstructorDescriptor getBaseForSynthesized() {
public JavaConstructorDescriptor getOriginForSam() {
return declaration;
}
}
@@ -17,7 +17,6 @@
package org.jetbrains.jet.lang.resolve.java.sam;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.SourceElement;
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaMethodDescriptor;
import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor;
@@ -34,7 +33,7 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.SamAdapterDescriptor;
@NotNull
@Override
public JavaMethodDescriptor getBaseForSynthesized() {
public JavaMethodDescriptor getOriginForSam() {
return declaration;
}
}
@@ -84,7 +84,7 @@ public class SamAdapterOverridabilityCondition implements ExternalOverridability
return null;
}
SimpleFunctionDescriptor originalDeclarationOfSam = ((SamAdapterFunctionDescriptor) fun).getBaseForSynthesized();
SimpleFunctionDescriptor originalDeclarationOfSam = ((SamAdapterFunctionDescriptor) fun).getOriginForSam();
return ((SimpleFunctionDescriptor) originalDeclarationOfSam.substitute(TypeSubstitutor.create(declarationOrSynthesized.ownerType)));
}
@@ -1,25 +0,0 @@
/*
* Copyright 2010-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jet.lang.descriptors;
import org.jetbrains.annotations.NotNull;
//TODO: drop
public interface SynthesizedCallableMemberDescriptor<D extends DeclarationDescriptor> extends CallableMemberDescriptor {
@NotNull
D getBaseForSynthesized();
}