[Profiler] fix typehint
[ClassLoader] added missing support for PHP 5.4 traits
[HttpFoundation] added failing tests for query string normalization
refactored test method
[HttpFoundation] fix query string normalization
[HttpFoundation] refactored hasPreviousSession
[HttpFoundation] small fixes in Request
merged branch Tobion/prevsession (PR #4736)

Commits
-------

4d0ae1f [HttpFoundation] refactored hasPreviousSession

Discussion
----------

[HttpFoundation] refactored hasPreviousSession
merged branch Tobion/request (PR #4737)

Commits
-------

d37003e [HttpFoundation] small fixes in Request

Discussion
----------

[HttpFoundation] small fixes in Request

phpdoc fixes,
making http_build_query explicit
fixing query string of '0', that was ignored.

Unfortunately this '0' problematic is omnipresent because PHP makes it so easy to get wrong (as it is converted to boolean false). I don't know how often I fixed such issue already.
merged branch Tobion/query (PR #4735)

Commits
-------

c40a4e5 [HttpFoundation] fix query string normalization
f9ec2ea refactored test method
0880174 [HttpFoundation] added failing tests for query string normalization

Discussion
----------

[HttpFoundation] fix query string normalization

This fixes the query string normalization. There were several problems in it (see test cases that I added).
The main issue, that first catched my eye, was that the query string was urldecoded before it was exploded by `=`. See old code: `explode('=', rawurldecode($segment), 2);`. This means an encoded `=` (`%3D`) would falsely be considered a separator and thus lead to complete different parameters. The fixed test case is at `pa%3Dram=foo%26bar%3Dbaz&test=test`.

---------------------------------------------------------------------------

by Tobion at 2012-07-04T02:21:25Z

cc @simensen considering your PR 4711
[Locale] skipped a test until #4718 is fixed (refs #4718)
[Profiler] fixed a couple of minor typos in a test
merged branch shieldo/patch-7 (PR #4741)

Commits
-------

6751c87 [Profiler] fixed a couple of minor typos in a test

Discussion
----------

[Profiler] fixed a couple of minor typos in a test
merged branch Tobion/patch-3 (PR #4720)

Commits
-------

51b610f [Profiler] fix typehint

Discussion
----------

[Profiler] fix typehint

---------------------------------------------------------------------------

by fabpot at 2012-07-03T10:23:25Z

The profiler only works with Twig anyway.

---------------------------------------------------------------------------

by Tobion at 2012-07-03T10:29:18Z

Right. But why does he have this error: https://github.com/symfony/symfony/commit/f47b9a6625fdb8160d476f6c18f83249021fe57a#commitcomment-1532164

And since the class only uses methods of the general interface, I thought this makes it more reliable.

---------------------------------------------------------------------------

by fabpot at 2012-07-03T10:37:26Z

It was unrelated and I fixed that problem already.
[ClassLoader] made ClassCollectionLoader::load() automatically include class dependencies
merged branch fabpot/classloader-optim (PR #4729)

Commits
-------

3f9e8ff [ClassLoader] made ClassCollectionLoader::load() automatically include class dependencies
6f4d281 [ClassLoader] added missing support for PHP 5.4 traits

Discussion
----------

Classloader optimization

The first commit fixes support for PHP 5.4 trait.

The second one does several things:

 * it optimizes the recent merge so that the reflection class instance is only loaded once;
 * we use the fact that we now get all class dependencies to automatically add all class dependencies to the map.

---------------------------------------------------------------------------

by fabpot at 2012-07-03T17:26:46Z

I've updated to take into accounts traits.

---------------------------------------------------------------------------

by bamarni at 2012-07-04T11:58:57Z

great job :+1:

I can't see it in the diff as this part hasn't changed, but somewhere in the autoReload block there is :
```
if ($meta[1] != $classes) {
    $reload = true;
}
```

It should be array_unique($classes), otherwise the file would be perpetually regenerated in autoReload mode when the input contains duplicate, because they're implicitely removed when dumping the files.

---------------------------------------------------------------------------

by fabpot at 2012-07-04T13:20:04Z

@bamarni I've added an `array_unique` call at the top (this bug existed before by the way).