/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.usages; import com.google.common.base.Objects; import com.intellij.psi.PsiNamedElement; import com.intellij.psi.targets.AliasingPsiTarget; import org.jetbrains.annotations.NotNull; public class GosuAliasingPsiTarget extends AliasingPsiTarget { private String name; public GosuAliasingPsiTarget(@NotNull PsiNamedElement target) { super(target); } @NotNull @Override public AliasingPsiTarget setName(@NotNull String newName) { name = newName; return this; } @NotNull @Override public String getName() { return name; } @Override public boolean equals(@NotNull Object o) { if (o instanceof GosuAliasingPsiTarget) { return super.equals(o) && Objects.equal(name, ((GosuAliasingPsiTarget) o).name); } return false; } @Override public int hashCode() { return Objects.hashCode(super.hashCode(), name); } }