2121 */
2222package com .github ._1c_syntax .bsl .parser .testing ;
2323
24- import com .github ._1c_syntax .bsl .parser .CaseChangingCharStream ;
25- import com .github ._1c_syntax .bsl .parser .UnicodeBOMInputStream ;
2624import lombok .Getter ;
2725import lombok .SneakyThrows ;
2826import org .antlr .v4 .runtime .CharStream ;
2927import org .antlr .v4 .runtime .CharStreams ;
30- import org .antlr .v4 .runtime .CommonTokenStream ;
3128import org .antlr .v4 .runtime .ConsoleErrorListener ;
29+ import org .antlr .v4 .runtime .IncrementalTokenStream ;
3230import org .antlr .v4 .runtime .Lexer ;
3331import org .antlr .v4 .runtime .Token ;
32+ import org .antlr .v4 .runtime .UnicodeBOMInputStream ;
3433import org .apache .commons .io .IOUtils ;
3534
3635import java .io .IOException ;
@@ -72,9 +71,9 @@ public TestLexer(Class<T> clazz) {
7271 /**
7372 * Возвращает список токенов в переданной строке
7473 *
75- * @param mode
76- * @param inputString
77- * @return
74+ * @param mode Режим
75+ * @param inputString Входная строка
76+ * @return Токены в строке
7877 */
7978 public List <Token > getTokens (int mode , String inputString ) {
8079 return getTokensStream (mode , inputString ).getTokens ();
@@ -83,11 +82,11 @@ public List<Token> getTokens(int mode, String inputString) {
8382 /**
8483 * Возвращает токены переданной строки
8584 *
86- * @param mode
87- * @param inputString
88- * @return
85+ * @param mode Режим
86+ * @param inputString Входная строка
87+ * @return Токены в строке
8988 */
90- public CommonTokenStream getTokensStream (int mode , String inputString ) {
89+ public IncrementalTokenStream getTokensStream (int mode , String inputString ) {
9190 CharStream input ;
9291
9392 try (
@@ -96,8 +95,7 @@ public CommonTokenStream getTokensStream(int mode, String inputString) {
9695 var inputStreamReader = new InputStreamReader (ubis , StandardCharsets .UTF_8 )
9796 ) {
9897 ubis .skipBOM ();
99- var inputTemp = CharStreams .fromReader (inputStreamReader );
100- input = new CaseChangingCharStream (inputTemp );
98+ input = CharStreams .fromReader (inputStreamReader );
10199 } catch (IOException e ) {
102100 throw new RuntimeException (e );
103101 }
@@ -106,7 +104,7 @@ public CommonTokenStream getTokensStream(int mode, String inputString) {
106104 lexer .removeErrorListener (ConsoleErrorListener .INSTANCE );
107105 lexer .pushMode (mode );
108106
109- var tempTokenStream = new CommonTokenStream (lexer );
107+ var tempTokenStream = new IncrementalTokenStream (lexer );
110108 tempTokenStream .fill ();
111109
112110 return tempTokenStream ;
@@ -116,7 +114,7 @@ public CommonTokenStream getTokensStream(int mode, String inputString) {
116114 * Формирует строку с именами токенов на основании переданного массива их идентификаторов
117115 *
118116 * @param tokenTypes массив идентификаторов (типов) токенов
119- * @return
117+ * @return Имя токена
120118 */
121119 public String tokenName (Integer [] tokenTypes ) {
122120 return Arrays .stream (tokenTypes ).map (this ::tokenName ).collect (Collectors .joining (", " ));
@@ -125,8 +123,8 @@ public String tokenName(Integer[] tokenTypes) {
125123 /**
126124 * Возвращает имя токена по его идентификатору (типу)
127125 *
128- * @param type
129- * @return
126+ * @param type Идентификатор токена
127+ * @return Имя токена
130128 */
131129 public String tokenName (Integer type ) {
132130 if (!ruleNames .isEmpty () && type < ruleNames .size ()) {
@@ -149,7 +147,7 @@ public LexerAsserts assertThat(String inputString) {
149147 /**
150148 * Настраивает и запоминает тестируемый контекст. Использует дефолтное channel
151149 *
152- * @param mode
150+ * @param mode Режим
153151 * @param inputString анализируемая строка
154152 * @return служебный класс для замыкания
155153 */
@@ -160,7 +158,7 @@ public LexerAsserts assertThat(int mode, String inputString) {
160158 /**
161159 * Настраивает и запоминает тестируемый контекст
162160 *
163- * @param mode
161+ * @param mode Режим
164162 * @param inputString анализируемая строка
165163 * @param channel анализируемая строка
166164 * @return служебный класс для замыкания
@@ -173,7 +171,7 @@ public LexerAsserts assertThat(int mode, String inputString, int channel) {
173171 * Настраивает и запоминает тестируемый контекст. Использует дефолтное mode
174172 *
175173 * @param inputString анализируемая строка
176- * @param channel
174+ * @param channel Канал
177175 * @return служебный класс для замыкания
178176 */
179177 public LexerAsserts assertThat (String inputString , int channel ) {
@@ -182,8 +180,8 @@ public LexerAsserts assertThat(String inputString, int channel) {
182180
183181 private T createLexer (Class <T > lexerClass ) {
184182 try {
185- return lexerClass .getDeclaredConstructor (CharStream .class , boolean . class )
186- .newInstance (CharStreams .fromString ("" ), true );
183+ return lexerClass .getDeclaredConstructor (CharStream .class )
184+ .newInstance (CharStreams .fromString ("" ));
187185 } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e ) {
188186 throw new RuntimeException (e );
189187 }
0 commit comments