All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.asJava.UltraLightClassModifierExtension.kt Maven / Gradle / Ivy

There is a newer version: 2.1.0-RC
Show newest version
/*
 * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.asJava

import com.intellij.psi.PsiModifier
import org.jetbrains.kotlin.asJava.classes.KtUltraLightClass
import org.jetbrains.kotlin.asJava.elements.KtLightField
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor
import org.jetbrains.kotlin.psi.KtDeclaration

interface UltraLightClassModifierExtension {

    companion object : ProjectExtensionDescriptor(
        "org.jetbrains.kotlin.ultraLightClassModifierExtension",
        UltraLightClassModifierExtension::class.java
    )

    fun interceptMethodsBuilding(
        declaration: KtDeclaration,
        descriptor: Lazy,
        containingDeclaration: KtUltraLightClass,
        methodsList: MutableList
    ) = Unit

    fun interceptFieldsBuilding(
        declaration: KtDeclaration,
        descriptor: Lazy,
        containingDeclaration: KtUltraLightClass,
        fieldsList: MutableList
    ) = Unit

    fun interceptModalityBuilding(
        declaration: KtDeclaration,
        descriptor: Lazy,
        modifier: String
    ) = modifier
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy