Ладно, я разобрался шо там не так, но не знаю, как починить. Сейчас там написан код, который нормально работает только в случае, если комментируемый мембер написан с новой строки. он берёт то, что есть до декларации мембера (в нашем случае это получается строчка из нескольких индентов, а потом public enum CompressionType { ), множит эту строчку для каждой строки в комментарии, и дописывает в начало.
Если эта строка содержит что угодно кроме индентов, то получается херня.
Но как правильно? Нужно, получается, заодно переформатировать код?