j2objc
Alat j2objc menerjemahkan file sumber Java tertentu menjadi sumber Objective-C atau Objective-C++ untuk digunakan dalam aplikasi iOS.
j2objc [ options ] file1.java ...
Opsi berikut ini didukung. Untuk opsi yang menggunakan jalur, beberapa direktori dan file jar dipisahkan dengan tanda ':', seperti halnya dengan perintah java
dan javac
.
Opsi umum
- -sourcepath <path>
- Menentukan tempat menemukan file sumber input.
- -classpath <path>
- Menentukan tempat menemukan file class pengguna.
- -d <direktori>
- Menentukan lokasi untuk menempatkan file Objective-C yang dihasilkan.
- -encoding <encoding>
- Menentukan encoding karakter file sumber (default UTF-8).
- -source <rilis>
- Menyediakan kompatibilitas sumber dengan rilis tertentu.
- -g
- Membuat dukungan proses debug.
- -l, --list
- Mencantumkan file yang diterjemahkan.
- -v, --verbose
- Menghasilkan pesan tentang apa yang dilakukan penerjemah.
- -Werror
- Membuat semua peringatan menjadi error.
- -h, --help
- Cetak pesan ini.
Opsi terjemahan
- --add-reads
- Opsi diteruskan langsung ke compiler Java (lihat bantuan javac untuk detailnya).
- --allow-inherited-constructors
- Tidak mengeluarkan peringatan compiler saat kode native mengakses konstruktor turunan.
- --build-closure
- Menerjemahkan class dependen jika sudah usang (seperti
javac
). - --class-properties
- Membuat properti class untuk variabel statis dan konstanta enum.
- --dead-code-report <file>
- Menentukan laporan penggunaan ProGuard untuk penghapusan kode yang sudah tidak berlaku.
- --doc-comments
- Terjemahkan komentar Javadoc menjadi komentar yang kompatibel dengan Xcode.
- --doc-comments-warnings
- Laporkan peringatan saat menerjemahkan komentar Javadoc.
- -external-annotation-file <file>
- Tentukan anotasi paling umum yang memengaruhi transpilasi di Java Annotation Index File (format yang ditentukan oleh Checker Framework).
- -g:none
- Jangan membuat dukungan proses debug.
- -g:relative
- Membuat dukungan proses debug dengan jalur relatif.
- --generate-deprecated
- Membuat atribut yang tidak digunakan lagi untuk metode, class, dan antarmuka yang tidak digunakan lagi.
- -J<flag>
- Meneruskan <flag> Java, seperti
-Xmx1G
, ke runtime sistem. - --mapping <file>
- Tambahkan file pemetaan metode.
- --no-class-properties
- Jangan membuat properti class untuk variabel statis dan konstanta enum.
- --no-extract-unsequenced
- Jangan menulis ulang ekspresi yang akan menghasilkan error modifikasi tanpa urutan.
- --no-nullability
- Jangan buat anotasi nullability Objective-C.
- --no-package-directories
- Jangan membuat direktori untuk paket Java saat membuat file.
- --no-segmented-headers
- Membuat header dengan pelindung di sekitar setiap jenis yang dideklarasikan. Berguna untuk memutus siklus impor.
- --no-wrapper-methods
- Jangan membuat metode wrapper Objective-C untuk konstruktor dan metode statis. (J2ObjC menghasilkan fungsi C untuk jenis file yang dapat dieksekusi ini)
- --nullability
- Mengonversi anotasi Nullable dan Nonnull ke anotasi Objective-C.
- --patch-module
- Opsi diteruskan langsung ke compiler Java (lihat bantuan javac untuk detailnya).
- --prefix <package=prefix>
- Mengganti awalan yang ditentukan untuk nama paket.
- --prefixes <file>
- Menentukan file properti dengan definisi awalan.
- --preserve-full-paths
- Membuat file output dengan jalur relatif yang sama dengan file input.
- -processor <class1>[,<class2>...]
- Nama pemroses anotasi yang akan dijalankan; mengabaikan proses penemuan default.
- -processorpath <path>
- Menentukan tempat untuk menemukan pemroses anotasi.
- --reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
- Buat atau kecualikan dukungan khusus yang diperlukan untuk refleksi Java.
- --reserved-names <file>
- Menghindari penetapan ulang ID yang ada di header sistem.
- --static-accessor-methods
- Membuat metode pengakses untuk variabel statis dan konstanta enum.
- --strip-gwt-incompatible
- Menghapus metode yang ditandai dengan
GwtIncompatible
anotasi, kecuali jika nilainya diketahui kompatibel. - --strip-reflection
- Jangan buat metadata yang diperlukan untuk refleksi Java (catatan: ini akan mengurangi dukungan refleksi secara signifikan).
- --swift-friendly
- Membuat kode yang memfasilitasi pengimporan Swift (setara dengan --class-properties --nullability).
- --system
- Opsi diteruskan langsung ke compiler Java (lihat bantuan javac untuk detailnya).
- -t, --timing-info
- Waktu cetak yang dihabiskan dalam langkah terjemahan.
- --timing-info:{all,total,none}
- Waktu cetak yang dihabiskan dalam langkah terjemahan.
- -use-arc
- Membuat kode Objective-C untuk mendukung Penghitungan Referensi Otomatis (ARC).
- -use-reference-counting
- Membuat kode Objective-C untuk mendukung penghitungan referensi manual iOS (default).
- -version
- Informasi versi.
- -x <language>
- Tentukan bahasa yang akan dihasilkan. Nilai yang mungkin adalah objective-c (default) dan objective-c++.
- -X
- Bantuan cetak untuk opsi non-standar.
Opsi non-standar
- -Xbootclasspath:<jalur>
- Jalur booting yang digunakan oleh terjemahan (bukan alat itu sendiri).
- -Xlint
- Aktifkan semua peringatan.
- -Xlint:none
- Nonaktifkan semua peringatan yang tidak dimandatkan oleh Spesifikasi Bahasa Java.
- -Xlint:-xxx
- Nonaktifkan peringatan xxx, dengan xxx adalah salah satu nama peringatan yang didukung untuk -Xlint:xxx, di bawah.
- -Xlint:cast
- Peringatkan tentang ekspresi transmisi yang tidak perlu dan berlebihan.
- -Xlint:deprecation
- Peringatkan tentang penggunaan item yang tidak digunakan lagi.
- -Xlint:dep-ann
- Peringatkan tentang item yang didokumentasikan dengan komentar Javadoc @deprecated, tetapi tidak memiliki anotasi @Deprecated.
- -Xlint:empty
- Peringatkan tentang pernyataan kosong.
- -Xlint:fallthrough
- Periksa blok tombol untuk kasus error dan berikan pesan peringatan untuk kasus yang ditemukan.
- -Xlint:finally
- Peringatkan tentang klausul finally yang tidak dapat diselesaikan secara normal.
- -Xlint:rawtypes
- Peringatkan tentang operasi yang tidak dicentang pada jenis raw.
- -Xlint:serial
- Peringatkan tentang definisi serialVersionUID yang tidak ada pada class yang dapat diserialisasi.
- -Xlint:static
- Peringatkan tentang metode serial yang dipanggil pada instance.
- -Xlint:unchecked
- Berikan detail selengkapnya untuk peringatan konversi yang belum diperiksa yang dimandatkan oleh Spesifikasi Bahasa Java.
- -Xlint:varargs
- Peringatkan tentang penggunaan metode argumen variabel (varargs) yang tidak aman, khususnya, yang berisi argumen yang tidak dapat diverifikasi.
- -Xno-jsni-warnings
- Peringatkan jika JSNI (GWT) pemisah kode native digunakan, bukan Pemisah OCNI.