in flex/src/com/intellij/javascript/flex/ActionScriptPsiExtensionsImpl.java [128:193]
public boolean execute(@NotNull PsiElement element, @NotNull ResolveState state) {
if (element == myDecl) return true;
if (element instanceof JSFunction elementFunction && myDecl instanceof JSFunction declFunction) {
if ((declFunction.isGetProperty() && elementFunction.isSetProperty()) ||
(declFunction.isSetProperty() && elementFunction.isGetProperty())) {
return true;
}
}
else if (element instanceof JSProperty elementProperty && myDecl instanceof JSProperty declProperty) {
if ((declProperty.isGetProperty() && elementProperty.isSetProperty()) ||
(declProperty.isSetProperty() && elementProperty.isGetProperty())) {
return true;
}
}
if (element instanceof JSFunction && myDecl instanceof JSClass && element.getParent() == myDecl) {
return true;
}
if (isScopeNamedElement(element) && isScopeNamedElement(myDecl)) {
JSAttributeList attrList = element instanceof JSAttributeListOwner ? ((JSAttributeListOwner)element).getAttributeList() : null;
JSAttributeList attrList2 = myDecl instanceof JSAttributeListOwner ? ((JSAttributeListOwner)myDecl).getAttributeList() : null;
if (attrList != null && attrList2 != null) {
final String ns = ActionScriptPsiImplUtil.getNamespaceValue(attrList);
final String ns2 = ActionScriptPsiImplUtil.getNamespaceValue(attrList2);
if ((ns != null && !ns.equals(ns2)) || ns2 != null && !ns2.equals(ns)) {
return true;
}
JSConditionalCompileVariableReference conditionalCompileVar =
ActionScriptPsiImplUtil.getConditionalCompileVariableReference(attrList);
JSConditionalCompileVariableReference conditionalCompileVar2 =
ActionScriptPsiImplUtil.getConditionalCompileVariableReference(attrList2);
if (conditionalCompileVar != null && conditionalCompileVar2 != null) {
JSReferenceExpression expression = conditionalCompileVar.getExpression();
JSReferenceExpression expression2 = conditionalCompileVar2.getExpression();
if (expression != null && expression2 != null) {
if (!expression.getText().equals(expression2.getText())) return true;
}
}
}
else if (attrList != null && ActionScriptPsiImplUtil.getNamespace(attrList) != null ||
attrList2 != null && ActionScriptPsiImplUtil.getNamespace(attrList2) != null) {
return true;
}
final boolean notStatic2 = attrList2 == null || !attrList2.hasModifier(JSAttributeList.ModifierType.STATIC);
final boolean notStatic = attrList == null || !attrList.hasModifier(JSAttributeList.ModifierType.STATIC);
if ((notStatic2 && !notStatic) || (notStatic && !notStatic2)) {
return true;
}
}
if (element instanceof ImplicitJSVariableImpl || element instanceof JSImplicitElement) {
return true;
}
if (element instanceof JSDefinitionExpression) return true;
return super.execute(element, state);
}