<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/astroid.git/astroid/bases.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>Add a new possible property, lazy_attribute.</title>
<updated>2015-05-03T08:36:16+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-05-03T08:36:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=1d23387b738d3e8b418178f50629317373bc18a7'/>
<id>1d23387b738d3e8b418178f50629317373bc18a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Filter out YES results from .decoratornames().</title>
<updated>2015-04-18T08:40:01+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-18T08:40:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=d455201eb827eaeedf3a340a3f79fbf67f8f0d9f'/>
<id>d455201eb827eaeedf3a340a3f79fbf67f8f0d9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a typo in the possible properties list and add more tests.</title>
<updated>2015-04-18T07:50:02+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-18T07:50:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=31c7b03f8d2f991a3db27a57a1ccb05f1144fa09'/>
<id>31c7b03f8d2f991a3db27a57a1ccb05f1144fa09</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make is_property a private function. Remove some trailing whitespaces.</title>
<updated>2015-04-17T20:51:54+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-17T20:51:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=55a0b4415c52fbbbf6d556a4ff20cbed8682f499'/>
<id>55a0b4415c52fbbbf6d556a4ff20cbed8682f499</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support multiple types of known properties in _wrap_attr.</title>
<updated>2015-04-17T20:45:59+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-17T20:45:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=8fb276122ab8d0e308f4c9453d5857de17454966'/>
<id>8fb276122ab8d0e308f4c9453d5857de17454966</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>UnboundMethod.getattr calls the getattr of its _proxied object.</title>
<updated>2015-04-17T17:39:14+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-17T17:39:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=aa5d3cc86ee45d409d01e2dc4f575c0eeaad0788'/>
<id>aa5d3cc86ee45d409d01e2dc4f575c0eeaad0788</id>
<content type='text'>
It previously crashed, since it called super(...).getattr(..) and the
first ancestor in its mro was bases.Proxy and bases.Proxy doesn't implement
the .getattr method. Closes issue #91.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It previously crashed, since it called super(...).getattr(..) and the
first ancestor in its mro was bases.Proxy and bases.Proxy doesn't implement
the .getattr method. Closes issue #91.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve the inference of Getattr nodes when dealing with abstract properties from the abc module.</title>
<updated>2015-04-17T15:03:21+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-04-17T15:03:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=04444f62d6828db538cc1b4a127407ca2886c22d'/>
<id>04444f62d6828db538cc1b4a127407ca2886c22d</id>
<content type='text'>
In astroid.bases.Instance._wrap_attr we had a detection
code for properties, which basically inferred whatever
a property returned, passing the results up the stack,
to the igetattr() method. It handled only the builtin property
but the new patch also handles abc.abstractproperty.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In astroid.bases.Instance._wrap_attr we had a detection
code for properties, which basically inferred whatever
a property returned, passing the results up the stack,
to the igetattr() method. It handled only the builtin property
but the new patch also handles abc.abstractproperty.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove trailing whitespace.</title>
<updated>2015-03-11T11:58:14+00:00</updated>
<author>
<name>Claudiu Popa</name>
<email>cpopa@cloudbasesolutions.com</email>
</author>
<published>2015-03-11T11:58:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/astroid.git/commit/?id=2da26c58cae167e8adb031b4ee56a48ff97d0365'/>
<id>2da26c58cae167e8adb031b4ee56a48ff97d0365</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
</feed>
