extensionMarker = ((PsiBuilder.Marker)latestDoneMarker).precede(); extensionTokenType = latestDoneMarker.getTokenType(); ((PsiBuilder.Marker)latestDoneMarker).drop();
@Nullable private PsiBuilder.Marker drop(@Nullable PsiBuilder.Marker marker) { if (marker != null) { marker.drop(); } return null; }
private void dropOrDone(Map<PsiBuilder.Marker,Integer> indexByMarker, PsiBuilder.Marker textMarker, IElementType element) { if (indexByMarker.get(textMarker) == source.index()) { textMarker.drop(); } else { textMarker.done(element); } }
public void drop() { delegate.drop(); open = false; }
@Override public void drop() { marker.drop(); node.drop(); }
@Override public void drop() { original.drop(); psiBuilder.recycle(this); }
private void abandonBookmark(final Bookmark bookmark) { --suppressMessages; if (suppressMessages == 0) suppressedErrorCount = 0; if (!bookmark.dropped) { bookmark.m.drop(); bookmark.dropped = true; } }
public static boolean checkNextOrError(BashPsiBuilder builder, PsiBuilder.Marker marker, IElementType expected, @PropertyKey(resourceBundle = BUNDLE) String message) { final IElementType next = getTokenAndAdvance(builder); if (next != expected) { marker.drop(); error(builder, message); return false; } return true; }
public boolean parse(BashPsiBuilder builder) { PsiBuilder.Marker marker = builder.mark(); boolean ok = next.parse(builder); if (ok && ParserUtil.conditionalRead(builder, arithmeticPostOps)) { marker.done(ARITH_POST_INCR_ELEMENT); } else { marker.drop(); } return ok; } }
public static boolean parseSetElement(PsiBuilder b, int l) { PsiBuilder.Marker m = b.mark(); if (TemplateToolkitParser.parse_set_element(b, l)) { m.done(ASSIGN_EXPR); return true; } m.drop(); return false; }
public static boolean parseTokens(PsiBuilder builder, boolean smart, int pin, IElementType... tokens) { PsiBuilder.Marker marker = builder.mark(); boolean result = consumeTokens(builder, smart, pin, tokens); if (!result) { marker.rollbackTo(); } else { marker.drop(); } return result; }
private boolean parseSimpleWord(BashPsiBuilder builder) { PsiBuilder.Marker marker = builder.mark(); if (Parsing.word.parseWord(builder)) { marker.done(VAR_DEF_ELEMENT); return true; } marker.drop(); return false; } }
public boolean parse(BashPsiBuilder builder) { PsiBuilder.Marker marker = builder.mark(); boolean mark = ParserUtil.conditionalRead(builder, arithmeticPreOps); boolean ok = next.parse(builder); if (mark) { marker.done(ARITH_PRE_INC_ELEMENT); } else { marker.drop(); } return ok; } }
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(); }
wasAutoSkipped(builder, builder.rawTokenIndex() - last.getEndIndex())) { elementType = last.getTokenType(); ((PsiBuilder.Marker)last).drop(); marker.drop(); for (Frame f = frame.parentFrame; f != null; f = f.parentFrame) { if (f.elementType == null) continue; marker.done(elementType); frame.leftMarker.precede().done(((LighterASTNode)frame.leftMarker).getTokenType()); frame.leftMarker.drop(); marker.drop(); frame.leftMarker.precede().done(elementType); 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();
extensionMarker = ((PsiBuilder.Marker)latestDoneMarker).precede(); extensionTokenType = latestDoneMarker.getTokenType(); ((PsiBuilder.Marker)latestDoneMarker).drop();
private static void close_marker_impl_(Frame frame, PsiBuilder.Marker marker, IElementType elementType, boolean result) { if (marker == null) return; if (result) { if (elementType != null) { marker.done(elementType); } else { marker.drop(); } } else { if (frame != null) { int position = ((PsiBuilderImpl.ProductionMarker)marker).getStartIndex(); if (frame.errorReportedAt > position && frame.parentFrame != null) { frame.errorReportedAt = frame.parentFrame.errorReportedAt; } } marker.rollbackTo(); } }
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; }
public static boolean parseTokens(PsiBuilder builder, boolean smart, int pin, IElementType... tokens) { PsiBuilder.Marker marker = builder.mark(); boolean result = consumeTokens(builder, smart, pin, tokens); if (!result) { marker.rollbackTo(); } else { marker.drop(); } return result; }