don't walk dom hierarchy just to determine project

This commit is contained in:
peter
2016-01-28 18:08:41 +01:00
parent 0f1adf0d7c
commit 4149489ce9
4 changed files with 7 additions and 30 deletions
@@ -18,11 +18,10 @@ package com.intellij.util.xml.ui;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.project.Project;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiManager;
import com.intellij.psi.PsiType;
import com.intellij.ui.EditorTextField;
import com.intellij.ui.ReferenceEditorWithBrowseButton;
import com.intellij.ui.JavaReferenceEditorUtil;
import com.intellij.ui.ReferenceEditorWithBrowseButton;
import com.intellij.util.Function;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.xml.AbstractConvertContext;
@@ -49,25 +48,17 @@ public class PsiTypeControl extends EditorTextFieldControl<PsiTypePanel> {
return s;
}
}
catch (IncorrectOperationException e) {
catch (IncorrectOperationException ignored) {
}
return rawValue;
}
private PsiManager getPsiManager() {
return PsiManager.getInstance(getProject());
}
protected void setValue(String value) {
final PsiType type = JvmPsiTypeConverterImpl.convertFromString(value, new AbstractConvertContext() {
@NotNull
public DomElement getInvocationElement() {
return getDomElement();
}
public PsiManager getPsiManager() {
return PsiTypeControl.this.getPsiManager();
}
});
if (type != null) {
value = type.getCanonicalText();
@@ -15,10 +15,9 @@
*/
package com.intellij.util.xml.impl;
import com.intellij.psi.PsiManager;
import com.intellij.openapi.module.Module;
import com.intellij.util.xml.AbstractConvertContext;
import com.intellij.util.xml.DomElement;
import com.intellij.openapi.module.Module;
import org.jetbrains.annotations.NotNull;
/**
@@ -31,21 +30,12 @@ public class ConvertContextImpl extends AbstractConvertContext {
myHandler = handler;
}
public ConvertContextImpl(DomElement element) {
this(DomManagerImpl.getDomInvocationHandler(element));
}
@Override
@NotNull
public DomElement getInvocationElement() {
return myHandler.getProxy();
}
@Override
public PsiManager getPsiManager() {
return myHandler.getFile().getManager();
}
@Override
public Module getModule() {
final DomElement domElement = getInvocationElement();
@@ -21,7 +21,6 @@ import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.xml.XmlElement;
import com.intellij.psi.xml.XmlFile;
@@ -61,11 +60,6 @@ public abstract class AbstractConvertContext extends ConvertContext {
return fileElement.isValid() ? fileElement.getRootElement().getModule() : null;
}
@Override
public PsiManager getPsiManager() {
return getFile().getManager();
}
@Override
@Nullable
public GlobalSearchScope getSearchScope() {
@@ -61,9 +61,11 @@ public abstract class ConvertContext {
@Nullable
public abstract GlobalSearchScope getSearchScope();
public abstract PsiManager getPsiManager();
public PsiManager getPsiManager() {
return PsiManager.getInstance(getProject());
}
public Project getProject() {
return getPsiManager().getProject();
return getInvocationElement().getManager().getProject();
}
}