@mattbrowndev I mean, I don't really understand our YACC parser, but I think the main aversion is that we would require a new toolchain which is less "common" and doesn't support all architectures (because people smh use PHP on embedded devices)
But I think that would be neat, I know @pollita was at one point playing around with Rust to make a PHP parser.
I did take a whack at this recently, but grmtools was immature and I couldn't find anything better.
I invite anyone who'd like to prove (a) that it's significantly faster to justify having an additional compile complexity, and (b) that it's doable at all.
@mattbrowndev @pollita Mago which is a new SA tool written by @azjezz in Rust is incredibly speedy.
I think they plan to release the analyser as an individual crate.
@mattbrowndev @pollita the only problematic ones would be the get/set/isset/unset methods and possibly the trampoline ones with call/callStatic, or am I missing others?
However I don't think there would be a lot of performance improvements as our inference is quite bad regardless due to "only see one file at a time". I know the JIT helps with that as it has a better picture from what @nielsdos told me.
Description Currently only line can be obtained by reflection. AFAK this limitation is comming from AST as only line and no column is stored to save memory. I cannot tell if storing file column is ...