Existe limite de tamanho para um método?

Estou recebendo o seguinte erro:

javax.servlet.ServletException: java.lang.ClassFormatError: hgxco006_wbp04a_impl (Code of a method longer than 65535 bytes)

[quote=München]Estou recebendo o seguinte erro:

javax.servlet.ServletException: java.lang.ClassFormatError: hgxco006_wbp04a_impl (Code of a method longer than 65535 bytes)
[/quote]

Que isso! Só por curiosidade manda o código desse método aew.

Olá,

Existem sim limites. Da especificação:

http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#40222

O tamanho do bytecode gerado para um método não pode exceder 65536 bytes.

[]s,
Sami

Acho que ele não vai poder enviar o código juzepeleteiro, pelo nome do objeto dele (hgxco006_wbp04a_impl), é gerado por uma ferramenta case chamada Genexus, sei disso porque eu sou Analista Programador Genexus e o padrão com o que o Genexus gera seus objetos, é esse, não que ele não possa postar o código, mas é que o código que é gerado, é muito muito, mas muito porco, não da pra entender nada de cara, você tem que ficar um bom tempo entendendo o que ele faz, já que ele não gera javadoc, e também não possua um, agora ele pode postar o próprio código do Genexus, antes de gerar pra Java…

Mas enfim, particularidades a parte e voltado ao assunto que interessa, München, existe sim limite, que pelo o que você pode ver, é de 65536 bytes, o que você recebe de parâmetros (lá em Rules) na sua WebPanel, e outra coisa, bem provavel que não seja nada relacionado a parâmetros, e sim ao seu código em si, tente quebrá-lo em várias Procedures, por mais que você possua Subs no seu código, elas não irão te ajudar porque são geradas dentro da mesma classe, portanto, tente fazer isso que te disse…

Qual é versão/upgrade que você está utilizando do Genexus, e a versão do gerador Java também…

Até mais,

[]'s

FlwZ!

Caraca véio…

Procurando esse erro no google não retorna nada.

Não tem nada baleado aí não??

cara,
não existe motivo p/ uma classe chegar a 65535 bytes de tamanho.
OO ta passando longe…
A solução é simples, refactoring.

[]'s

.