<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/astroid.git/astroid/protocols.py, branch fix-python3-tests</title>
<subtitle>bitbucket.org: Obsolete (use python-packages/astroid-git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/'/>
<entry>
<title>Fix pylint warnings over astroid, update the list of disabled messages in pylintrc.</title>
<updated>2015-05-19T20:40:27+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-19T20:40:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=3407b755555f5ee16b72b64d8a844072cf86d021'/>
<id>3407b755555f5ee16b72b64d8a844072cf86d021</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bad-continuation errors from astroid.</title>
<updated>2015-05-19T18:31:16+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-19T18:31:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=b455f3e7ab9176d45b8812550702d7e4cd0aea17'/>
<id>b455f3e7ab9176d45b8812550702d7e4cd0aea17</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise an InferenceError when having multiple 'as' bindings from a context manager, but the result doesn't have those indices.</title>
<updated>2015-05-09T18:08:46+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-09T18:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=c8cf9abf3254915a65c352981a604bcfb3005d49'/>
<id>c8cf9abf3254915a65c352981a604bcfb3005d49</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for understanding context managers created with contextlib.contextmanager.</title>
<updated>2015-05-09T16:27:13+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-09T16:27:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=7a486d25c96da8e9545e7aeb3c82e99cace0b983'/>
<id>7a486d25c96da8e9545e7aeb3c82e99cace0b983</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove trailing whitespace.</title>
<updated>2015-05-09T13:04:10+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-09T13:04:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=512724a74897aa285113fafa71a17475a5278527'/>
<id>512724a74897aa285113fafa71a17475a5278527</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add basic support for understanding context managers.</title>
<updated>2015-05-09T12:58:31+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-09T12:58:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=f97ef6e9e89ed2de13b622c1580ef9d14e3fca1f'/>
<id>f97ef6e9e89ed2de13b622c1580ef9d14e3fca1f</id>
<content type='text'>
Currently, there's no way to understand whatever __enter__ returns in a
context manager and what it is binded using the ``as`` keyword. With these changes,
we can understand ``bar`` in ``with foo() as bar``, which will be the result of __enter__.
There's no support for contextlib.contextmanager yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, there's no way to understand whatever __enter__ returns in a
context manager and what it is binded using the ``as`` keyword. With these changes,
we can understand ``bar`` in ``with foo() as bar``, which will be the result of __enter__.
There's no support for contextlib.contextmanager yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the way how context caching and scoping is done.</title>
<updated>2015-03-11T11:47:04+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-03-11T11:47:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=9b5d9598574f593485a7e2ddff6a5a0e995b62f0'/>
<id>9b5d9598574f593485a7e2ddff6a5a0e995b62f0</id>
<content type='text'>
This patch reverts some changes added by a couple of changesets, making
the context caching and scoping to work as before.
The changesets in question are:

 * 41b3bd589da0549ac061bc4c4b5d379cdbb1e10c
   Replace copy_context with some dynamic scoping.

 * 8d3c601
   Remove context.lookupname; make it an argument to infer() when appropriate.

 * partially reverts  048a42c.
   Fix some deep recursion problems.


There were some problems with these changes, which led to horrendous
performance when dealing with multiple inference paths of the same names,
as seen in these Pylint issues:

* https://bitbucket.org/logilab/pylint/issue/395/horrible-performance-related-to-inspect
* https://bitbucket.org/logilab/pylint/issue/465/pylint-hangs-when-using-inspectsignature
* https://bitbucket.org/logilab/pylint/issue/430/pylint-140-execution-time-and-memory

The reverted changes assumed that a context it's only passed to callees
and then destroyed, thus InferenceContext.push always returned another inference context,
with the updated inference path so far. This is wrong, since contexts are sometimes
reused, so the original context, the one before the .push call need to have the same
cache key in its path (this is actually what's happening in these mentioned issues,
the same object is inferred over and over again, but with different contexts).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch reverts some changes added by a couple of changesets, making
the context caching and scoping to work as before.
The changesets in question are:

 * 41b3bd589da0549ac061bc4c4b5d379cdbb1e10c
   Replace copy_context with some dynamic scoping.

 * 8d3c601
   Remove context.lookupname; make it an argument to infer() when appropriate.

 * partially reverts  048a42c.
   Fix some deep recursion problems.


There were some problems with these changes, which led to horrendous
performance when dealing with multiple inference paths of the same names,
as seen in these Pylint issues:

* https://bitbucket.org/logilab/pylint/issue/395/horrible-performance-related-to-inspect
* https://bitbucket.org/logilab/pylint/issue/465/pylint-hangs-when-using-inspectsignature
* https://bitbucket.org/logilab/pylint/issue/430/pylint-140-execution-time-and-memory

The reverted changes assumed that a context it's only passed to callees
and then destroyed, thus InferenceContext.push always returned another inference context,
with the updated inference path so far. This is wrong, since contexts are sometimes
reused, so the original context, the one before the .push call need to have the same
cache key in its path (this is actually what's happening in these mentioned issues,
the same object is inferred over and over again, but with different contexts).
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement the assigned_stmts operation for Starred nodes.</title>
<updated>2015-02-21T16:49:43+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-02-21T16:49:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=904da9001a313f49dbc4133c14b1f12547a874e8'/>
<id>904da9001a313f49dbc4133c14b1f12547a874e8</id>
<content type='text'>
This was omitted when support for Python 3 was added in astroid.
It currently works only for Starred nodes in assignments and only
for the most common of cases, such as `a, *b = (1, 2, 3)`.
Closes issue #36.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was omitted when support for Python 3 was added in astroid.
It currently works only for Starred nodes in assignments and only
for the most common of cases, such as `a, *b = (1, 2, 3)`.
Closes issue #36.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move all astroid modules into a its own directory, which is now the package.</title>
<updated>2014-11-08T22:47:14+00:00</updated>
<author>
<name>Torsten Marek</name>
<email>shlomme@gmail.com</email>
</author>
<published>2014-11-08T22:47:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=0c7327e7599c69843ffdb884d313863ec36cb6dd'/>
<id>0c7327e7599c69843ffdb884d313863ec36cb6dd</id>
<content type='text'>
python setup.py develop now works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
python setup.py develop now works.
</pre>
</div>
</content>
</entry>
</feed>
