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