https://groups.google.com/forum/#!search/allspaw$20phriend%7...
For now, we have a primordial Syntastic vim plugin (https://github.com/etsy/phan/blob/master/plugins/vim/bundle/...) for getting errors into the quickfix view.
If you want to start working on that, feel free to open up an issue (https://github.com/etsy/phan/issues/new) to start a conversation about it.
We currently store method/function callers in the sqlite database (see https://github.com/etsy/phan/blob/master/src/Phan/Analyze/Br...), but aren't yet exposing an interface for getting callers. We'll want to store callers for constants, classes, properties and global variables as well.
Project started after mine. https://github.com/cweagans/theforce
Just ran out of time, so mkusher did his own thing. I disagree with his direction and I think it's overly complex from a user's standpoint, but he disagrees and isn't willing to change it, so I lost interest in that project too.
Using the actual AST from the PHP interpreter is going to be a) much faster and b) much more accurate.
That being said, you should take a look at the '-s' flag for saving state to a sqlite database. After the initial run the stored state can be used to only scan changed files. For a patch with a few files changed it should be about 0.5s to run the analysis.
I'm not sure what SIMD refers to. Can you clarify that?
With a name like "asm" that comes as a surprise... Single Instruction Multiple Data[0] refers to low level processor instructions that are able to work across a range of data, e.g. video cards working on changing the values in a framebuffer with one instruction mapping across an entire buffer in parallel.
I do this for things like:
$user_requirements = [filter1, filter2];
foreach ($user_requirements as $test) { if (!$test($some_data)) { return false; } return true; }
Is there any way to tell the analyzer to make sure that afunction of n arguments is passed in?