uio-jpt / pt-compiler

5 stars 0 forks source link

"Only the last formal paramater may be of variable arity" #11

Closed eyvindwa closed 12 years ago

eyvindwa commented 12 years ago

Dersom man har konstruktører med variabel lengde-parametre, og i tillegg har en assumed-konstruktør, så får man denne feilen.

Her er en test som viser problemet: https://github.com/uio-jpt/pt-compiler/blob/master/PTFrontend/test/compiler_semantic_tests/single_file/constructors/VariableLengthArgument.javapt

eyvindwa commented 12 years ago

For øvrig: den fine trykkfeilen i tittelen stammer også direkte fra kompilatoren :)

svk commented 12 years ago

Fikset nå.

Problemet her var bare at det manglet en implementasjon av den arvede attributten variableArityValid() -- som bare sjekker om argumentet er det siste i gyldige kontekster for "..." -- for PTConstructorPromise (som er vår assumed-constructor-klasse). Denne returnerte dermed false, og feilmeldingen fra JastaddJ var basert på antagelsen om at dette bare kunne skje fordi "..." ikke var siste argument.

Trykkfeil i JastaddJ får vi vel la være deres problem :)