TimeToogo/Pinq — pull request #16 by TimeToogo (2014-09-13 09:33:01+00:00)
Title: Implement new static analysis tools and infrastructure for expression trees

This provides the tools necessary to analyse a given expression tree.

This branch currently supports:
- Getting type and reflection information from almost all types of expressions.
- Emulating PHP's native type system for all operators as of PHP 5.6
- Extendable type system implementation with type data for date for date time classes, native interfaces (eg `ArrayAccess`), string / array / math internal functions and the `ITraversable` query API.

Unsupported:
- Dynamic language features such as variable function / method calls, variable class types...
- Proper handling of references for all use cases (this is almost impossible in a language such as PHP)
- Only a small subset of internal classes or functions type data is implemented.
- User defined classes type data. Possible through utilising docblocks via [phpDocumentor/ReflectionDocBlock](https://github.com/phpDocumentor/ReflectionDocBlock)