Feature/tab alignment#1324
Conversation
|
Перфоманс алерт жёсткий Оо |
да трындец, дороже запросов |
0615d1a to
a3fc275
Compare
b0d660c to
c8a963b
Compare
|
Kudos, SonarCloud Quality Gate passed!
|
|
А регулярка на весь контент, а не на строку, не будет дешевле? |
А как с нее позиции посчитать потом? |
|
через groups (или как-то так) у MatcherResult. как в оскрипте РегулярноеВыражение.НайтиСовпадения()[0].Группы[1].... |
|
а так не быстрее будет:
|
|
порядок условий можно поменять |
а там номера строк будут? не только смещение? |
|
Вообще смещение, да. Возможно по смещению как-то можно найти позицию в исходном content и сматчить ее на contentList... Но вообще смотри, что я нашел - https://docs.oracle.com/javase/7/docs/api/java/io/LineNumberReader.html Может быть если чуть-чуть переписать получение contentList, то и по оффсету будет проще искать позицию? Дока по матчеру: https://docs.oracle.com/javase/9/docs/api/java/util/regex/Matcher.html Методы start и end могут в себя принимать номер группы. количество групп известно из groupCount. |
|
Вспомнить бы зачем нужен contentList. Несколько раз пытался его заюзать, и кажется ни разу не вышло. |
|
И ще заметил, что "/n/t" липнут в один токен и тогда строка у него начинает врать |
а там строка - это ж строка начала токена. |
Может отделим переносы от всех вайтспейсов? |
|
а зачем? я помню какое-то одно место, где схлопнутые вайтспейсы мешали. в остальном меньше токенов - меньше памяти :) |
|
надо написать парсер , где значаей инормацией будут вайтспейсы :) |
Описание
tab alignment diagnostic
Связанные задачи
Closes: #197
Чеклист
Общие
gradlew precommit)Для диагностик
Дополнительно