Add another test to test/infinite-expansion.js
Don't recycle types for object literals

Too many false positives, and it destroys reliable
jump-to-definition on such objects.
Separate parsing and analyzing, reuse ASTs