avoid creating many custom PyClassType subclasses, use PyClassType userdata instead

This commit is contained in:
Dmitry Jemerov
2010-11-18 16:06:00 +03:00
parent 80070b3046
commit 521ce29bdf
@@ -6,6 +6,7 @@ import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.UserDataHolderBase;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.util.ArrayUtil;
@@ -31,7 +32,7 @@ import java.util.*;
/**
* @author yole
*/
public class PyClassType implements PyType {
public class PyClassType extends UserDataHolderBase implements PyType {
protected final PyClass myClass;
protected final boolean myIsDefinition;
@@ -62,6 +63,11 @@ public class PyClassType implements PyType {
myIsDefinition = isDefinition;
}
public <T> PyClassType withUserData(Key<T> key, T value) {
putUserData(key, value);
return this;
}
/**
* @return a PyClass which defined this type.
*/