public static boolean nextTokenIsFast(PsiBuilder builder, IElementType... tokens) { IElementType tokenType = builder.getTokenType(); for (IElementType token : tokens) { if (token == tokenType) return true; } return false; }
public static boolean nextTokenIsFast(PsiBuilder builder, IElementType token) { return builder.getTokenType() == token; }
public static boolean isNotAResourceDefinition(PsiBuilder builder, int level) { if (builder.getTokenType() != BallerinaTypes.IDENTIFIER) { return false; } IElementType next1Element = builder.lookAhead(1); if (next1Element != null && next1Element.toString().equals("(")) { return true; } return false; }
public static boolean keyOrValueExpression(@NotNull PsiBuilder builder_, int level) { PsiBuilder.Marker m = enter_section_(builder_); boolean r = GoParser.Expression(builder_, level + 1, -1); if (!r) r = GoParser.LiteralValue(builder_, level + 1); IElementType type = r && builder_.getTokenType() == GoTypes.COLON ? GoTypes.KEY : GoTypes.VALUE; exit_section_(builder_, m, type, r); return r; }
public static boolean nextTokenIs(PsiBuilder builder, String frameName, IElementType... tokens) { ErrorState state = ErrorState.get(builder); if (state.completionState != null) return true; boolean track = !state.suppressErrors && state.predicateCount < 2 && state.predicateSign; if (!track) return nextTokenIsFast(builder, tokens); IElementType tokenType = builder.getTokenType(); if (isNotEmpty(frameName)) { addVariantInner(state, builder.rawTokenIndex(), frameName); } else { for (IElementType token : tokens) { addVariant(builder, state, token); } } if (tokenType == null) return false; for (IElementType token : tokens) { if (tokenType == token) return true; } return false; }
final IElementType tokenType = builder.getTokenType(); if (checkParens && (tokenType == state.braces[0].getLeftBraceType() || tokenType == state.braces[0].getRightBraceType() && !parenList.isEmpty())) { if (marker != null) {
public static boolean consumeBlock(PsiBuilder builder_, @SuppressWarnings("UnusedParameters") int level) { PsiFile file = builder_.getUserDataUnprotected(FileContextUtil.CONTAINING_FILE_KEY); VirtualFile data = file != null ? file.getUserData(IndexingDataKeys.VIRTUAL_FILE) : null; if (data == null) return false; int i = 0; PsiBuilder.Marker m = builder_.mark(); do { IElementType type = builder_.getTokenType(); if (type == GoTypes.TYPE_ && nextIdentifier(builder_)) { // don't count a.(type), only type <ident> m.rollbackTo(); return false; } i += type == GoTypes.LBRACE ? 1 : type == GoTypes.RBRACE ? -1 : 0; builder_.advanceLexer(); } while (i > 0 && !builder_.eof()); boolean result = i == 0; if (result) { m.drop(); } else { m.rollbackTo(); } return result; }
IElementType tokenType = builder.getTokenType(); if (state.braces != null) { if (tokenType == state.braces[0].getLeftBraceType()) parenCount ++;
public static boolean nextTokenIsFast(PsiBuilder builder, IElementType... tokens) { IElementType tokenType = builder.getTokenType(); for (IElementType token : tokens) { if (token == tokenType) return true; } return false; }
public static boolean is_percent(PsiBuilder builder, int level) { IElementType tokenType = builder.getTokenType(); return tokenType != null && tokenType.toString().startsWith("%"); }
protected static boolean isEndTagAhead(PsiBuilder b, int l) { IElementType tokenType = b.getTokenType(); return (tokenType == TT2_OPEN_TAG || tokenType == TT2_OUTLINE_TAG) && b.lookAhead(1) == TT2_END; }
@Override public boolean parseStatementModifier(PsiBuilder b, int l) { if (b.getTokenType() == MASON_FILTERED_BLOCK_OPENER) { return MasonParserUtil.parsePerlBlock(b, l, MASON_FILTERED_BLOCK_CLOSER, MASON_FILTERED_BLOCK); } return super.parseStatementModifier(b, l); }
@Override public boolean parseStatementSemi(PsiBuilder b, int l) { if (b.getTokenType() == MOJO_END) { b.advanceLexer(); return true; } return super.parseStatementSemi(b, l); }
public static boolean parseLabelDeclaration(PsiBuilder b, @SuppressWarnings("unused") int l) { if (b.lookAhead(1) == COLON && b.getTokenType() != RESERVED_SUB) { String tokenText = b.getTokenText(); if (tokenText != null && IDENTIFIER_PATTERN.matcher(tokenText).matches()) { b.advanceLexer(); b.advanceLexer(); return true; } } return false; }
public static boolean checkAndConvert(PsiBuilder b, int l, IElementType sourceType, IElementType targetType) { if (b.getTokenType() == sourceType) { PsiBuilder.Marker m = b.mark(); b.advanceLexer(); m.collapse(POD_INDENT_LEVEL); return true; } return false; }
public static boolean parseUnaryMinus(PsiBuilder b, int l) { if (b.getTokenType() == TT2_MINUS) { PsiBuilder.Marker m = b.mark(); b.advanceLexer(); m.collapse(TT2_MINUS_UNARY); return true; } return false; } }
public static boolean parseHardNewline(PsiBuilder b) { if (b.getTokenType() == HTML_MASON_HARD_NEWLINE) { PsiBuilder.Marker m = b.mark(); b.advanceLexer(); m.collapse(TokenType.WHITE_SPACE); return true; } return false; }
public static boolean recoverTo(PsiBuilder b, IElementType toElement, String errorMessage) { // recover bad code PsiBuilder.Marker errorMarker = b.mark(); while (!b.eof() && b.getTokenType() != toElement) { b.advanceLexer(); ; } errorMarker.error(errorMessage); return b.eof(); } }
public static boolean parseBlockComment(PsiBuilder b, int l) { if (b.getTokenType() == TT2_OPEN_TAG && b.rawLookup(1) == LINE_COMMENT) { PsiBuilder.Marker m = b.mark(); b.advanceLexer(); // open b.advanceLexer(); // close fixme add unclosed handling m.done(BLOCK_COMMENT); return true; } return false; }
public static boolean parsePerlBlock(PsiBuilder b, int l, IElementType closeToken, IElementType blockToken) { PsiBuilder.Marker abstractBlockMarker = b.mark(); b.advanceLexer(); while (!b.eof() && b.getTokenType() != closeToken) { if (!PerlParserProxy.file_item(b, l)) { break; } } boolean r = endOrRecover(b, closeToken); abstractBlockMarker.done(blockToken); return r; }