Extracted "preserve original" flag.

This commit is contained in:
Evgeny Gerashchenko
2014-03-25 19:05:55 +04:00
parent 1aaea21f63
commit 48f8aa279b
9 changed files with 82 additions and 22 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.jet.descriptors.serialization.Flags;
import org.jetbrains.jet.descriptors.serialization.NameResolver;
import org.jetbrains.jet.descriptors.serialization.ProtoBuf;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.annotations.Annotations;
import org.jetbrains.jet.lang.descriptors.impl.FunctionDescriptorImpl;
@@ -47,11 +48,16 @@ public class DeserializedSimpleFunctionDescriptor extends SimpleFunctionDescript
this.nameResolver = nameResolver;
}
@NotNull
@Override
protected FunctionDescriptorImpl createSubstitutedCopy(DeclarationDescriptor newOwner, boolean preserveOriginal, Kind kind) {
protected FunctionDescriptorImpl createSubstitutedCopy(
@NotNull DeclarationDescriptor newOwner,
@Nullable FunctionDescriptor original,
@NotNull Kind kind
) {
return new DeserializedSimpleFunctionDescriptor(
newOwner,
preserveOriginal ? getOriginal() : null,
(DeserializedSimpleFunctionDescriptor) original,
getAnnotations(),
getName(),
kind,