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:

<code>class Foo {
  def bar() = 123;
}


class Foo {
  def bar = 123;
}
</code>

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?

questionAnswers(1)

yourAnswerToTheQuestion