Object expressions fixed

This commit is contained in:
Andrey Breslav
2015-01-23 16:26:22 +03:00
parent 202c44e969
commit 7036cb8f42
2 changed files with 4 additions and 2 deletions
@@ -33,7 +33,9 @@ public class JetObjectInfo extends JetClassOrObjectInfo<JetObjectDeclaration> {
protected JetObjectInfo(@NotNull JetObjectDeclaration element) {
super(element);
this.kind = element.isClassObject() ? ClassKind.CLASS_OBJECT : ClassKind.OBJECT;
this.kind = element.isObjectLiteral()
? ClassKind.CLASS
: (element.isClassObject() ? ClassKind.CLASS_OBJECT : ClassKind.OBJECT);
}
@Override
@@ -273,7 +273,7 @@ public open class LazyClassMemberScope(
if (GENERATE_CONSTRUCTORS_FOR.contains(thisDescriptor.getKind())) {
val ownerInfo = declarationProvider.getOwnerInfo()
val classOrObject = ownerInfo.getCorrespondingClassOrObject()
if (!thisDescriptor.getKind().isSingleton()) {
if (!thisDescriptor.getKind().isSingleton() && !classOrObject.isObjectLiteral()) {
assert(classOrObject is JetClass) { "No JetClass for $thisDescriptor" }
classOrObject as JetClass
val constructor = c.descriptorResolver.resolvePrimaryConstructorDescriptor(