-
Notifications
You must be signed in to change notification settings - Fork 18
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
Investigar bug em casos varargs como parametros causando erro nas linhas modificadas #56
Comments
projeto: jsoup Nesse caso foi reportado que o framework retornou linhas que não foram modificadas. Verificando isso melhor percebi que as linhas acusadas por um método com overloading. |
@pauloborba testando esse caso na ferramenta obti a saída:
|
o diffj retornou que ocorreram mudanças sem que elas tenham acontecido, provavelmente por causa do overloading de métodos. |
@jvcoutinho olha o bug no diffj. você já tinha notado algo similar? @rafaelmotaalves desses uma olhada nas issues deles para ver se tem algo similar? ou se já foi resolvido em uma versão mais recente? |
@pauloborba não achei nenhuma menção não. Me parece que o projeto não está sendo mantido ativamente, o último commit foi mais ou menos um ano atrás |
@pauloborba nunca notei não @rafaelmotaalves pelo código e pelo texto, aparentemente o diffj comparou o data(String) com o método data(String...) (de número variável de argumentos) |
@rafaelmotaalves, por favor, confirma com outro exemplo que é realmente o caso que o diffj nao lida com overloading. @jvcoutinho você não tinha visto nenhuma restrição nesse sentido? |
@pauloborba investigando melhor, na verdade é um problema bem específico que é: Nesse caso especifico em que existem dois métodos com mesmo nome é com esses tipos de parâmetros que dá problema. Se os tipos dos parâmetros for diferente com mesmo nome, ele reconhece. |
Não, não. Aparentemente é um caso bem específico de sobrecarga que o DiffJ não lida, mas não é no geral. |
@rafaelmotaalves ah, ele tem problema então com overloading devido a varargs. por curiosidade, esse código compila? é possível em Java ter overloading nessa situação? é esquisito porque o segundo método pode ser chamado com um número arbitrário de argumentos, inclusive um argumento, o que conflita com o primeiro método |
@rafaelmotaalves vou testar, mas acho que sim, porque se eu não me engano o build é gerado |
@pauloborba ele compila sem problemas. Se chamar com apenas um argumento roda o método com apenas um, se rodar com mais ou nenhum roda a função com ... |
OK @rafaelmotaalves, para evoluir nisto então temos duas opções:
mas nao parece ser prioritário já que identificamos apenas um caso. OK @leusonmario? |
No description provided.
The text was updated successfully, but these errors were encountered: