SyntaxExtension::MultiModifier only visits true items, ImplItems, and TraitItems, not ForeignItems. This makes it impossible to write syntax extensions which operate directly on foreign items (e.g. functions declared inside an extern block).
I started work on rust-lang/rfcs#1217 out of tree but hit this issue almost right away.