From 3a6fa81b8247fad8e835ebc5b097a54f6aeae3bf Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Wed, 11 Nov 2015 19:46:35 +0300 Subject: [PATCH] CacheValue psi leak fixed You can not capture any psi value (the one stored in context) in CachedValueProvider. Parameter should be used. --- .../python/psi/types/TypeEvalContext.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/python/psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java b/python/psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java index 1cfc3aced28e..469068599eac 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java +++ b/python/psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java @@ -259,4 +259,19 @@ public class TypeEvalContext { TypeEvalConstraints getConstraints() { return myConstraints; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TypeEvalContext context = (TypeEvalContext)o; + + return myConstraints.equals(context.myConstraints); + } + + @Override + public int hashCode() { + return myConstraints.hashCode(); + } }