JetClassOrObject implements JetNamedDeclaration
This commit is contained in:
@@ -23,7 +23,7 @@ import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface JetClassOrObject extends PsiNameIdentifierOwner, JetDeclarationContainer, JetElement, JetModifierListOwner, JetDeclaration {
|
||||
public interface JetClassOrObject extends PsiNameIdentifierOwner, JetDeclarationContainer, JetElement, JetModifierListOwner, JetNamedDeclaration {
|
||||
@Nullable
|
||||
JetDelegationSpecifierList getDelegationSpecifierList();
|
||||
|
||||
@@ -36,6 +36,7 @@ public interface JetClassOrObject extends PsiNameIdentifierOwner, JetDeclaration
|
||||
// Objects always "have" a primary constructor
|
||||
boolean hasPrimaryConstructor();
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
Name getNameAsName();
|
||||
|
||||
|
||||
@@ -75,21 +75,19 @@ public class JetGotoClassContributor implements GotoClassContributor {
|
||||
Collection<JetClassOrObject> classesOrObjects = JetShortClassNameIndex.getInstance().get(name, project, scope);
|
||||
|
||||
for (JetClassOrObject classOrObject : classesOrObjects) {
|
||||
if (classOrObject instanceof JetNamedDeclaration) {
|
||||
FqName fqName = JetPsiUtil.getFQName((JetNamedDeclaration) classOrObject);
|
||||
if (fqName == null || javaQualifiedNames.contains(fqName.toString())) {
|
||||
continue;
|
||||
}
|
||||
FqName fqName = JetPsiUtil.getFQName(classOrObject);
|
||||
if (fqName == null || javaQualifiedNames.contains(fqName.toString())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (classOrObject instanceof JetObjectDeclaration) {
|
||||
// items.add((JetObjectDeclaration) classOrObject);
|
||||
}
|
||||
else if (classOrObject instanceof JetClass) {
|
||||
items.add(classOrObject);
|
||||
}
|
||||
else {
|
||||
assert false;
|
||||
}
|
||||
if (classOrObject instanceof JetObjectDeclaration) {
|
||||
// items.add((JetObjectDeclaration) classOrObject);
|
||||
}
|
||||
else if (classOrObject instanceof JetClass) {
|
||||
items.add(classOrObject);
|
||||
}
|
||||
else {
|
||||
assert false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,13 +86,11 @@ public class JetShortNamesCache extends PsiShortNamesCache {
|
||||
|
||||
List<PsiClass> result = new ArrayList<PsiClass>();
|
||||
for (JetClassOrObject classOrObject : classOrObjects) {
|
||||
if (classOrObject instanceof JetNamedDeclaration) {
|
||||
FqName fqName = JetPsiUtil.getFQName((JetNamedDeclaration) classOrObject);
|
||||
if (fqName != null && fqName.shortName().getName().equals(name)) {
|
||||
PsiClass psiClass = JavaElementFinder.getInstance(project).findClass(fqName.getFqName(), scope);
|
||||
if (psiClass != null) {
|
||||
result.add(psiClass);
|
||||
}
|
||||
FqName fqName = JetPsiUtil.getFQName(classOrObject);
|
||||
if (fqName != null && fqName.shortName().getName().equals(name)) {
|
||||
PsiClass psiClass = JavaElementFinder.getInstance(project).findClass(fqName.getFqName(), scope);
|
||||
if (psiClass != null) {
|
||||
result.add(psiClass);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user