1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6 '''Decorates |fn| to memoize.
9 def impl(*args
, **optargs
):
10 full_args
= args
+ tuple(optargs
.iteritems())
11 if full_args
not in memory
:
12 memory
[full_args
] = fn(*args
, **optargs
)
13 return memory
[full_args
]