private boolean processActionScriptNotAllowedNsAttributes( @NotNull PsiElement element, @NotNull SinkResolveProcessor resolveProcessor, @Nullable JSAttributeList attributeList) { if (!resolveProcessor.getResultSink().isActionScript()) return false; String attributeNs = attributeList != null ? attributeList.getNamespace() : null; if (attributeNs != null) { if (!resolveProcessor.isProcessingFromIndices()) { String resolvedNs = attributeList.resolveNamespaceValue(); if (resolvedNs == null && !resolveProcessor.getResultSink().isActionScript()) { resolvedNs = attributeNs; // AS3 } attributeNs = resolvedNs; } else { attributeNs = null; // do not care about namespaces during indices built because it needs interfile // resolve } } if (openedNses == null && attributeNs != null) { if (!anyNsAllowed && place instanceof JSReferenceExpression && !JSResolveUtil.isExprInTypeContext((JSReferenceExpression) place)) { openedNses = JSResolveUtil.calculateOpenNses(place); } } if (openedNses != null && !openedNses.containsKey(attributeNs) && !AS3_NAMESPACE_VALUE.equals(attributeNs) && !ResolveProcessor.AS3_NAMESPACE.equals( attributeNs) // AS3 is opened by default from compiler settings and for JavaScript // symbols ) { if (attributeNs != null || defaultNsIsNotAllowed) { resolveProcessor.addPossibleCandidateResult( element, JSResolveResult.MEMBER_FROM_UNOPENED_NAMESPACE); return true; } } return false; }