From 521ce29bdf85d0f74e619dca062722d8dee1af29 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 18 Nov 2010 16:06:00 +0300 Subject: [PATCH] avoid creating many custom PyClassType subclasses, use PyClassType userdata instead --- .../src/com/jetbrains/python/psi/types/PyClassType.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/psi/types/PyClassType.java b/python/src/com/jetbrains/python/psi/types/PyClassType.java index a181860a4db2..a5139b1b06e4 100644 --- a/python/src/com/jetbrains/python/psi/types/PyClassType.java +++ b/python/src/com/jetbrains/python/psi/types/PyClassType.java @@ -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 PyClassType withUserData(Key key, T value) { + putUserData(key, value); + return this; + } + /** * @return a PyClass which defined this type. */