analyze-rust-ffi-crate-surface
Determine which parts of the C codebase use Rust-defined C symbols.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Determine which parts of the C codebase use Rust-defined C symbols.
How to use
Przygotuj ścieżkę do Rust crate'u lub pliku FFI, który chcesz analizować. Jeśli ścieżka nie zaczyna się od
src/, system automatycznie założy, że znajduje się w katalogusrc/redisearch_rs/c_entrypoint. Na przykładnumeric_range_tree_ffizostanie rozwinięty dosrc/redisearch_rs/numeric_range_tree_ffi.Uruchom umiejętność, podając ścieżkę do Rust crate'u lub pliku. Możesz analizować jeden plik, cały katalog lub wiele ścieżek jednocześnie, przekazując je jako argumenty.
Umiejętność przeskanuje pliki Rust i wyodrębni wszystkie symbole FFI eksportowane do C, takie jak funkcje oznaczone
extern "C" fnz atrybutem#[unsafe(no_mangle)]oraz definicje typów. W razie potrzeby skorzysta z auto-generowanych plików nagłówkowych z katalogusrc/redisearch_rs/headers.Dla każdego znalezionego symbolu umiejętność przeszuka kod C, aby ustalić, gdzie jest on używany — w wywołaniach funkcji, jako typ argumentu, typ pola struktury lub w rzutowaniu typów.
Otrzymasz raport zawierający dla każdego symbolu: nazwę symbolu, moduły C, które go używają, typ symbolu (funkcja, typ danych itp.) oraz informację, czy jest używany wyłącznie w testach jednostkowych.
Przeanalizuj raport, aby zidentyfikować zależności między kodem Rust a C i ocenić potencjalny wpływ planowanych zmian w interfejsie FFI.