mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PsiUtilBase.originalElement => CompletionUtil.originalElement
This commit is contained in:
@@ -229,7 +229,11 @@ public class CompletionUtil {
|
||||
|
||||
@Nullable
|
||||
private static Integer translateOffset(int offset, DocumentEvent event) {
|
||||
if (event.getOffset() < offset && offset < event.getNewLength()) {
|
||||
if (event.getOffset() < offset && offset < event.getOffset() + event.getNewLength()) {
|
||||
if (event.getOldLength() == 0) {
|
||||
return event.getOffset();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -255,24 +259,24 @@ public class CompletionUtil {
|
||||
public static <T extends PsiElement> T getOriginalElement(@NotNull T psi) {
|
||||
final PsiFile file = psi.getContainingFile();
|
||||
if (file != null && file != file.getOriginalFile()) {
|
||||
TextRange range = psi.getTextRange();
|
||||
Integer start = range.getStartOffset();
|
||||
Integer end = range.getEndOffset();
|
||||
final Document document = file.getViewProvider().getDocument();
|
||||
if (document != null) {
|
||||
final List<DocumentEvent> translator = document.getUserData(RANGE_TRANSLATION);
|
||||
if (translator != null) {
|
||||
TextRange range = psi.getTextRange();
|
||||
Integer start = range.getStartOffset();
|
||||
Integer end = range.getEndOffset();
|
||||
for (DocumentEvent event : translator) {
|
||||
start = translateOffset(range.getStartOffset(), event);
|
||||
end = translateOffset(range.getEndOffset(), event);
|
||||
start = translateOffset(start, event);
|
||||
end = translateOffset(end, event);
|
||||
if (start == null || end == null) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return (T)PsiTreeUtil.findElementOfClassAtRange(file.getOriginalFile(), start, end, psi.getClass());
|
||||
}
|
||||
}
|
||||
//noinspection unchecked
|
||||
return (T)PsiTreeUtil.findElementOfClassAtRange(file.getOriginalFile(), start, end, psi.getClass());
|
||||
}
|
||||
|
||||
return psi;
|
||||
|
||||
+2
-2
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.intellij.plugins.intelliLang.inject;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionUtil;
|
||||
import com.intellij.lang.injection.MultiHostInjector;
|
||||
import com.intellij.lang.injection.MultiHostRegistrar;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -24,7 +25,6 @@ import com.intellij.psi.ElementManipulator;
|
||||
import com.intellij.psi.ElementManipulators;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiLanguageInjectionHost;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -50,7 +50,7 @@ public class TemporaryPlacesInjector implements MultiHostInjector {
|
||||
|
||||
public void getLanguagesToInject(@NotNull final MultiHostRegistrar registrar, @NotNull final PsiElement context) {
|
||||
final PsiLanguageInjectionHost host = (PsiLanguageInjectionHost)context;
|
||||
final PsiLanguageInjectionHost originalHost = PsiUtilBase.getOriginalElement(host, host.getClass());
|
||||
final PsiLanguageInjectionHost originalHost = CompletionUtil.getOriginalElement(host);
|
||||
final List<TemporaryPlacesRegistry.TemporaryPlace> list = myRegistry.getTempInjectionsSafe(originalHost);
|
||||
if (list.isEmpty()) return;
|
||||
final ElementManipulator<PsiLanguageInjectionHost> manipulator = ElementManipulators.getManipulator(host);
|
||||
|
||||
+2
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.psi.impl.source.resolve.reference.impl.providers;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionUtil;
|
||||
import com.intellij.codeInsight.daemon.EmptyResolveMessageProvider;
|
||||
import com.intellij.codeInspection.LocalQuickFix;
|
||||
import com.intellij.codeInspection.LocalQuickFixProvider;
|
||||
@@ -27,7 +28,6 @@ import com.intellij.psi.impl.source.xml.XmlEntityRefImpl;
|
||||
import com.intellij.psi.meta.PsiMetaData;
|
||||
import com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.psi.xml.*;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
@@ -147,7 +147,7 @@ public class DtdReferencesProvider extends PsiReferenceProvider {
|
||||
@Nullable
|
||||
private static XmlNSDescriptor getNsDescriptor(XmlElement element) {
|
||||
final XmlElement parentThatProvidesMetaData = PsiTreeUtil.getParentOfType(
|
||||
PsiUtilBase.getOriginalElement(element, element.getClass()),
|
||||
CompletionUtil.getOriginalElement(element),
|
||||
XmlDocument.class,
|
||||
XmlMarkupDecl.class
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user