diff --git a/platform/syntax/syntax-api/src/com/intellij/platform/syntax/lexer/Lexer.kt b/platform/syntax/syntax-api/src/com/intellij/platform/syntax/lexer/Lexer.kt index 3ed4cece9417..5e6d0f096fe9 100644 --- a/platform/syntax/syntax-api/src/com/intellij/platform/syntax/lexer/Lexer.kt +++ b/platform/syntax/syntax-api/src/com/intellij/platform/syntax/lexer/Lexer.kt @@ -35,7 +35,7 @@ interface Lexer { } fun getTokenText(): String { - return this.getTokenSequence().toString() + return getTokenSequence().toString() } /** diff --git a/platform/syntax/syntax-util/api-dump-experimental.txt b/platform/syntax/syntax-util/api-dump-experimental.txt index 6f53de313ce8..b95b0994fcbe 100644 --- a/platform/syntax/syntax-util/api-dump-experimental.txt +++ b/platform/syntax/syntax-util/api-dump-experimental.txt @@ -1,20 +1,14 @@ *c:com.intellij.platform.syntax.util.lexer.DelegateLexer -- com.intellij.platform.syntax.lexer.Lexer +- com.intellij.platform.syntax.util.lexer.LexerBase - (com.intellij.platform.syntax.lexer.Lexer):V - advance():V - getBufferEnd():I - getBufferSequence():java.lang.CharSequence -- getCurrentPosition():com.intellij.platform.syntax.lexer.LexerPosition - f:getDelegate():com.intellij.platform.syntax.lexer.Lexer - getState():I - getTokenEnd():I -- getTokenSequence():java.lang.CharSequence - getTokenStart():I -- getTokenText():java.lang.String - getTokenType():com.intellij.platform.syntax.SyntaxElementType -- restore(com.intellij.platform.syntax.lexer.LexerPosition):V -- start(java.lang.CharSequence):V -- start(java.lang.CharSequence,I,I):V - start(java.lang.CharSequence,I,I,I):V *c:com.intellij.platform.syntax.util.lexer.FlexAdapter - com.intellij.platform.syntax.util.lexer.LexerBase diff --git a/platform/syntax/syntax-util/src/com/intellij/platform/syntax/util/lexer/DelegateLexer.kt b/platform/syntax/syntax-util/src/com/intellij/platform/syntax/util/lexer/DelegateLexer.kt index 6983ffb985d4..ade05be302cd 100644 --- a/platform/syntax/syntax-util/src/com/intellij/platform/syntax/util/lexer/DelegateLexer.kt +++ b/platform/syntax/syntax-util/src/com/intellij/platform/syntax/util/lexer/DelegateLexer.kt @@ -1,8 +1,41 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.platform.syntax.util.lexer +import com.intellij.platform.syntax.SyntaxElementType import com.intellij.platform.syntax.lexer.Lexer import org.jetbrains.annotations.ApiStatus @ApiStatus.Experimental -open class DelegateLexer(val delegate: Lexer) : Lexer by delegate +open class DelegateLexer(val delegate: Lexer) : LexerBase() { + override fun start(buffer: CharSequence, startOffset: Int, endOffset: Int, initialState: Int) { + delegate.start(buffer, startOffset, endOffset, initialState) + } + + override fun getState(): Int { + return delegate.getState() + } + + override fun getTokenType(): SyntaxElementType? { + return delegate.getTokenType() + } + + override fun getTokenStart(): Int { + return delegate.getTokenStart() + } + + override fun getTokenEnd(): Int { + return delegate.getTokenEnd() + } + + override fun advance() { + delegate.advance() + } + + override fun getBufferSequence(): CharSequence { + return delegate.getBufferSequence() + } + + override fun getBufferEnd(): Int { + return delegate.getBufferEnd() + } +}