{"push_id":576072191,"size":45,"distinct_size":27,"ref":"refs/heads/php-parser-checks","head":"d4dd6903f8908b7d8b1e71e3e826b236d05119f2","before":"3d3694c0c4dc7dd703bce4bbe6137548cad5e761","commits":[{"sha":"43cbde39d074de8f3301887532e9675623504262","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Replace BaseScanner::add_error() definition with BaseCheck's, and add note about redundancy\n\nBaseScanner's version was apparently worse maintained, and thus buggier;\nfor example, it wouldn't set a default empty value for 'file', which\nwould later cause problems when displaying errors.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/43cbde39d074de8f3301887532e9675623504262"},{"sha":"0d488028dfc5cbe5f82b2392f04903de119a54c8","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Make BaseCheck::get_line() static so we can use it without needing a BaseCheck object","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/0d488028dfc5cbe5f82b2392f04903de119a54c8"},{"sha":"c4cf4112bd5bdc1df7852ad885e28c510554767e","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Add PHP-Parser submodule","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/c4cf4112bd5bdc1df7852ad885e28c510554767e"},{"sha":"2cb652d3abe73481877d5125f672315477cdf193","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"a","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/2cb652d3abe73481877d5125f672315477cdf193"},{"sha":"a91ed1640bdc8953015b4a789314135efe3c04de","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Use PHP-Parser instead of our own one\n\nIf PHP parsing fails, display a blocker type error.\nWrite ScopeVisitor to add scope information to node.\nFor future use by analyzers and scanners, have AnalyzedPHPFile\nexpose its AST via get_node_tree().","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/a91ed1640bdc8953015b4a789314135efe3c04de"},{"sha":"b63c5ed08d3c6f4e34b54df98ba1ee478871191a","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Fail with an error message if PHP-Parser cannot be found on activation","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/b63c5ed08d3c6f4e34b54df98ba1ee478871191a"},{"sha":"ffea8019e1327f7b0147f895009cdbebbd9191f5","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Add note about PHP-Parser requirement to the readmes","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/ffea8019e1327f7b0147f895009cdbebbd9191f5"},{"sha":"d4ad382e60db10bbbab2ede62d728c5ba2a6c51e","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Add InAssignmentVisitor to provide the 'in_var' attribute","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/d4ad382e60db10bbbab2ede62d728c5ba2a6c51e"},{"sha":"01e0e2590f271ba6ffb216c84f02a27c45c521ac","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Turn renderers into elements, and move files accordingly\n\nTurn the renderers (except for the underlying AnalyzerRenderer) into 'elements',\nwhich are given a Node (or subclass thereof; or filename, in case of\nFileElement) object at construction time, and whose sole purpose is then to\nmake information available in a way that can be easily represented by\nElementRenderer.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/01e0e2590f271ba6ffb216c84f02a27c45c521ac"},{"sha":"83da78514db56e611167d9b0c66541c5a5bd034d","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Clean up PHPDoc strings","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/83da78514db56e611167d9b0c66541c5a5bd034d"},{"sha":"568ca31c7a3d57b948bd6d4ae289537c3bc0a8a7","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Handle method and static calls separately from regular function calls","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/568ca31c7a3d57b948bd6d4ae289537c3bc0a8a7"},{"sha":"eb8935ba8595c89c05f9d6e377f1964c5e2fb635","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Add MethodCodeElement","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/eb8935ba8595c89c05f9d6e377f1964c5e2fb635"},{"sha":"c5f9b042dfe8571f76c88d0f6bca92103ec1ad3f","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Rename PHPAnalyzer to CodeAnalyzer, and CustomResourceAnalyzer to ResourceAnalyzer\n\nTo align better with CodeElement, and ResourceElement. Also rename files.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/c5f9b042dfe8571f76c88d0f6bca92103ec1ad3f"},{"sha":"60b522bccf780b7874e491ffc5b3498950f2eecd","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Add HACKING.md containing a 'Glossary' and a 'Code Walkthrough'","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/60b522bccf780b7874e491ffc5b3498950f2eecd"},{"sha":"58c6afc830b0d88fcfaf0bcc075c2e56b5e73147","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Modify CodeAnalyzer and ResourceAnalyzer to directly operate on a node tree\n\nTo that end, an AnalyzerVisitor is used to create elements for relevant nodes\nusing two new factories, CodeElementFactory and ResourceElementFactory.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/58c6afc830b0d88fcfaf0bcc075c2e56b5e73147"},{"sha":"90e37bd17d08abd8a9b65749d7ce31554b5a1103","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Remove AnalyzedPHPFileTest as it's obsolete\n\nThe interface (\"code element hierarchy\") it is testing is not used by VIP-scanner\nanymore; instead, the node tree itself is traversed by analyzers.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/90e37bd17d08abd8a9b65749d7ce31554b5a1103"},{"sha":"890c8822156d52f22cf77e6839d370c09c725240","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Remove vip-scanner/class-token-parser.php as it's obsolete now","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/890c8822156d52f22cf77e6839d370c09c725240"},{"sha":"a8d86196e45c082ac068d85f1688d84f06c7c430","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Use pseudo colors for coloring common prefixes with random colors\n\nPreviously, a callback was required by ElementGroup::get_children()\nto generate a list of random colors, which was obtained from\nElementRenderer.","distinct":false,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/a8d86196e45c082ac068d85f1688d84f06c7c430"},{"sha":"c2b2dd740d45dcd90cd25f1655f175aebbb9ac77","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Reword a misleading error note in UndefinedFunctionCheck\n\nThat $token_text isn't the filename, but the name of the function call.","distinct":true,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/c2b2dd740d45dcd90cd25f1655f175aebbb9ac77"},{"sha":"edb1b5ec6c35cf54a804539cf18270aace9b9756","author":{"email":"6f5ccf8c3f31fed36c8213408711400d90769bde@raz.or.at","name":"Bernhard Reiter"},"message":"Create CodeCheckTestBase to faciliate testing of PHP code checks","distinct":true,"url":"https://api.github.com/repos/ockham/vip-scanner/commits/edb1b5ec6c35cf54a804539cf18270aace9b9756"}]}