Create template quick fix now works for unresolved include and extends (PY-1210).

This commit is contained in:
Dmitry Trofimov
2011-03-29 21:32:03 +04:00
parent 4ebedea1af
commit 158b327aa1
@@ -1,15 +1,13 @@
package com.intellij.psi;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
/**
* @author traff
*/
public class PsiReferenceWrapper implements PsiReference{
public class PsiReferenceWrapper implements PsiReference {
private final PsiReference myOriginalPsiReference;
public PsiReferenceWrapper(PsiReference originalPsiReference) {
@@ -62,4 +60,18 @@ public class PsiReferenceWrapper implements PsiReference{
public boolean isSoft() {
return myOriginalPsiReference.isSoft();
}
public <T extends PsiReference> boolean isInstance(Class<T> clazz) {
if (myOriginalPsiReference instanceof PsiReferenceWrapper) {
return ((PsiReferenceWrapper)myOriginalPsiReference).isInstance(clazz);
}
return clazz.isInstance(myOriginalPsiReference);
}
public <T extends PsiReference> T cast(Class<T> clazz) {
if (myOriginalPsiReference instanceof PsiReferenceWrapper) {
return ((PsiReferenceWrapper)myOriginalPsiReference).cast(clazz);
}
return clazz.cast(myOriginalPsiReference);
}
}