diff -r be27ed110b50 -r d8ac696cc51f buildframework/helium/external/python/lib/2.5/psyco-1.6-py2.5.egg/psyco/classes.py --- a/buildframework/helium/external/python/lib/2.5/psyco-1.6-py2.5.egg/psyco/classes.py Wed Oct 28 14:39:48 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -########################################################################### -# -# Psyco class support module. -# Copyright (C) 2001-2002 Armin Rigo et.al. - -"""Psyco class support module. - -'psyco.classes.psyobj' is an alternate Psyco-optimized root for classes. -Any class inheriting from it or using the metaclass '__metaclass__' might -get optimized specifically for Psyco. It is equivalent to call -psyco.bind() on the class object after its creation. - -Importing everything from psyco.classes in a module will import the -'__metaclass__' name, so all classes defined after a - - from psyco.classes import * - -will automatically use the Psyco-optimized metaclass. -""" -########################################################################### - -__all__ = ['psyobj', 'psymetaclass', '__metaclass__'] - - -from _psyco import compacttype -import core -from types import FunctionType - -class psymetaclass(compacttype): - "Psyco-optimized meta-class. Turns all methods into Psyco proxies." - - def __new__(cls, name, bases, dict): - bindlist = dict.get('__psyco__bind__') - if bindlist is None: - bindlist = [key for key, value in dict.items() - if isinstance(value, FunctionType)] - for attr in bindlist: - dict[attr] = core.proxy(dict[attr]) - return super(psymetaclass, cls).__new__(cls, name, bases, dict) - -psyobj = psymetaclass("psyobj", (), {}) -__metaclass__ = psymetaclass