FIR Java: make method annotations lazy

This commit is contained in:
Mikhail Glukhikh
2020-12-25 11:26:09 +03:00
parent c8c34ebf17
commit d663f204e5
5 changed files with 154 additions and 59 deletions
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.fir.declarations.builder
import kotlin.contracts.*
import org.jetbrains.kotlin.fir.FirImplementationDetail
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
@@ -58,7 +57,6 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@OptIn(FirImplementationDetail::class)
override fun build(): FirSimpleFunction {
return FirSimpleFunctionImpl(
source,
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.fir.declarations.impl
import org.jetbrains.kotlin.fir.FirImplementationDetail
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
@@ -31,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
internal class FirSimpleFunctionImpl(
override val source: FirSourceElement?,
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
@@ -449,9 +449,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
default("name", "Name.identifier(\"value\")")
}
impl(simpleFunction) {
kind = OpenClass
}
impl(simpleFunction)
impl(safeCallExpression) {
useTypes(safeCallCheckedSubjectType)