[FIR] Format FirDeclarationsResolveTransformer

This commit is contained in:
Kirill Rakhman
2023-02-24 13:47:39 +01:00
committed by Space Team
parent c585790469
commit a0de481de6
@@ -501,16 +501,17 @@ open class FirDeclarationsResolveTransformer(
override fun transformRegularClass( override fun transformRegularClass(
regularClass: FirRegularClass, regularClass: FirRegularClass,
data: ResolutionMode data: ResolutionMode
): FirStatement = whileAnalysing(session, regularClass) { ): FirStatement =
return context.withContainingClass(regularClass) { whileAnalysing(session, regularClass) {
if (regularClass.isLocal && regularClass !in context.targetedLocalClasses) { return context.withContainingClass(regularClass) {
return regularClass.runAllPhasesForLocalClass(transformer, components, data, transformer.firTowerDataContextCollector) if (regularClass.isLocal && regularClass !in context.targetedLocalClasses) {
} return regularClass.runAllPhasesForLocalClass(transformer, components, data, transformer.firTowerDataContextCollector)
}
doTransformTypeParameters(regularClass) doTransformTypeParameters(regularClass)
doTransformRegularClass(regularClass, data) doTransformRegularClass(regularClass, data)
}
} }
}
override fun transformScript(script: FirScript, data: ResolutionMode): FirScript { override fun transformScript(script: FirScript, data: ResolutionMode): FirScript {
if (implicitTypeOnly) return script if (implicitTypeOnly) return script
@@ -645,19 +646,19 @@ open class FirDeclarationsResolveTransformer(
} as FirStatement } as FirStatement
} }
override fun transformConstructor( override fun transformConstructor(constructor: FirConstructor, data: ResolutionMode): FirConstructor =
constructor: FirConstructor, whileAnalysing(session, constructor) {
data: ResolutionMode if (implicitTypeOnly) return constructor
): FirConstructor = whileAnalysing(session, constructor) { val container = context.containerIfAny as? FirRegularClass
if (implicitTypeOnly) return constructor if (constructor.isPrimary && container?.classKind == ClassKind.ANNOTATION_CLASS) {
val container = context.containerIfAny as? FirRegularClass return withFirArrayOfCallTransformer {
if (constructor.isPrimary && container?.classKind == ClassKind.ANNOTATION_CLASS) {
return withFirArrayOfCallTransformer { doTransformConstructor(constructor, data)
doTransformConstructor(constructor, data) }
} }
return doTransformConstructor(constructor, data)
} }
return doTransformConstructor(constructor, data)
}
private fun doTransformConstructor(constructor: FirConstructor, data: ResolutionMode): FirConstructor { private fun doTransformConstructor(constructor: FirConstructor, data: ResolutionMode): FirConstructor {
val owningClass = context.containerIfAny as? FirRegularClass val owningClass = context.containerIfAny as? FirRegularClass
@@ -1007,21 +1008,22 @@ open class FirDeclarationsResolveTransformer(
override fun transformValueParameter( override fun transformValueParameter(
valueParameter: FirValueParameter, valueParameter: FirValueParameter,
data: Any? data: Any?
): FirStatement = whileAnalysing(valueParameter.moduleData.session, valueParameter) { ): FirStatement =
if (valueParameter.returnTypeRef is FirImplicitTypeRef) { whileAnalysing(valueParameter.moduleData.session, valueParameter) {
valueParameter.replaceReturnTypeRef( if (valueParameter.returnTypeRef is FirImplicitTypeRef) {
valueParameter.returnTypeRef.resolvedTypeFromPrototype( valueParameter.replaceReturnTypeRef(
ConeErrorType( valueParameter.returnTypeRef.resolvedTypeFromPrototype(
ConeSimpleDiagnostic( ConeErrorType(
"No type for parameter", ConeSimpleDiagnostic(
DiagnosticKind.ValueParameterWithNoTypeAnnotation "No type for parameter",
DiagnosticKind.ValueParameterWithNoTypeAnnotation
)
) )
) )
) )
) }
return valueParameter
} }
return valueParameter
}
} }
private val FirVariable.initializerResolved: Boolean private val FirVariable.initializerResolved: Boolean