Lichen

lib/collections.py

90:c7ddfc4525da
2016-10-08 Paul Boddie Added some support for eliminating accessor class types where the provided attributes are invoked and are unbound methods. This uses a more sophisticated method involving usage observations that incorporate invocation information, permitting classes as accessors if paths through the code support them, even if other paths require instances as accessors to invoke methods.
     1 #!/usr/bin/env python     2      3 """     4 Collections.     5      6 Copyright (C) 2013 Paul Boddie <paul@boddie.org.uk>     7      8 This program is free software; you can redistribute it and/or modify it under     9 the terms of the GNU General Public License as published by the Free Software    10 Foundation; either version 3 of the License, or (at your option) any later    11 version.    12     13 This program is distributed in the hope that it will be useful, but WITHOUT    14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    15 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more    16 details.    17     18 You should have received a copy of the GNU General Public License along with    19 this program.  If not, see <http://www.gnu.org/licenses/>.    20 """    21     22 class defaultdict(dict):    23     pass    24     25 class deque(object):    26     def append(x): pass    27     def appendleft(x): pass    28     def clear(): pass    29     def extend(iterable): pass    30     def extendleft(iterable): pass    31     def pop(): pass    32     def popleft(): pass    33     def remove(value): pass    34     def rotate(n): pass    35     36 # vim: tabstop=4 expandtab shiftwidth=4