Common methods related to references are pulled up

This commit is contained in:
Andrey Breslav
2013-08-28 13:57:56 +04:00
parent aa6a509e8d
commit b7153d7398
7 changed files with 16 additions and 81 deletions
@@ -37,20 +37,6 @@ public class JetArrayAccessExpression extends JetReferenceExpression {
super(node);
}
@Nullable
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
else return null;
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
@Override
public void accept(@NotNull JetVisitorVoid visitor) {
visitor.visitArrayAccessExpression(this);
@@ -18,8 +18,6 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
import com.intellij.util.SmartList;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -34,20 +32,6 @@ public class JetCallExpression extends JetReferenceExpression implements JetCall
super(node);
}
@Nullable
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
else return null;
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this);
}
@Override
public void accept(@NotNull JetVisitorVoid visitor) {
visitor.visitCallExpression(this);
@@ -19,8 +19,10 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.lang.Language;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiReference;
import com.intellij.psi.PsiReferenceService;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.JetLanguage;
@@ -64,4 +66,17 @@ public class JetElementImpl extends ASTWrapperPsiElement implements JetElement {
public <R, D> R accept(@NotNull JetVisitor<R, D> visitor, D data) {
return visitor.visitJetElement(this, data);
}
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
else return null;
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
}
@@ -49,19 +49,6 @@ public class JetNamespaceHeader extends JetReferenceExpression {
return (JetSimpleNameExpression)findLastChildByType(JetNodeTypes.REFERENCE_EXPRESSION);
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
@Nullable
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
return references.length == 1 ? references[0] : null;
}
@Nullable
public PsiElement getNameIdentifier() {
JetSimpleNameExpression lastPart = (JetSimpleNameExpression)findLastChildByType(JetNodeTypes.REFERENCE_EXPRESSION);
@@ -34,19 +34,6 @@ public class JetPropertyDelegate extends JetElementImpl {
return findChildByClass(JetExpression.class);
}
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
return null;
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
@Override
public void accept(@NotNull JetVisitorVoid visitor) {
visitor.visitPropertyDelegate(this);
@@ -108,20 +108,6 @@ public class JetSimpleNameExpression extends JetReferenceExpression {
return getReferencedNameElement().getNode().getElementType();
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
@Nullable
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
else return null;
}
@Override
public void accept(@NotNull JetVisitorVoid visitor) {
visitor.visitSimpleNameExpression(this);
@@ -17,20 +17,10 @@
package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiReference;
import com.intellij.psi.PsiReferenceService;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
import org.jetbrains.annotations.NotNull;
public class JetThisReferenceExpression extends JetReferenceExpression {
public JetThisReferenceExpression(@NotNull ASTNode node) {
super(node);
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
}