/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.lang.psi.api;
import com.intellij.psi.JavaResolveResult;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiSubstitutor;
import gw.lang.reflect.IFeatureInfo;
import gw.plugin.ij.lang.psi.IGosuPsiElement;
import org.jetbrains.annotations.Nullable;
public interface IGosuResolveResult extends JavaResolveResult {
IGosuResolveResult[] EMPTY_ARRAY = new IGosuResolveResult[0];
boolean isAccessible();
boolean isStaticsOK();
@Nullable
IGosuPsiElement getCurrentFileResolveContext();
PsiSubstitutor getSubstitutor();
IFeatureInfo getFeatureInfo();
@Nullable
public static final IGosuResolveResult EMPTY_RESULT = new IGosuResolveResult() {
public boolean isAccessible() {
return false;
}
@Override
public boolean isStaticsScopeCorrect() {
return false;
}
@Nullable
@Override
public PsiElement getCurrentFileResolveScope() {
return null;
}
public IGosuPsiElement getCurrentFileResolveContext() {
return null;
}
public boolean isStaticsOK() {
return true;
}
public PsiSubstitutor getSubstitutor() {
return PsiSubstitutor.EMPTY;
}
@Override
public IFeatureInfo getFeatureInfo() {
return null;
}
@Override
public boolean isPackagePrefixPackageReference() {
return false;
}
@Nullable
public PsiElement getElement() {
return null;
}
public boolean isValidResult() {
return false;
}
};
}