类com.intellij.psi.xml.XmlElement源码实例Demo

下面列出了怎么用com.intellij.psi.xml.XmlElement的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: intellij-latte   文件: ErrorFilter.java
public boolean shouldHighlightErrorElement(@NotNull PsiErrorElement element) {
	PsiFile templateLanguageFile = PsiUtilCore.getTemplateLanguageFile(element.getContainingFile());
	if (templateLanguageFile == null) {
		return true;
	}
	Language language = templateLanguageFile.getLanguage();
	if (language != LatteLanguage.INSTANCE) {
		return true;
	}
	if (element.getParent() instanceof XmlElement || element.getParent() instanceof CssElement) {
		return false;
	}
	if (element.getParent().getLanguage() == LatteLanguage.INSTANCE) {
		return true;
	}
	PsiElement nextSibling;
	for (nextSibling = PsiTreeUtil.nextLeaf(element); nextSibling instanceof PsiWhiteSpace; nextSibling = nextSibling.getNextSibling());

	PsiElement psiElement = nextSibling == null ? null : PsiTreeUtil.findCommonParent(nextSibling, element);
	boolean nextIsOuterLanguageElement = nextSibling instanceof OuterLanguageElement || nextSibling instanceof LatteMacroClassic;
	return !nextIsOuterLanguageElement || psiElement == null || psiElement instanceof PsiFile;
}
 
@Nullable
@Override
public String validateValue(XmlElement context, String value) {
    return null;
}
 
@Override
public String validateValue(XmlElement context, String value) {
    return super.validateValue(context, value);
}
 
@Override
public String validateValue(XmlElement context, String value) {
    return super.validateValue(context, value);
}
 
 类所在包
 同包方法