}
LocalDefinitionResolveProcessor processor = new LocalDefinitionResolveProcessor(myVariable);
PsiTreeUtil.treeWalkUp(processor, myVariable, myVariable.getContainingFile(), ResolveState.initial());
final PsiElement referringSymbol = processor.getMyReferringSymbol();
if (referringSymbol instanceof Symbol) {
myVariable.setReferringElement((Symbol) referringSymbol, processor.getMyLocalization(), processor.getMyLocalizationSymbol());
return referringSymbol;
}
GlobalDefinitionResolveProcessor globalProcessor = new GlobalDefinitionResolveProcessor(myVariable);
PsiTreeUtil.processElements(myVariable.getContainingFile(), globalProcessor);
final PsiElement globalDefinition = globalProcessor.getMyReferringSymbol();
if (globalDefinition instanceof Symbol) {
myVariable.setReferringElement((Symbol) globalDefinition, LocalizationConstruct.ConstructType.NULL, null);
return globalDefinition;
}
return null;