fun getSet()

in core-common/src/main/kotlin/com/twitter/rules/core/ComposeKtConfig.kt [13:36]


    fun getSet(key: String, default: Set<String>): Set<String>
    fun getBoolean(key: String, default: Boolean): Boolean

    companion object {
        private val Key: Key<ComposeKtConfig> = Key("twitter_compose_rules_config")
        private val ReturnDefaults = object : ComposeKtConfig {
            override fun getInt(key: String, default: Int): Int = default
            override fun getString(key: String, default: String?): String? = default
            override fun getList(key: String, default: List<String>): List<String> = default
            override fun getSet(key: String, default: Set<String>) = default
            override fun getBoolean(key: String, default: Boolean) = default
        }

        fun PsiElement.config(): ComposeKtConfig = containingFile.getUserData(Key) ?: ReturnDefaults

        fun ASTNode.config(): ComposeKtConfig = psi.config()

        private val PsiElement.hasConfigAttached: Boolean
            get() = containingFile.getUserData(Key) != null

        fun PsiElement.attach(config: ComposeKtConfig) {
            if (!hasConfigAttached) containingFile.putUserData(Key, config)
        }
    }