public static boolean prevIsType(@NotNull PsiBuilder builder_, @SuppressWarnings("UnusedParameters") int level) { LighterASTNode marker = builder_.getLatestDoneMarker(); IElementType type = marker != null ? marker.getTokenType() : null; return type == GoTypes.ARRAY_OR_SLICE_TYPE || type == GoTypes.MAP_TYPE || type == GoTypes.STRUCT_TYPE; }
public static boolean leftMarkerIs(PsiBuilder builder, IElementType type) { LighterASTNode marker = builder.getLatestDoneMarker(); return marker != null && marker.getTokenType() == type; }
if (rawLookup == BallerinaTypes.COMMA && rawLookup2 == BallerinaTypes.COLON) { if (latestDoneMarker != null) { IElementType tokenType = latestDoneMarker.getTokenType(); if (tokenType == BallerinaTypes.SIMPLE_TYPE_NAME) { && latestDoneMarker.getTokenType() == BallerinaTypes.RECORD_KEY_VALUE) { return false; IElementType tokenType = latestDoneMarker.getTokenType(); if (tokenType == BallerinaTypes.INVOCATION_ARG) { return true; && rawLookup2 == BallerinaTypes.QUOTED_STRING_LITERAL) { if (latestDoneMarker != null) { IElementType tokenType = latestDoneMarker.getTokenType(); if (tokenType == BallerinaTypes.RECORD_KEY_VALUE) { return false; && rawLookup2 == BallerinaTypes.IDENTIFIER) { if (latestDoneMarker != null) { IElementType tokenType = latestDoneMarker.getTokenType(); IElementType tokenType = latestDoneMarker.getTokenType(); if (tokenType == BallerinaTypes.RECORD_KEY_VALUE) { return false; && latestDoneMarker.getTokenType() == BallerinaTypes.RECORD_KEY_VALUE) { return false;
while (builder.rawLookup(tokenIdx) == TokenType.WHITE_SPACE) tokenIdx --; LighterASTNode doneMarker = builder.rawLookup(tokenIdx) == state.braces[0].getLeftBraceType() ? builder.getLatestDoneMarker() : null; if (doneMarker != null && doneMarker.getStartOffset() == builder.rawTokenTypeStart(tokenIdx) && doneMarker.getTokenType() == TokenType.ERROR_ELEMENT) { parenList.add(Pair.create(((PsiBuilder.Marker)doneMarker).precede(), (PsiBuilder.Marker)null));
frame.leftMarker.precede().done(((LighterASTNode)frame.leftMarker).getTokenType()); frame.leftMarker.drop(); if (marker != null) marker.drop(); if ((frame.modifiers & _LEFT_INNER_) != 0 && frame.leftMarker != null) { frame.leftMarker.precede().done(((LighterASTNode)frame.leftMarker).getTokenType()); frame.leftMarker.drop();
public static boolean leftMarkerIs(PsiBuilder builder, IElementType type) { LighterASTNode marker = builder.getLatestDoneMarker(); return marker != null && marker.getTokenType() == type; }
private static void extend_marker_impl(PsiBuilder.Marker marker) { PsiBuilder.Marker precede = marker.precede(); IElementType elementType = ((LighterASTNode)marker).getTokenType(); if (elementType == TokenType.ERROR_ELEMENT) { precede.error(notNullize(PsiBuilderImpl.getErrorMessage((LighterASTNode)marker))); } else { precede.done(elementType); } marker.drop(); }
LighterASTNode latestDoneMarker = b.getLatestDoneMarker(); if (latestDoneMarker != null) { if (latestDoneMarker.getTokenType() == END_DIRECTIVE) { if (branchMarker != null) { branchMarker.doneBefore(CASE_BLOCK, currentMarker); break; else if (latestDoneMarker.getTokenType() == CASE_DIRECTIVE) { if (branchMarker != null) { branchMarker.doneBefore(CASE_BLOCK, currentMarker);
/** * Parses block content * * @param b builder * @param l level * @return result of end parsing. */ public static boolean parseBlockContent(PsiBuilder b, int l, PsiBuilder.Marker outerMarker, IElementType blockTokenType) { boolean r = false; while (!b.eof() && TemplateToolkitParser.element(b, l)) { LighterASTNode latestDoneMarker = b.getLatestDoneMarker(); if (latestDoneMarker != null && latestDoneMarker.getTokenType() == END_DIRECTIVE) { r = true; break; } } outerMarker.done(blockTokenType); if (!r) // this can happen on incomplete block, missing end { outerMarker.setCustomEdgeTokenBinders(WhitespacesBinders.DEFAULT_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER); outerMarker.precede().error(TemplateToolkitBundle.message("ttk2.error.unclosed.block.directive")); } return r; }
LighterASTNode latestDoneMarker = b.getLatestDoneMarker(); if (latestDoneMarker != null) { if (latestDoneMarker.getTokenType() == END_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER); break; else if (latestDoneMarker.getTokenType() == ELSIF_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER); branchTokenType = ELSIF_BRANCH; else if (latestDoneMarker.getTokenType() == ELSE_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER);
LighterASTNode latestDoneMarker = b.getLatestDoneMarker(); if (latestDoneMarker != null) { if (latestDoneMarker.getTokenType() == END_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER); break; else if (latestDoneMarker.getTokenType() == CATCH_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER); branchTokenType = CATCH_BRANCH; else if (latestDoneMarker.getTokenType() == FINAL_DIRECTIVE) { branchMarker.doneBefore(branchTokenType, currentMarker); branchMarker.setCustomEdgeTokenBinders(WhitespacesBinders.GREEDY_LEFT_BINDER, WhitespacesBinders.GREEDY_RIGHT_BINDER);
while (builder.rawLookup(tokenIdx) == TokenType.WHITE_SPACE) tokenIdx --; LighterASTNode doneMarker = builder.rawLookup(tokenIdx) == lBrace ? builder.getLatestDoneMarker() : null; if (doneMarker != null && doneMarker.getStartOffset() == builder.rawTokenTypeStart(tokenIdx) && doneMarker.getTokenType() == TokenType.ERROR_ELEMENT) { parens.add(Pair.create(((PsiBuilder.Marker)doneMarker).precede(), null));
if (latestDoneMarker == null || latestDoneMarker.getTokenType() != MACRO_DIRECTIVE) { PsiBuilder.Marker m = null; while (!b.eof()) { if (latestDoneMarker == null || latestDoneMarker.getTokenType() != MACRO_DIRECTIVE) {
(operator.arg1 == null || ((LighterASTNode)left_marker_).getTokenType() == getRuleElementType(operator.arg1)) && generateNodeCall(builder, level, info.rootRule, operator.operator, getNextName(operator.rule.getName(), 0), Collections.emptyMap())) {
LighterASTNode latestDoneMarker = b.getLatestDoneMarker(); if (latestDoneMarker != null && latestDoneMarker.getTokenType() == END_DIRECTIVE) { outerMarker.done(blockTokenType); recoverBlock = false;
IElementType tokenType = latestDoneMarker.getTokenType(); if (tokenType == BLOCK_DIRECTIVE) { parseBlockContent(b, l, outerMarker, NAMED_BLOCK);