Hakana هو typechecker للاختراق ، بنيت من Slack.
إنه يكمل Hack TypeChecker الحالي الذي يأتي مع HHVM من خلال توفير رؤى إضافية تتجاوز نطاق typechecker الرسمي.
الهدف الأساسي لـ Hakana هو استنتاج الأنواع الدقيقة في قاعدة الكود ، والقيام بذلك بسرعة.
يتيح الاستدلال الجيد من النوع Hakana القيام بالعديد من الأشياء القيمة الأخرى:
ليس المقصود من هذا استبدال TypeChecker الافتراضي الخاص بـ Hack ، والذي يدعم ميزات إضافية (على سبيل المثال السياقات والقدرات) التي لا تكون ذات صلة على الفور بالاستدلال.
لم يتم تصميم هذه الأداة ليتم تشغيلها على كل مفاتيح ، ولكن لديها خادم لغة مع دعم لفحوصات على التوفي.
استنساخ هذا الريبو ، وتثبيت الصدأ والبضائع إذا لم تكن بالفعل.
قم بتشغيل git submodule init && git submodule update لضمان وجود HHVM (Hakana Borrows HHVM's Parser).
ثم قم بتشغيل cd third-party/hhvm && git apply ../../hhvm-patch.diff && cd ../../ لتطبيق بعض التصحيحات التي تتيح تجميع WASM.
ثم قم بتشغيل cargo build --release
سيؤدي ذلك إلى إنشاء ثنائي في ./target/release/hakana-default
يمكنك إجراء جميع الاختبارات مع: cargo run --bin hakana --release test tests
يمكنك إجراء اختبار فردي مع cargo run --bin hakana test <path-to-test-dir>