linux-BR.org

Notícias de software livre e tecnologias

Dado que este é um projeto de brinquedo e não o código de produção, decidi não ser muito preciso com os testes: basicamente, todos os caminhos de erro não são testados.😅
Finalmente, o código de campo é envolvido em uma opção, pois, para métodos nativos, não há bytecode!De qualquer forma, acho que a melhor estratégia para testar esse código seria via fuzzing, mas é algo que não investigei.😊 LineNumberTable Inclui um método simples Lookup_PC (& self, PC: ProgramCounter) -> LineNumber que é implementado por meio de uma pesquisa binária.Em retrospectiva, eu deveria ter usado o fantástico Nom Crate, ao qual pretendo dedicar um post no futuro.

Fonte: https://andreabergia.com/blog/2023/07/a-jvm-in-rust-part-3-parsing-class-files/