override fun getContextVariables()

in src/com/intellij/idea/plugin/hybris/spring/context/CngSpringELContextsExtension.kt [47:70]


    override fun getContextVariables(spelFile: PsiElement): MutableCollection<out PsiVariable> {
        if (Plugin.JAVAEE_EL.isDisabled()) return mutableListOf()

        val context = spelFile.context ?: return mutableListOf()
        val project = spelFile.project

        val tag = context.parentOfType<XmlTag>() ?: return mutableListOf()

        return when {
            context is XmlText
                && (tag.localName == Labels.LABEL || tag.localName == Labels.DESCRIPTION || tag.localName == Labels.SHORT_LABEL)
                && tag.namespace == NAMESPACE_COCKPIT_NG_CONFIG_HYBRIS -> process(CngPsiHelper.resolveContextType(context), project)

            context is XmlAttributeValue
                && context.parentOfType<XmlAttribute>()?.localName == Preview.URL_QUALIFIER
                && tag.namespace == NAMESPACE_COCKPIT_NG_CONFIG_HYBRIS -> process(CngPsiHelper.resolveContextType(context), project)

            context is XmlAttributeValue
                && context.parentOfType<XmlAttribute>()?.localName == AbstractAction.VISIBLE
                && tag.namespace == NAMESPACE_COCKPIT_NG_CONFIG_WIZARD_CONFIG -> process(context, project)

            else -> mutableListOf()
        }
    }