/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.lang;
import com.intellij.codeInsight.hint.DeclarationRangeHandler;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import gw.plugin.ij.lang.psi.api.expressions.IGosuExpression;
import gw.plugin.ij.lang.psi.impl.statements.GosuVariableImpl;
import org.jetbrains.annotations.NotNull;
public class GosuVariableRangeHandler implements DeclarationRangeHandler {
@NotNull
@Override
public TextRange getDeclarationRange(@NotNull PsiElement container) {
if (container instanceof GosuVariableImpl) {
final GosuVariableImpl varImpl = (GosuVariableImpl) container;
final IGosuExpression initializer = varImpl.getInitializerGosu();
int startOffset = varImpl.getTextRange().getStartOffset();
int endOffset = initializer == null ? varImpl.getTextRange().getEndOffset() : initializer.getTextRange().getStartOffset() - 1;
return new TextRange(startOffset, endOffset);
}
return TextRange.EMPTY_RANGE;
}
}