summaryrefslogtreecommitdiff
path: root/deps/gyp/pylib/gyp/simple_copy.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/gyp/pylib/gyp/simple_copy.py')
-rw-r--r--deps/gyp/pylib/gyp/simple_copy.py46
1 files changed, 0 insertions, 46 deletions
diff --git a/deps/gyp/pylib/gyp/simple_copy.py b/deps/gyp/pylib/gyp/simple_copy.py
deleted file mode 100644
index 74c98c5a79..0000000000
--- a/deps/gyp/pylib/gyp/simple_copy.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2014 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""A clone of the default copy.deepcopy that doesn't handle cyclic
-structures or complex types except for dicts and lists. This is
-because gyp copies so large structure that small copy overhead ends up
-taking seconds in a project the size of Chromium."""
-
-class Error(Exception):
- pass
-
-__all__ = ["Error", "deepcopy"]
-
-def deepcopy(x):
- """Deep copy operation on gyp objects such as strings, ints, dicts
- and lists. More than twice as fast as copy.deepcopy but much less
- generic."""
-
- try:
- return _deepcopy_dispatch[type(x)](x)
- except KeyError:
- raise Error('Unsupported type %s for deepcopy. Use copy.deepcopy ' +
- 'or expand simple_copy support.' % type(x))
-
-_deepcopy_dispatch = d = {}
-
-def _deepcopy_atomic(x):
- return x
-
-for x in (type(None), int, long, float,
- bool, str, unicode, type):
- d[x] = _deepcopy_atomic
-
-def _deepcopy_list(x):
- return [deepcopy(a) for a in x]
-d[list] = _deepcopy_list
-
-def _deepcopy_dict(x):
- y = {}
- for key, value in x.iteritems():
- y[deepcopy(key)] = deepcopy(value)
- return y
-d[dict] = _deepcopy_dict
-
-del d