diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java index fa1d2bbd78e..f75eb2d3bd6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/JetTypeMapper.java @@ -780,7 +780,12 @@ public class JetTypeMapper { public CallableMethod mapToCallableMethod(ConstructorDescriptor descriptor, OwnerKind kind, boolean hasThis0) { final JvmMethodSignature method = mapConstructorSignature(descriptor, hasThis0); MapTypeMode mapTypeMode = ownerKindToMapTypeMode(kind); - String owner = mapType(descriptor.getContainingDeclaration().getDefaultType(), mapTypeMode).getInternalName(); + JetType defaultType = descriptor.getContainingDeclaration().getDefaultType(); + Type mapped = mapType(defaultType, mapTypeMode); + if (mapped.getSort() != Type.OBJECT) { + throw new IllegalStateException("type must have been mapped to object: " + defaultType + ", actual: " + mapped); + } + String owner = mapped.getInternalName(); return new CallableMethod(owner, owner, owner, method, INVOKESPECIAL); }