summaryrefslogtreecommitdiff
path: root/engine/SCons/Util.py
diff options
context:
space:
mode:
authorLuca Falavigna <dktrkranz@debian.org>2011-02-10 23:06:42 +0100
committerLuca Falavigna <dktrkranz@debian.org>2011-02-10 23:06:42 +0100
commit8344b122eb4ee8818cde6ef2bb07726a672a2d23 (patch)
tree4bf6e72dba2fec6ead6946fac7d65ddb5b752f0a /engine/SCons/Util.py
parent340d57481935334465037d97c0db1555b70c0eb1 (diff)
Imported Upstream version 2.0.1upstream/2.0.1
Diffstat (limited to 'engine/SCons/Util.py')
-rw-r--r--engine/SCons/Util.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/engine/SCons/Util.py b/engine/SCons/Util.py
index a9b3421..1ffbd03 100644
--- a/engine/SCons/Util.py
+++ b/engine/SCons/Util.py
@@ -24,7 +24,7 @@ Various utility functions go here.
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-__revision__ = "src/engine/SCons/Util.py 5023 2010/06/14 22:05:46 scons"
+__revision__ = "src/engine/SCons/Util.py 5134 2010/08/16 23:02:40 bdeegan"
import os
import sys
@@ -459,22 +459,18 @@ def _semi_deepcopy_tuple(x):
return tuple(map(semi_deepcopy, x))
d[tuple] = _semi_deepcopy_tuple
-def _semi_deepcopy_inst(x):
- if hasattr(x, '__semi_deepcopy__'):
- return x.__semi_deepcopy__()
- elif isinstance(x, UserDict):
- return x.__class__(_semi_deepcopy_dict(x))
- elif isinstance(x, UserList):
- return x.__class__(_semi_deepcopy_list(x))
- else:
- return x
-d[InstanceType] = _semi_deepcopy_inst
-
def semi_deepcopy(x):
copier = _semi_deepcopy_dispatch.get(type(x))
if copier:
return copier(x)
else:
+ if hasattr(x, '__semi_deepcopy__'):
+ return x.__semi_deepcopy__()
+ elif isinstance(x, UserDict):
+ return x.__class__(_semi_deepcopy_dict(x))
+ elif isinstance(x, UserList):
+ return x.__class__(_semi_deepcopy_list(x))
+
return x