From b2a4d34cd7eb5a89b59c1561f5b091107499f3ef Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Tue, 30 Dec 2014 16:38:21 +0300 Subject: [PATCH] remove duplicate reference for url --- .../intellij/openapi/paths/WebReference.java | 46 ++++++++++----- .../intellij/psi/impl/UrlPsiReference.java | 59 ------------------- .../dom/converters/MavenUrlConverter.java | 4 +- .../MavenRepositoryConverter.java | 5 +- .../xml/util/XmlReferenceContributor.java | 4 +- 5 files changed, 36 insertions(+), 82 deletions(-) delete mode 100644 platform/platform-impl/src/com/intellij/psi/impl/UrlPsiReference.java diff --git a/platform/lang-impl/src/com/intellij/openapi/paths/WebReference.java b/platform/lang-impl/src/com/intellij/openapi/paths/WebReference.java index 74e80f046aa4..77b076938efc 100644 --- a/platform/lang-impl/src/com/intellij/openapi/paths/WebReference.java +++ b/platform/lang-impl/src/com/intellij/openapi/paths/WebReference.java @@ -26,6 +26,10 @@ import org.jetbrains.annotations.NotNull; * @author Eugene.Kudelevsky */ public class WebReference extends PsiReferenceBase { + public WebReference(@NotNull PsiElement element) { + super(element, true); + } + public WebReference(@NotNull PsiElement element, @NotNull TextRange textRange) { super(element, textRange, true); } @@ -35,6 +39,10 @@ public class WebReference extends PsiReferenceBase { return new MyFakePsiElement(); } + protected String getUrl() { + return getValue(); + } + @NotNull @Override public Object[] getVariants() { @@ -43,25 +51,31 @@ public class WebReference extends PsiReferenceBase { class MyFakePsiElement extends FakePsiElement { @Override - public PsiElement getParent() { - return myElement; - } - - @Override - public void navigate(boolean requestFocus) { - BrowserUtil.browse(getValue()); + public PsiElement getParent() { + return myElement; } @Override - public String getPresentableText() { - return getValue(); - } + public void navigate(boolean requestFocus) { + BrowserUtil.browse(getUrl()); + } - @Override - public TextRange getTextRange() { - final TextRange rangeInElement = getRangeInElement(); - final TextRange elementRange = myElement.getTextRange(); - return elementRange != null ? rangeInElement.shiftRight(elementRange.getStartOffset()) : rangeInElement; - } + @Override + public String getPresentableText() { + return getUrl(); + } + + + @Override + public String getName() { + return getUrl(); + } + + @Override + public TextRange getTextRange() { + final TextRange rangeInElement = getRangeInElement(); + final TextRange elementRange = myElement.getTextRange(); + return elementRange != null ? rangeInElement.shiftRight(elementRange.getStartOffset()) : rangeInElement; + } } } diff --git a/platform/platform-impl/src/com/intellij/psi/impl/UrlPsiReference.java b/platform/platform-impl/src/com/intellij/psi/impl/UrlPsiReference.java deleted file mode 100644 index cfecf57b8c85..000000000000 --- a/platform/platform-impl/src/com/intellij/psi/impl/UrlPsiReference.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2000-2009 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 com.intellij.psi.impl; - -import com.intellij.ide.BrowserUtil; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiReferenceBase; -import org.jetbrains.annotations.NotNull; - -public class UrlPsiReference extends PsiReferenceBase { - public UrlPsiReference(PsiElement element) { - super(element); - } - - protected String getUrl() { - return getValue(); - } - - public PsiElement resolve() { - return new FakePsiElement() { - public PsiElement getParent() { - return getElement(); - } - - @Override - public String getName() { - return getUrl(); - } - - @Override - public void navigate(boolean requestFocus) { - BrowserUtil.browse(getUrl()); - } - }; - } - - @NotNull - public Object[] getVariants() { - return EMPTY_ARRAY; - } - - @Override - public boolean isSoft() { - return true; - } -} \ No newline at end of file diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/MavenUrlConverter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/MavenUrlConverter.java index d7a4ca4bae4f..b0cdaff874a3 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/MavenUrlConverter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/MavenUrlConverter.java @@ -15,10 +15,10 @@ */ package org.jetbrains.idea.maven.dom.converters; +import com.intellij.openapi.paths.WebReference; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; -import com.intellij.psi.impl.UrlPsiReference; import com.intellij.util.xml.ConvertContext; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.Nullable; @@ -35,6 +35,6 @@ public class MavenUrlConverter extends MavenReferenceConverter { } protected PsiReference createReference(PsiElement element, String text, TextRange range) { - return new UrlPsiReference(element); + return new WebReference(element, range); } } \ No newline at end of file diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/repositories/MavenRepositoryConverter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/repositories/MavenRepositoryConverter.java index b85120a5f881..3223ba6125e6 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/repositories/MavenRepositoryConverter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/converters/repositories/MavenRepositoryConverter.java @@ -18,10 +18,10 @@ package org.jetbrains.idea.maven.dom.converters.repositories; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.openapi.module.Module; +import com.intellij.openapi.paths.WebReference; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; -import com.intellij.psi.impl.UrlPsiReference; import com.intellij.util.xml.ConvertContext; import com.intellij.util.xml.GenericDomValue; import com.intellij.util.xml.ResolvingConverter; @@ -76,8 +76,7 @@ public abstract class MavenRepositoryConverter extends ResolvingConverter