Kotlin Back-Tick в именах методов: как это работает?

Я узнал, что в Котлине можно назвать такой метод:

fun `i am a test method`(){ Assert.assertEquals("x", "x") } 

Компилятор генерирует метод с символами подчеркивания вместо пробелов: «i_am_a_test_method», что представляется разумным, поскольку JVM не разрешает методы с пробелами afaik. Как Junit и / или Gradle сообщают об этих тестах с помощью обратного тика?

В дескрипторе метода Java несколько символов имеют особое значение, а именно [ ( ) / и ; , Пространство не имеет особого значения, поэтому его можно использовать непосредственно в имени метода; это именно то, что делает компилятор. Пробелы не преобразуются в символы подчеркивания.