/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.plugin.ij.lang.psi.util;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiWhiteSpace;
import com.intellij.psi.javadoc.PsiDocComment;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class GosuDocUtil {
private GosuDocUtil() {
}
@Nullable
public static PsiDocComment findDocCommnentNode(@NotNull ASTNode node) {
ASTNode parent = node.getTreeParent();
ASTNode[] children = parent.getChildren(null);
boolean found = false;
for (int i = children.length - 1; i >= 0; i--) {
if (!found && children[i] == node) {
found = true;
continue;
}
if (found) {
if (children[i] instanceof PsiDocComment) {
return (PsiDocComment) children[i];
}
if (!(children[i] instanceof PsiWhiteSpace) && children[i].getTextLength() != 0 ) {
break;
}
}
}
return null;
}
}