Equals for JetLightClass

This commit is contained in:
Nikolay Krasko
2012-08-07 21:31:05 +04:00
parent b1fa44aa4d
commit 8d6b16eb23
@@ -46,7 +46,9 @@ import org.jetbrains.jet.lang.psi.JetClass;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetFunction;
import org.jetbrains.jet.lang.psi.JetPsiUtil;
import org.jetbrains.jet.lang.resolve.java.*;
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
import org.jetbrains.jet.lang.resolve.java.JetFilesProvider;
import org.jetbrains.jet.lang.resolve.java.JetJavaMirrorMarker;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.JetLanguage;
import org.jetbrains.jet.util.QualifiedNamesUtil;
@@ -236,6 +238,30 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa
}
}
@Override
public int hashCode() {
int result = getManager().hashCode();
result = 31 * result + file.hashCode();
result = 31 * result + qualifiedName.hashCode();
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) {
return false;
}
JetLightClass lightClass = (JetLightClass) obj;
if (getManager() != lightClass.getManager()) return false;
if (!file.equals(lightClass.file)) return false;
if (!qualifiedName.equals(lightClass.qualifiedName)) return false;
return true;
}
public static JetLightClass wrapDelegate(JetClass jetClass) {
return new JetLightClass(jetClass.getManager(), (JetFile) jetClass.getContainingFile(), JetPsiUtil.getFQName(jetClass));
}