start.done(root);
return builder.getTreeBuilt();
}
private static boolean parseInfixPrefixIdent(PsiBuilder builder, IElementType leftType, IElementType rightType, TokenSet idsOrOperators) {
IElementType type = builder.getTokenType();
if (type == null)
return false;
if (type == leftType) {
PsiBuilder.Marker infixPrefixExpression = builder.mark();
builder.advanceLexer();
IElementType idOrOperType = builder.getTokenType();
if (idsOrOperators.contains(idOrOperType)) {
PsiBuilder.Marker idOrOper = builder.mark();
builder.advanceLexer();
idOrOper.done(idOrOperType);
IElementType rparType = builder.getTokenType();
if (rparType == rightType) {
builder.advanceLexer();
infixPrefixExpression.done(HaskellElementTypes.INFIX_PREFIX_IDENT);
return true;
} else {