Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validación: detectar llamadas recursivas donde deberían usar super #1950

Closed
fdodino opened this issue Oct 1, 2020 · 4 comments
Closed
Labels
component: validator type: Needs Discussion Please detail expected behavior & examples

Comments

@fdodino
Copy link
Collaborator

fdodino commented Oct 1, 2020

class Torcaza inherits Ave {
	
	override method comer(gramos) {
		self.comer(gramos)
	}
	
}

hice este ejemplo en clase y se rompe mal con un StackOverflow: null. Más allá de arreglar el null, me parece que se podría atajar una llamada directa en un método al mismo método... qué opinan? @tesonep @asanzo @npasserini @nscarcella @lspigariol @PalumboN Para discutir algún domingo...

No entraría la validación si ponemos un if:

class Torcaza inherits Ave {
	
	override method comer(gramos) {
                if (true) self.comer(gramos)
	}
	
}
@fdodino fdodino added component: validator type: Needs Discussion Please detail expected behavior & examples labels Oct 1, 2020
@fdodino fdodino added this to the Wollok 3.0.0 J milestone Oct 1, 2020
@asanzo
Copy link

asanzo commented Oct 1, 2020

  • No me parece mal el stack overflow. Me gustaría sí que el error sea.... elegante, o al menos expresivo. No sé cómo se controlan estas cosas en un lenguaje.
  • Claro, pero no tenemos que cancelar la posibilidad de recursión intencional....

94760021-cec5e780-0377-11eb-835e-efcd107160f5

@fdodino
Copy link
Collaborator Author

fdodino commented Oct 1, 2020

jajaja, ahora me da un poco de miedo meter la validación. Sobre todo para los amantes del while, que podrían hackearla con un método recursivo y esta validación les molestaría... creo que voy a conformarme con arreglar el null del Stack Overflow.

@lspigariol
Copy link
Contributor

lspigariol commented Oct 1, 2020 via email

@fdodino
Copy link
Collaborator Author

fdodino commented Nov 14, 2020

Cierro el issue, me parece que hay cosas más lindas para laburar.

@fdodino fdodino closed this as completed Nov 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: validator type: Needs Discussion Please detail expected behavior & examples
Projects
None yet
Development

No branches or pull requests

3 participants