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?