Я тестирую функциональность генерации кода и намеренно создаю очень большие. go исходные файлы.
Однако я вижу ошибки с компилятором go в строке 1048575
(что составляет 0xFFFFF
), например as:
generated.go:1048575:75: invalid character U+0040 '@'
generated.go:1048575:76: const declaration cannot have type without expression
generated.go:1048575:88: syntax error: unexpected E_Blah_Blah, expecting semicolon or newline or )
Это известное ограничение?
EDIT-1: Комментаторы запросили дополнительную информацию о содержимом сгенерированного файла; Дальнейшие тесты показывают, что когда я намеренно представляю новую ошибку в строке 1048573 или 1048574, она сообщается так, как я и ожидал, но если я введу ошибку с номером строки 1048575
или выше, я всегда получаю сообщение об ошибке в 1048575.
РЕДАКТИРОВАТЬ-2: Теперь я понимаю, что исходная проблема invalid character U+0040 '@'
действительно была ошибкой в моем сгенерированном файле, но она находилась дальше того номера строки, который сообщает мне компилятор.
РЕДАКТИРОВАТЬ-3: Так что я думаю, что вопрос должен был быть: есть ли способ, чтобы go -компилятор дал правильный номер строки для проблемы, если ошибка ниже, чем строка 0xFFFFF?