Do not load Icon in LightVariableBuilder constructor

This commit is contained in:
Pavel V. Talanov
2014-05-28 18:48:40 +04:00
committed by Nikolay Krasko
parent 073dcd024c
commit 7973c9bfca
2 changed files with 5 additions and 38 deletions
@@ -21,7 +21,7 @@ import com.intellij.psi.*;
import org.jetbrains.annotations.NotNull;
// Based on com.intellij.psi.impl.light.LightParameter
public class LightParameter extends LightVariableBuilder<LightVariableBuilder> implements PsiParameter {
public class LightParameter extends LightVariableBuilder implements PsiParameter {
public static final LightParameter[] EMPTY_ARRAY = new LightParameter[0];
private final String myName;
@@ -17,7 +17,6 @@
package org.jetbrains.jet.asJava.light;
import com.intellij.lang.Language;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.navigation.NavigationItem;
import com.intellij.psi.*;
import com.intellij.psi.impl.ElementPresentationUtil;
@@ -28,26 +27,14 @@ import com.intellij.util.IncorrectOperationException;
import com.intellij.util.PlatformIcons;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
// Based on com.intellij.psi.impl.light.LightVariableBuilder
public class LightVariableBuilder<T extends LightVariableBuilder> extends LightElement implements PsiVariable, NavigationItem {
public class LightVariableBuilder extends LightElement implements PsiVariable, NavigationItem {
private final String myName;
private final PsiType myType;
private volatile LightModifierList myModifierList;
private volatile Icon myBaseIcon = PlatformIcons.VARIABLE_ICON;
private String myOriginInfo;
public LightVariableBuilder(@NotNull String name, @NotNull String type, @NotNull PsiElement navigationElement) {
this(name, JavaPsiFacade.getElementFactory(navigationElement.getProject()).createTypeFromText(type, navigationElement), navigationElement);
}
public LightVariableBuilder(@NotNull String name, @NotNull PsiType type, @NotNull PsiElement navigationElement) {
this(navigationElement.getManager(), name, type, JavaLanguage.INSTANCE);
setNavigationElement(navigationElement);
}
private final LightModifierList myModifierList;
public LightVariableBuilder(PsiManager manager, @NotNull String name, @NotNull PsiType type, Language language) {
super(manager, language);
@@ -73,11 +60,6 @@ public class LightVariableBuilder<T extends LightVariableBuilder> extends LightE
return myModifierList;
}
public T setModifiers(String... modifiers) {
myModifierList = new LightModifierList(getManager(), getLanguage(), modifiers);
return (T)this;
}
@Override
public boolean hasModifierProperty(@NonNls @NotNull String name) {
return myModifierList.hasModifierProperty(name);
@@ -129,23 +111,8 @@ public class LightVariableBuilder<T extends LightVariableBuilder> extends LightE
}
@Override
public Icon getElementIcon(final int flags) {
final RowIcon baseIcon = ElementPresentationUtil.createLayeredIcon(myBaseIcon, this, false);
public Icon getElementIcon(int flags) {
RowIcon baseIcon = ElementPresentationUtil.createLayeredIcon(PlatformIcons.VARIABLE_ICON, this, false);
return ElementPresentationUtil.addVisibilityIcon(this, flags, baseIcon);
}
public T setBaseIcon(Icon baseIcon) {
myBaseIcon = baseIcon;
return (T)this;
}
//@Nullable
//@Override
//public String getOriginInfo() {
// return myOriginInfo;
//}
public void setOriginInfo(@Nullable String originInfo) {
myOriginInfo = originInfo;
}
}