This is an automated email from the ASF dual-hosted git repository. lkishalmi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push: new d1c39135a8 Do not expose LexerInputCharSteeam as an API. d1c39135a8 is described below commit d1c39135a852a579f32344e486d72d5e0647317b Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com> AuthorDate: Mon Jan 9 10:44:20 2023 -0800 Do not expose LexerInputCharSteeam as an API. --- .../src/org/netbeans/modules/languages/toml/TomlLexer.java | 5 +++-- .../org/netbeans/modules/languages/toml/TomlTokenId.java | 3 +-- .../spi/lexer/antlr4/AbstractAntlrLexerBridge.java | 14 ++++++++------ .../netbeans/spi/lexer/antlr4/LexerInputCharStream.java | 2 +- .../netbeans/modules/languages/antlr/v3/Antlr3Lexer.java | 3 +-- .../netbeans/modules/languages/antlr/v4/Antlr4Lexer.java | 3 +-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlLexer.java b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlLexer.java index 6b2414749c..451242b8f0 100644 --- a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlLexer.java +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlLexer.java @@ -32,8 +32,8 @@ import org.netbeans.spi.lexer.antlr4.AbstractAntlrLexerBridge; */ public final class TomlLexer extends AbstractAntlrLexerBridge<org.tomlj.internal.TomlLexer, TomlTokenId> { - public TomlLexer(LexerRestartInfo<TomlTokenId> info, org.tomlj.internal.TomlLexer lexer) { - super(info, lexer); + public TomlLexer(LexerRestartInfo<TomlTokenId> info) { + super(info, org.tomlj.internal.TomlLexer::new); } @Override @@ -122,6 +122,7 @@ public final class TomlLexer extends AbstractAntlrLexerBridge<org.tomlj.internal this.arrayDepthStack = new IntegerStack(lexer.arrayDepthStack); } + @Override public void restore(org.tomlj.internal.TomlLexer lexer) { super.restore(lexer); diff --git a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlTokenId.java b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlTokenId.java index e60e21194e..8eef764616 100644 --- a/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlTokenId.java +++ b/ide/languages.toml/src/org/netbeans/modules/languages/toml/TomlTokenId.java @@ -26,7 +26,6 @@ import org.netbeans.api.lexer.TokenId; import org.netbeans.spi.lexer.LanguageHierarchy; import org.netbeans.spi.lexer.Lexer; import org.netbeans.spi.lexer.LexerRestartInfo; -import org.netbeans.spi.lexer.antlr4.LexerInputCharStream; /** * @@ -67,7 +66,7 @@ public enum TomlTokenId implements TokenId { @Override protected Lexer<TomlTokenId> createLexer(LexerRestartInfo<TomlTokenId> info) { - return new TomlLexer(info, new org.tomlj.internal.TomlLexer(new LexerInputCharStream(info.input()))); + return new TomlLexer(info); } @Override diff --git a/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/AbstractAntlrLexerBridge.java b/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/AbstractAntlrLexerBridge.java index 112936af59..45ba32978d 100644 --- a/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/AbstractAntlrLexerBridge.java +++ b/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/AbstractAntlrLexerBridge.java @@ -18,6 +18,8 @@ */ package org.netbeans.spi.lexer.antlr4; +import java.util.function.Function; +import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.misc.IntegerList; import org.netbeans.api.lexer.Token; import org.antlr.v4.runtime.Lexer; @@ -38,24 +40,24 @@ public abstract class AbstractAntlrLexerBridge<L extends Lexer, T extends TokenI private final TokenFactory<T> tokenFactory; protected final L lexer; - protected final LexerInputCharStream input; + private final LexerInputCharStream input; /** * Constructor for the lexer bridge, usually used as: * <pre>{@code * public SomeLexer(LexerRestartInfo<SomeTokenId> info) { - * super(info, new SomeANTLRLexer(new LexerInputCharStream(info.input()))); + * super(info, SomeANTLRLexer::new); * } * } * </pre> * @param info The lexer restart info - * @param lexer The ANTLR generated Lexer + * @param lexerCreator A function to create an ANTLR from a {@code CharSteram}. */ @SuppressWarnings("unchecked") - public AbstractAntlrLexerBridge(LexerRestartInfo<T> info, L lexer) { + public AbstractAntlrLexerBridge(LexerRestartInfo<T> info, Function<CharStream, L> lexerCreator) { this.tokenFactory = info.tokenFactory(); - this.lexer = lexer; - this.input = (LexerInputCharStream) lexer.getInputStream(); + this.input = new LexerInputCharStream(info.input()); + this.lexer = lexerCreator.apply(input); if (info.state() != null) { ((LexerState<L>) info.state()).restore(lexer); } diff --git a/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/LexerInputCharStream.java b/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/LexerInputCharStream.java index a0853ba63a..2f782bb275 100644 --- a/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/LexerInputCharStream.java +++ b/ide/lexer.antlr4/src/org/netbeans/spi/lexer/antlr4/LexerInputCharStream.java @@ -28,7 +28,7 @@ import org.netbeans.spi.lexer.*; * * @author Laszlo Kishalmi */ -public class LexerInputCharStream implements CharStream { +final class LexerInputCharStream implements CharStream { private final LexerInput input; private int tokenMark = Integer.MAX_VALUE; diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3Lexer.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3Lexer.java index 5238858e17..876c59f57c 100644 --- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3Lexer.java +++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3Lexer.java @@ -26,7 +26,6 @@ import static org.antlr.parser.antlr3.ANTLRv3Lexer.*; import org.netbeans.modules.languages.antlr.AntlrTokenId; import static org.netbeans.modules.languages.antlr.AntlrTokenId.*; import org.netbeans.spi.lexer.antlr4.AbstractAntlrLexerBridge; -import org.netbeans.spi.lexer.antlr4.LexerInputCharStream; /** * @@ -36,7 +35,7 @@ public final class Antlr3Lexer extends AbstractAntlrLexerBridge<ANTLRv3Lexer, An public Antlr3Lexer(LexerRestartInfo<AntlrTokenId> info) { - super(info, new ANTLRv3Lexer(new LexerInputCharStream(info.input()))); + super(info, ANTLRv3Lexer::new); } @Override diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4Lexer.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4Lexer.java index e366210d4a..0dabcb6a71 100644 --- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4Lexer.java +++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4Lexer.java @@ -26,7 +26,6 @@ import static org.antlr.parser.antlr4.ANTLRv4Lexer.*; import org.netbeans.modules.languages.antlr.AntlrTokenId; import static org.netbeans.modules.languages.antlr.AntlrTokenId.*; import org.netbeans.spi.lexer.antlr4.AbstractAntlrLexerBridge; -import org.netbeans.spi.lexer.antlr4.LexerInputCharStream; /** * @@ -36,7 +35,7 @@ public final class Antlr4Lexer extends AbstractAntlrLexerBridge<ANTLRv4Lexer, An public Antlr4Lexer(LexerRestartInfo<AntlrTokenId> info) { - super(info, new ANTLRv4Lexer(new LexerInputCharStream(info.input()))); + super(info, ANTLRv4Lexer::new); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists