Como o Scala sabe a diferença entre “def foo” e “def foo ()”?

Eu sei sobre a diferença de uso entre os métodos de parâmetro vazio e sem parâmetros em scala, e minha pergunta pertence ao arquivo de classe gerado. Quando olho para essas duas classes no javap, elas parecem exatamente as mesmas:

class Foo {
  def bar() = 123;
}


class Foo {
  def bar = 123;
}

Mas quando olho para eles em escalpel, eles refletem com precisão as listas de parâmetros. Onde no arquivo de classe é scalac fazendo essa distinção conhecida?