This commit is contained in:
Eugene Kudelevsky
2012-08-01 17:52:24 +04:00
parent ee65102391
commit 141f79c438
@@ -194,22 +194,48 @@ public class AndroidResourceReference extends PsiReferenceBase.Poly<XmlElement>
final PsiFile psiFile = element.getContainingFile();
final VirtualFile vFile = psiFile != null ? psiFile.getVirtualFile() : null;
boolean log = element instanceof XmlAttributeValue || element instanceof LazyValueResourceElementWrapper;
for (ResolveResult result : results) {
final PsiElement target = result.getElement();
if (log) {
System.out.println("resolved to " + target);
}
if (element.getManager().areElementsEquivalent(target, element)) {
if (log) {
System.out.println("equivalent");
}
return true;
}
else if (log) {
System.out.println("non-equivalent");
}
if (target instanceof LazyValueResourceElementWrapper && vFile != null) {
final ValueResourceInfo info = ((LazyValueResourceElementWrapper)target).getResourceInfo();
if (log) {
System.out.println("lazy computed to " + info);
}
if (info.getContainingFile().equals(vFile)) {
final XmlAttributeValue realTarget = info.computeXmlElement();
if (log) {
System.out.println("computed element " + element + "; text: " + element.getText());
}
if (element.getManager().areElementsEquivalent(realTarget, element)) {
if (log) {
System.out.println("equivalent");
}
return true;
}
else if (log) {
System.out.println("non-equivalent");
}
}
}
}