Pointer<T>::operator*() const now returns T&, not const T&. This behavior is similar to std::auto_ptr.
Because PVData is exactly a pair of `type` and `isRValue`.
#pragma once is supported by all modern compilers: http://en.wikipedia.org/wiki/Pragma_once#Portability
ArrayRef was replaced with std::vector in parameters, because ArrayRef<bool> cannot be constructed from std::vector<bool> because of specialization of latter.
If `main` symbol is declared external, do not generate call to __operators__.callMain.
It is useful for debugging.
`params` fields are const now
... instead of IdentifierPtr
This reverts commit 370b29e. That commit broke 5 tests: ``` lang/modules/imports/ambiguous1: unexpected compiler error lang/modules/imports/ambiguous2: unexpected compiler error lang/modules/imports/ambiguous3: unexpected compiler error lang/modules/imports/ambiguous4: unexpected compiler error lang/modules/imports/ambiguous5: unexpected compiler error ```
This reverts commit 7759f3f.