Escaping of keyword names in completion (more tests to be added)
This commit is contained in:
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
|
||||
public final class ImportPath {
|
||||
private final @NotNull FqName fqName;
|
||||
@@ -50,7 +51,7 @@ public final class ImportPath {
|
||||
}
|
||||
|
||||
public String getPathStr() {
|
||||
return fqName.asString() + (isAllUnder ? ".*" : "");
|
||||
return DescriptorRenderer.SOURCE_CODE.renderFqName(fqName) + (isAllUnder ? ".*" : "");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,9 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameBase;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.TypeProjection;
|
||||
|
||||
@@ -110,6 +113,12 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
||||
@NotNull
|
||||
String renderFunctionParameters(@NotNull FunctionDescriptor functionDescriptor);
|
||||
|
||||
@NotNull
|
||||
String renderName(@NotNull Name name);
|
||||
|
||||
@NotNull
|
||||
String renderFqName(@NotNull FqNameBase fqName);
|
||||
|
||||
enum TextFormat {
|
||||
PLAIN, HTML
|
||||
}
|
||||
|
||||
@@ -198,8 +198,9 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
/* NAMES RENDERING */
|
||||
@Override
|
||||
@NotNull
|
||||
private String renderName(@NotNull Name identifier) {
|
||||
public String renderName(@NotNull Name identifier) {
|
||||
String asString = identifier.toString();
|
||||
return escape(KeywordStringsGenerated.KEYWORDS.contains(asString) ? '`' + asString + '`' : asString);
|
||||
}
|
||||
@@ -219,8 +220,9 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
private String renderFqName(@NotNull FqNameBase fqName) {
|
||||
public String renderFqName(@NotNull FqNameBase fqName) {
|
||||
return renderFqName(fqName.pathSegments());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user