fix(jdoc): inline mk structs break detection

GitOrigin-RevId: 0cb1adbd59262523ce59767fee5f33e78234bd9f
This commit is contained in:
Mathias Boulay
2024-09-18 14:34:29 +00:00
committed by intellij-monorepo-bot
parent 3b13ef3ec1
commit 0cdf89293d
7 changed files with 120 additions and 4 deletions
@@ -388,7 +388,7 @@ public final class BasicJavaDocParser {
while (!builder.eof()) {
builder.advanceLexer();
previousToken = token;
token = getTokenType(builder);
token = getTokenType(builder, false);
if (token == needle) {
return token;
}
@@ -398,7 +398,7 @@ public final class BasicJavaDocParser {
}
// Markdown specific, check for EOL
if (token == JavaDocTokenType.DOC_SPACE && previousToken == JavaDocTokenType.DOC_SPACE) {
if (token == TokenType.WHITE_SPACE && previousToken == TokenType.WHITE_SPACE) {
break;
}
}
@@ -605,10 +605,15 @@ public final class BasicJavaDocParser {
@Nullable
private static IElementType getTokenType(PsiBuilder builder) {
return getTokenType(builder, true);
}
@Nullable
private static IElementType getTokenType(PsiBuilder builder, boolean skipWhitespace) {
IElementType tokenType;
while ((tokenType = builder.getTokenType()) == JavaDocTokenType.DOC_SPACE) {
builder.remapCurrentToken(TokenType.WHITE_SPACE);
builder.advanceLexer();
if (skipWhitespace) builder.advanceLexer();
}
return tokenType;
}