This will allow us to have different doc renderings depending on the
context. For instance, having different casings depending on the
generated API.
TN: SC13-015
This commit removes the "sticky" behavior of the Charset argument in
analysis unit constructors: either users pass a charset to
get_from_buffer/file/reparse, either they don't and the charset used is
the context-wide default charset.
TN: SC05-019
If memoization table reset happens in the middle of the execution of a
property, then computings that happened before that reset could change
in later calls, so it is not sound to keep the result of that property
execution.
TN: S917-027
Memoization table invalidation can happen in the middle of the execution
of a memoized property, for instance when an external property loads a
new analysis unit.
Because of this, memoized properties must check cache version when
re-using memoization keys and cursors: on cache version bump,
memoization keys and cursors must be recomputed.
TN: SC09-060
Doing so is necesarry now that we have a "_py2to3.py" module in addition
to the "__init__.py". Using a glob pattern to select all modules will
avoid such a breakage in the future.
TN: SB13-026
Even though these functions are not supposed to raise errors, the fact
that they don't clear the exception info global variable makes the
previous exception propagated 'leak' to the Python binding layer.
For some reason, this is visible only when using Python3.
TN: SB13-026
This makes error messages that are propagated to users in case of type
mismatch clearer.
This change was originally motivated by the discrepancy between Python2
and Python3:
# Python2
>>> int
<type 'int'>
# Python3
>>> int
<class 'int'>
Using the type full name avoids relying on a particular representation
for the types.
TN: SB13-026
Even though do_generate must define a dummy build mode when run
standalone, it should not set it when it is already defined, for
instance when called from do_make. This used to trigger debug builds
through the "make" subcommand in even when --build-mode=prod was passed.
TN: SA30-026