Fix a typo in a comment
Add PHP-Parser submodule
Write DirectoryNodeVisitor and ScopeVisitor to sort different parsed elements by their type and scope path
Use is[Private|Protected|Public]() to determine the visibility of classes and their members
Use isStatic() to determine if class members are static
Use isAbstract() to determine if classes and their member functions are abstract
Use the 'params' subnode to get a function's or class method's parameters
Use 'args' subnode to get a function call's arguments
Use the 'extends' subnode to determine the parent of a class
Use the 'comments' attribute to get a function's PHPDoc
Use 'startLine' instead of 'line' due to changed parser API
Change a line number in AnalyzedPHPFileTest

In a line-wrapped class member function definition, the new PHP parser
interpretes the first line (holding only 'private') as the relevant
startLine (not the following one containing function some_func() {} ).
The new parser also detects object variables when their members are invoked
Add InAssignmentVisitor to provide the 'in_var' attribute

Also, remove assert_object_property() as it's obsolete now.
Handle the 'new' operator
Update test to handle relative namespaces in correspondence with the new parser
Remove vip-scanner/class-token-parser.php as it's obsolete now
Add tests for endLine numbers
In PHPAnalyzer::add_renderers(), rename $child_path to $child_name as that's what it really is
Turn renderers into analyzers