提交 4dc040b9 编写于 作者: I Ilya Kirillov

FIR: update enum entry resolve phase in body resolve transformers

上级 d4991394
......@@ -115,6 +115,8 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
}
override fun transformEnumEntry(enumEntry: FirEnumEntry, data: ResolutionMode): CompositeTransformResult<FirDeclaration> {
if (enumEntry.resolvePhase == transformerPhase) return enumEntry.compose()
transformer.replaceDeclarationResolvePhaseIfNeeded(enumEntry, transformerPhase)
context.withTowerDataMode(FirTowerDataMode.CONSTRUCTOR_HEADER) {
return (enumEntry.transformChildren(this, data) as FirEnumEntry).compose()
}
......
FILE: enum.kt
public final [BODY_RESOLVE] enum class Enum : R|kotlin/Enum<Enum>| {
private [BODY_RESOLVE] constructor([BODY_RESOLVE] x: R|kotlin/Int|): R|Enum| {
super<R|kotlin/Enum<Enum>|>()
}
public final [BODY_RESOLVE] val x: R|kotlin/Int| = R|<local>/x|
[BODY_RESOLVE] public get(): R|kotlin/Int|
public final static [BODY_RESOLVE] enum entry A: R|Enum| = object : R|Enum| {
private [BODY_RESOLVE] constructor(): R|<anonymous>| {
super<R|Enum|>(Int(1))
}
}
public final static [BODY_RESOLVE] fun values(): R|kotlin/Array<Enum>| {
}
public final static [BODY_RESOLVE] fun valueOf([BODY_RESOLVE] value: R|kotlin/String|): R|Enum| {
}
}
enum class Enum(val x: Int) {
A(1),
}
\ No newline at end of file
......@@ -44,6 +44,11 @@ public class InnerDeclarationsResolvePhaseTestGenerated extends AbstractInnerDec
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/innerDeclarationsResolve/constructorParameter.kt");
}
@TestMetadata("enum.kt")
public void testEnum() throws Exception {
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/innerDeclarationsResolve/enum.kt");
}
@TestMetadata("funWithoutTypes.kt")
public void testFunWithoutTypes() throws Exception {
runTest("idea/idea-frontend-fir/idea-fir-low-level-api/testdata/innerDeclarationsResolve/funWithoutTypes.kt");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册