- 05 Mar, 2015 22 commits
-
-
Chris Toshok authored
add support for relative imports, and bring our import api closer to cpython
-
Chris Toshok authored
copy _PyInt_Format implementation from cpython
-
Chris Toshok authored
add an explanatory comment about why we set level = -1 if we're missing `from __future__ import absolute_import`
-
Chris Toshok authored
-
Chris Toshok authored
-
Kevin Modzelewski authored
Add the io/_io Module and make import gzip work
-
Kevin Modzelewski authored
Treat unicode names as equivalent to their ascii-encoded str version, and any non-ascii unicode name as a TypeError. My hope is that this covers the common cases but doesn't cause bugs. You can see that we're doing this by putting unicode in and getting a str out, but I hope that this is ok.
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
This adds quite a few C API functions and I had to introduce atleast two temporary hacks: - do not depend on the ABC module which uses weak references - use a dummy PyErr_CheckSignals() function
-
Marius Wachtler authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
in regards to how the metaclass gets picked.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
'buffer' is currently just an empty class.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
add weakref support for user defined subtypes (with inheritance) and 'type' instances
-
Kevin Modzelewski authored
There are some times that the importing logic has to look up attributes on objects, and we were using Box::getattr() (equivalent to obj.__dict__[attr] ) instead of getattr() (equivalent to getattr()). This was working fine until we started trying to run the custom import hook in six.py, since that creates a subclass of ModuleType which defines some of the important attributes as class-level attributes.
-
- 04 Mar, 2015 8 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
We apparently never tested compiling from_cpython files with gcc, unless you manually passed USE_CLANG=0 which I doubt anyone did. Add a pyston_gcc target that just defers to cmake's better ability to use different compilers, and run the test suite through that rather than just pyston_prof. This gives us better coverage and also allows the Makefile to fully defer `make check` to cmake. Also, fix a couple bugs that gcc exposed.
-
Chris Toshok authored
-
Kevin Modzelewski authored
cmake ignore gcc warnings in from_cpython
-
Daniel Agar authored
-
Daniel Agar authored
-added -Wno-unused-result and -Wno-strict-aliasing for gcc 4.8.2 compatibility
-
Kevin Modzelewski authored
There are still a couple subtle differences in how we track and store the various module attributes. For example, we show something different for 'print ModuleType("a", "b")'. Also sneak in a fix for "import a.b.c as c"
-
- 03 Mar, 2015 10 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Add should_error directive, for tests that should exit non-0
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
runtime/inline add header dependencies
-
Michael Arntzenius authored
-
Daniel Agar authored
-
Daniel Agar authored
-fixes #339
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
The core functionality is to calculate and store tp_mro and tp_bases instead of just tp_base. This gives the runtime a bit harder of a time to bootstrap itself since now a fully-built class depends on a few more classes, so the bootstrapping section got larger: - object_cls (base of the tp_base hierarchy) - type_cls (base of the metaclass hierarchy) - str_cls (for ht_name) - tuple_cls (for tp_mro) - list_cls (for calculating the mro) There were a few places that needed to be updated now that we have multiple inheritance: - typeLookup() - isSubclass() - typeNew() - super() This change doesn't even attempt to add multiple inheritance rules around old-style classes.
-
Kevin Modzelewski authored
While most of this code is unexercised with just this commit, I wanted to add it so that it's more clear what the multiple inheritance changes actually are.
-