public ANTLRParseTreeToPSIConverter(Language language, Parser parser, PsiBuilder builder) {
this.language = language;
this.builder = builder;
this.tokenElementTypes = PSIElementTypeFactory.getTokenIElementTypes(language);
this.ruleElementTypes = PSIElementTypeFactory.getRuleIElementTypes(language);
for (ANTLRErrorListener listener : parser.getErrorListeners()) {
if (listener instanceof SyntaxErrorListener) {
syntaxErrors = ((SyntaxErrorListener)listener).getSyntaxErrors();
for (SyntaxError error : syntaxErrors) {
// record first error per token
int StartIndex = error.getOffendingSymbol().getStartIndex();
if ( !tokenToErrorMap.containsKey(StartIndex) ) {
tokenToErrorMap.put(StartIndex, error);
}
}
}
}
}
ANTLRParseTreeToPSIConverter.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:jetbrains
作者:
评论列表
文章目录