in src/com/intellij/idea/plugin/hybris/impex/utils/ImpexPsiUtils.java [141:201]
public static boolean aroundIsValueLine(@Nullable final PsiElement element) {
if (element == null) {
return false;
}
if (isImpexValueLine(element)
|| isImpexValueLine(element.getParent())
|| isImpexValueLine(element.getParent().getParent())) {
return true;
}
boolean prevElementIsValueLine = false;
PsiElement prevSibling = PsiTreeUtil.skipSiblingsBackward(
element,
PsiWhiteSpace.class,
PsiComment.class,
ImpexBeanShell.class,
ImpexComment.class
);
while (null != prevSibling) {
if (isHeaderLine(prevSibling) || isImpexValueLine(prevSibling) || isUserRightsMacros(prevSibling)) {
prevElementIsValueLine = true;
break;
}
prevSibling = PsiTreeUtil.skipSiblingsBackward(
prevSibling,
PsiWhiteSpace.class,
PsiComment.class,
ImpexBeanShell.class,
ImpexComment.class
);
}
boolean nextElementIsValueLine = false;
PsiElement nextSibling = PsiTreeUtil.skipSiblingsForward(element,
PsiWhiteSpace.class, ImpexBeanShell.class,
ImpexComment.class
);
while (null != nextSibling) {
if (isImpexValueLine(nextSibling)) {
nextElementIsValueLine = true;
break;
}
if (isHeaderLine(nextSibling)) {
nextElementIsValueLine = false;
break;
}
if (isUserRightsMacros(nextSibling)) {
nextElementIsValueLine = false;
break;
}
nextSibling = PsiTreeUtil.skipSiblingsForward(nextSibling,
PsiWhiteSpace.class, ImpexBeanShell.class,
ImpexComment.class
);
}
return nextElementIsValueLine && prevElementIsValueLine;
}