[syntax] allow setting whitespace and comment binding policy in utility parse function

GitOrigin-RevId: b4fdf7a8ce170450d57b957dd54d6d9eda84b604
This commit is contained in:
Alexander Zolotov
2025-08-19 08:01:23 +00:00
committed by intellij-monorepo-bot
parent 4cf5c3f88f
commit bc2fcf0c88
2 changed files with 5 additions and 3 deletions
@@ -23,8 +23,8 @@
*f:com.intellij.platform.syntax.tree.KmpSyntaxNode$Companion
- f:root(java.lang.CharSequence,com.intellij.platform.syntax.tree.ASTMarkers,com.intellij.platform.syntax.lexer.Lexer,com.intellij.platform.syntax.tree.TokenizationPolicy,com.intellij.platform.syntax.tree.SyntaxBuilderFactory,com.intellij.platform.syntax.lexer.TokenList,com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider,kotlin.jvm.functions.Function0):com.intellij.platform.syntax.tree.KmpSyntaxNode
*f:com.intellij.platform.syntax.tree.ParseKt
- sf:parse(java.lang.CharSequence,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider,com.intellij.platform.syntax.CancellationProvider,com.intellij.platform.syntax.Logger):com.intellij.platform.syntax.tree.KmpSyntaxNode
- bs:parse$default(java.lang.CharSequence,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider,com.intellij.platform.syntax.CancellationProvider,com.intellij.platform.syntax.Logger,I,java.lang.Object):com.intellij.platform.syntax.tree.KmpSyntaxNode
- sf:parse(java.lang.CharSequence,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider,com.intellij.platform.syntax.CancellationProvider,com.intellij.platform.syntax.Logger,com.intellij.platform.syntax.parser.WhitespaceOrCommentBindingPolicy):com.intellij.platform.syntax.tree.KmpSyntaxNode
- bs:parse$default(java.lang.CharSequence,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.SyntaxElementTypeSet,com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider,com.intellij.platform.syntax.CancellationProvider,com.intellij.platform.syntax.Logger,com.intellij.platform.syntax.parser.WhitespaceOrCommentBindingPolicy,I,java.lang.Object):com.intellij.platform.syntax.tree.KmpSyntaxNode
*:com.intellij.platform.syntax.tree.SyntaxBuilderFactory
- a:build(java.lang.CharSequence,com.intellij.platform.syntax.lexer.TokenList,I):com.intellij.platform.syntax.parser.SyntaxTreeBuilder
*:com.intellij.platform.syntax.tree.TokenizationPolicy
@@ -15,6 +15,7 @@ import com.intellij.platform.syntax.lexer.performLexing
import com.intellij.platform.syntax.parser.DefaultWhitespaceBindingPolicy
import com.intellij.platform.syntax.parser.SyntaxTreeBuilder
import com.intellij.platform.syntax.parser.SyntaxTreeBuilderFactory
import com.intellij.platform.syntax.parser.WhitespaceOrCommentBindingPolicy
import com.intellij.platform.syntax.util.language.SyntaxElementLanguageProvider
import org.jetbrains.annotations.ApiStatus
@@ -27,6 +28,7 @@ fun parse(
languageMapper: SyntaxElementLanguageProvider,
cancellationProvider: CancellationProvider? = null,
logger: Logger? = null,
whitespaceOrCommentBindingPolicy: WhitespaceOrCommentBindingPolicy? = DefaultWhitespaceBindingPolicy,
): KmpSyntaxNode {
fun createBuilder(
text: CharSequence,
@@ -37,7 +39,7 @@ fun parse(
tokens,
whitespaces,
comments,
).withWhitespaceOrCommentBindingPolicy(DefaultWhitespaceBindingPolicy) // todo this is incorrect!
).withWhitespaceOrCommentBindingPolicy(whitespaceOrCommentBindingPolicy) // todo this is incorrect!
.withStartOffset(startLexemeOffset)
.build()