Skip to content

ironcrypto/java-to-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 2 Rust

Maintenance Eclipse Java

Author: Cesar Augusto Guzman Alvarez @cguz

Description

This is a command line tool based on the version web-application. Thus, all the credits for the original author of the web-application.

The application is a small help when trying to port Java-Code to Rust.

The author is a beginner in rust, so the generated code will sometimes be kind of "unrusty".

How to use it.

$ java -jar java-2-rust.jar [path_file.java | path_directory]

The converted files will be saved in the folder: "output"

Implemented funcionality

  • might be of use:

    • conversion of declarations Java: "Type name = init" to "let name: Type = init"
    • conversion of arrays type[] to vectors
    • snake-case for camelcase-identifiers starting with lower case
    • mapping of primitive types
    • &self as first parameter in non static methods
    • new type becomes type::new
    • class becomes struct with its instance-variables
    • class-methods can be found in extra block impl for { }
    • decide about usage of mut
    • conversion of integer-constants to float-constants where necessary
    • conversion of Exceptions into Results
    • static methods are called using ::
    • @Test is converted to #[test]
    • interfaces become traits
    • Java methods with declared throws return Result<_,Rc> used rust code can be found in directory rust.
  • experimental

    • conversion of throw to break loop with label
  • very experimental certainly wrongly done:

    • super-classes become instance-variables
  • what does not change

    • javadoc-comments

About

A command line Java to rust converter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%