Use psi methods in JetObjectInfo to determine if object is in fact class object

This commit is contained in:
Pavel V. Talanov
2014-03-28 16:31:07 +04:00
parent 9df3e8a036
commit 4392e47210
2 changed files with 5 additions and 9 deletions
@@ -29,7 +29,7 @@ public class JetClassInfoUtil {
return new JetClassInfo((JetClass) classOrObject); return new JetClassInfo((JetClass) classOrObject);
} }
if (classOrObject instanceof JetObjectDeclaration) { if (classOrObject instanceof JetObjectDeclaration) {
return new JetObjectInfo(classOrObject); return new JetObjectInfo((JetObjectDeclaration) classOrObject);
} }
throw new IllegalArgumentException("Unknown declaration type: " + classOrObject + classOrObject.getText()); throw new IllegalArgumentException("Unknown declaration type: " + classOrObject + classOrObject.getText());
} }
@@ -18,23 +18,19 @@ package org.jetbrains.jet.lang.resolve.lazy.data;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.ClassKind; import org.jetbrains.jet.lang.descriptors.ClassKind;
import org.jetbrains.jet.lang.psi.JetClassObject; import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.psi.JetClassOrObject;
import org.jetbrains.jet.lang.psi.JetParameter;
import org.jetbrains.jet.lang.psi.JetTypeParameter;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class JetObjectInfo extends JetClassOrObjectInfo<JetClassOrObject> { public class JetObjectInfo extends JetClassOrObjectInfo<JetObjectDeclaration> {
@NotNull @NotNull
private final ClassKind kind; private final ClassKind kind;
protected JetObjectInfo(@NotNull JetClassOrObject element) { protected JetObjectInfo(@NotNull JetObjectDeclaration element) {
super(element); super(element);
boolean isClassObject = element.getParent() instanceof JetClassObject; this.kind = element.isClassObject() ? ClassKind.CLASS_OBJECT : ClassKind.OBJECT;
this.kind = isClassObject ? ClassKind.CLASS_OBJECT : ClassKind.OBJECT;
} }
@Override @Override