diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index e567217c9b3..9e5867f2c7a 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -360,6 +360,11 @@ public class ExpressionCodegen extends KtVisitor impleme return visitClassOrObject(klass); } + @Override + public StackValue visitTypeAlias(@NotNull KtTypeAlias typeAlias, StackValue data) { + return StackValue.none(); + } + private StackValue visitClassOrObject(KtClassOrObject declaration) { ClassDescriptor descriptor = bindingContext.get(CLASS, declaration); assert descriptor != null; diff --git a/compiler/testData/codegen/box/typealias/localTypeAlias.kt b/compiler/testData/codegen/box/typealias/localTypeAlias.kt new file mode 100644 index 00000000000..406bbaaf675 --- /dev/null +++ b/compiler/testData/codegen/box/typealias/localTypeAlias.kt @@ -0,0 +1,16 @@ +class Cell(val x: TC) + +object OkHost { + val value = "OK" +} + +fun id(x: T): T { + typealias C = Cell + val c: C = C(x) + return c.x +} + +fun box(): String { + typealias OK = OkHost + return id(OK.value) +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 86e5c3b2609..3bf92d6aa3b 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -14581,6 +14581,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/typealias"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("localTypeAlias.kt") + public void testLocalTypeAlias() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/typealias/localTypeAlias.kt"); + doTest(fileName); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/typealias/simple.kt");