Support for import aliases in code completion

#KT-8848 Fixed
This commit is contained in:
Valentin Kipyatkov
2017-07-28 17:37:56 +03:00
parent 48246e5f34
commit 9361cd895c
44 changed files with 429 additions and 76 deletions
@@ -74,10 +74,11 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
@NotNull Modality newModality,
@NotNull Visibility newVisibility,
@Nullable PropertyDescriptor original,
@NotNull Kind kind
@NotNull Kind kind,
@NotNull Name newName
) {
return new JavaPropertyDescriptor(
newOwner, getAnnotations(), newModality, newVisibility, isVar(), getName(), SourceElement.NO_SOURCE, original,
newOwner, getAnnotations(), newModality, newVisibility, isVar(), newName, SourceElement.NO_SOURCE, original,
kind, isStaticFinal
);
}
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.descriptors;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.types.TypeSubstitution;
import java.util.Collection;
@@ -83,6 +84,12 @@ public interface CallableMemberDescriptor extends CallableDescriptor, MemberDesc
@NotNull
CopyBuilder<D> setCopyOverrides(boolean copyOverrides);
@NotNull
CopyBuilder<D> setName(@NotNull Name name);
@NotNull
CopyBuilder<D> setOriginal(@Nullable CallableMemberDescriptor original);
@Nullable
D build();
}
@@ -110,6 +110,7 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
@Override
CopyBuilder<D> setCopyOverrides(boolean copyOverrides);
@Override
@NotNull
CopyBuilder<D> setName(@NotNull Name name);
@@ -131,7 +132,8 @@ public interface FunctionDescriptor extends CallableMemberDescriptor {
CopyBuilder<D> setDispatchReceiverParameter(@Nullable ReceiverParameterDescriptor dispatchReceiverParameter);
@NotNull
CopyBuilder<D> setOriginal(@Nullable FunctionDescriptor original);
@Override
CopyBuilder<D> setOriginal(@Nullable CallableMemberDescriptor original);
@NotNull
CopyBuilder<D> setSignatureChange();
@@ -474,8 +474,8 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
@Override
@NotNull
public CopyConfiguration setOriginal(@Nullable FunctionDescriptor original) {
this.original = original;
public CopyConfiguration setOriginal(@Nullable CallableMemberDescriptor original) {
this.original = (FunctionDescriptor) original;
return this;
}
@@ -251,6 +251,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
private boolean copyOverrides = true;
private ReceiverParameterDescriptor dispatchReceiverParameter = PropertyDescriptorImpl.this.dispatchReceiverParameter;
private List<TypeParameterDescriptor> newTypeParameters = null;
private Name name = getName();
@NotNull
@Override
@@ -260,8 +261,9 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
}
@NotNull
public CopyConfiguration setOriginal(@Nullable PropertyDescriptor original) {
this.original = original;
@Override
public CopyConfiguration setOriginal(@Nullable CallableMemberDescriptor original) {
this.original = (PropertyDescriptor) original;
return this;
}
@@ -314,6 +316,13 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
return this;
}
@NotNull
@Override
public CopyBuilder<PropertyDescriptor> setName(@NotNull Name name) {
this.name = name;
return this;
}
@Nullable
@Override
public PropertyDescriptor build() {
@@ -331,7 +340,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
protected PropertyDescriptor doSubstitute(@NotNull CopyConfiguration copyConfiguration) {
PropertyDescriptorImpl substitutedDescriptor = createSubstitutedCopy(
copyConfiguration.owner, copyConfiguration.modality, copyConfiguration.visibility,
copyConfiguration.original, copyConfiguration.kind);
copyConfiguration.original, copyConfiguration.kind, copyConfiguration.name);
List<TypeParameterDescriptor> originalTypeParameters =
copyConfiguration.newTypeParameters == null ? getTypeParameters() : copyConfiguration.newTypeParameters;
@@ -444,10 +453,11 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp
@NotNull Modality newModality,
@NotNull Visibility newVisibility,
@Nullable PropertyDescriptor original,
@NotNull Kind kind
@NotNull Kind kind,
@NotNull Name newName
) {
return new PropertyDescriptorImpl(
newOwner, original, getAnnotations(), newModality, newVisibility, isVar(), getName(), kind, SourceElement.NO_SOURCE,
newOwner, original, getAnnotations(), newModality, newVisibility, isVar(), newName, kind, SourceElement.NO_SOURCE,
isLateInit(), isConst(), isHeader(), isImpl(), isExternal(), isDelegated()
);
}
@@ -146,7 +146,7 @@ public class ErrorSimpleFunctionDescriptorImpl extends SimpleFunctionDescriptorI
@NotNull
@Override
public CopyBuilder<SimpleFunctionDescriptor> setOriginal(@Nullable FunctionDescriptor original) {
public CopyBuilder<SimpleFunctionDescriptor> setOriginal(@Nullable CallableMemberDescriptor original) {
return this;
}
@@ -16,6 +16,8 @@
package org.jetbrains.kotlin.serialization.deserialization.descriptors
import org.jetbrains.annotations.NotNull
import org.jetbrains.annotations.Nullable
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.impl.*
@@ -119,10 +121,11 @@ class DeserializedPropertyDescriptor(
newModality: Modality,
newVisibility: Visibility,
original: PropertyDescriptor?,
kind: CallableMemberDescriptor.Kind
kind: CallableMemberDescriptor.Kind,
newName: Name
): PropertyDescriptorImpl {
return DeserializedPropertyDescriptor(
newOwner, original, annotations, newModality, newVisibility, isVar, name, kind, isLateInit, isConst, isExternal,
newOwner, original, annotations, newModality, newVisibility, isVar, newName, kind, isLateInit, isConst, isExternal,
@Suppress("DEPRECATION") isDelegated, isHeader, proto, nameResolver, typeTable, sinceKotlinInfoTable, containerSource
)
}