use new-style classes everywhere to prevent unexpected obstacles in getting 2to3...
authorStefan Behnel <scoder@users.berlios.de>
Fri, 13 Mar 2009 09:02:52 +0000 (10:02 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Fri, 13 Mar 2009 09:02:52 +0000 (10:02 +0100)
20 files changed:
Cython/Compiler/Annotate.py
Cython/Compiler/Code.py
Cython/Compiler/ControlFlow.py
Cython/Compiler/Interpreter.py
Cython/Compiler/Main.py
Cython/Compiler/Nodes.py
Cython/Compiler/ParseTreeTransforms.py
Cython/Compiler/Scanning.py
Cython/Compiler/Symtab.py
Cython/Compiler/Tests/TestParseTreeTransforms.py
Cython/Compiler/TypeSlots.py
Cython/Mac/TS_Misc_Suite.py
Cython/Plex/Actions.py
Cython/Plex/DFA.py
Cython/Plex/Lexicons.py
Cython/Plex/Machines.py
Cython/Plex/Regexps.py
Cython/Plex/Scanners.py
Cython/Plex/Traditional.py
Cython/Plex/Transitions.py

index 09b602519ba66a3880114365657d1929194f2bb7..dc330711bebdc911f0f56db7e133cbeb494c5a0b 100644 (file)
@@ -170,7 +170,7 @@ def escape(raw_string):
     return raw_string
 
 
-class AnnotationItem:
+class AnnotationItem(object):
     
     def __init__(self, style, text, tag="", size=0):
         self.style = style
index cfc59bd8e414341eba93ff69b38ca965845a727b..aad42442b2141feffe5973e24e0a3e148f401e82 100644 (file)
@@ -929,7 +929,7 @@ class CCodeWriter(object):
         self.putln("__Pyx_FinishRefcountContext();")
 
 
-class PyrexCodeWriter:
+class PyrexCodeWriter(object):
     # f                file      output file
     # level            int       indentation level
 
index e433f7d0ce5f49810d3d27425633a2b6dbaa1776..80d32eb5cb1904fbc2d152f0ed66a6fbe63eedc8 100644 (file)
@@ -15,7 +15,7 @@ import bisect, sys
 
 _END_POS = ((unichr(sys.maxunicode)*10),())
 
-class ControlFlow:
+class ControlFlow(object):
 
     def __init__(self, start_pos, incoming, parent):
         self.start_pos = start_pos
index bd6e4bf54d6a21a67ce660cf8796795477070b33..eb7ea92c673e52d4fa209936368bcc37ccf52a66 100644 (file)
@@ -12,7 +12,7 @@ from Visitor import BasicVisitor
 from Errors import CompileError
 
 
-class EmptyScope:
+class EmptyScope(object):
     def lookup(self, name):
         return None
     
index ebdad27562bdc79c6e157bb49d1783badc1246e6..6fb867644cacf44a59dacdbb7de59863ec27a38e 100644 (file)
@@ -34,7 +34,7 @@ def dumptree(t):
     print t.dump()
     return t
 
-class CompilationData:
+class CompilationData(object):
     #  Bundles the information that is passed from transform to transform.
     #  (For now, this is only)
 
@@ -48,7 +48,7 @@ class CompilationData:
     #  result                CompilationResult
     pass
 
-class Context:
+class Context(object):
     #  This class encapsulates the context needed for compiling
     #  one or more Cython implementation files along with their
     #  associated and imported declaration files. It includes
@@ -556,7 +556,7 @@ class CompilationSource(object):
         self.full_module_name = full_module_name
         self.cwd = cwd
 
-class CompilationOptions:
+class CompilationOptions(object):
     """
     Options to the Cython compiler:
     
@@ -597,7 +597,7 @@ class CompilationOptions:
             self.obj_only = 0
 
 
-class CompilationResult:
+class CompilationResult(object):
     """
     Results from the Cython compiler:
     
index 7610204c0f94d8f87e0941c603a77846d43d3ca9..eadfc5be9d1238ce63db7456780f3c377773b30f 100644 (file)
@@ -3727,7 +3727,7 @@ class SwitchStatNode(StatNode):
         if self.else_clause is not None:
             self.else_clause.annotate(code)
             
-class LoopNode:
+class LoopNode(object):
     
     def analyse_control_flow(self, env):
         env.start_branching(self.pos)
index dc0560c1acaf109713d752546f3eba5943b06667..3f92d738c9d09ac1cf3429dbc7b21e7948aa73d4 100644 (file)
@@ -27,7 +27,7 @@ class NameNodeCollector(TreeVisitor):
         self.name_nodes.append(node)
 
 
-class SkipDeclarations:
+class SkipDeclarations(object):
     """
     Variable and function declarations can often have a deep tree structure, 
     and yet most transformations don't need to descend to this depth. 
index 3b448fca8803f7f6245478f51227de8a655d3d4c..9ef47dc116d3055b3abf1f1ecfa9c9f94244cafa 100644 (file)
@@ -154,7 +154,7 @@ reserved_words = [
     "cimport", "by", "with", "cpdef", "DEF", "IF", "ELIF", "ELSE"
 ]
 
-class Method:
+class Method(object):
 
     def __init__(self, name):
         self.name = name
@@ -176,7 +176,7 @@ resword_dict = build_resword_dict()
 
 #------------------------------------------------------------------
 
-class CompileTimeScope:
+class CompileTimeScope(object):
 
     def __init__(self, outer = None):
         self.entries = {}
@@ -220,7 +220,7 @@ def initial_compile_time_env():
 
 #------------------------------------------------------------------
 
-class SourceDescriptor:
+class SourceDescriptor(object):
     """
     A SourceDescriptor should be considered immutable.
     """
index ef56b4ed01f5c753e2060e4e0d9853b22268c924..58b57c85f4efb398c40a5a4524cbb5ef1bc077c6 100644 (file)
@@ -23,7 +23,7 @@ except NameError:
 possible_identifier = re.compile(ur"(?![0-9])\w+$", re.U).match
 nice_identifier = re.compile('^[a-zA-Z0-0_]+$').match
 
-class BufferAux:
+class BufferAux(object):
     writable_needed = False
     
     def __init__(self, buffer_info_var, stridevars, shapevars,
@@ -36,7 +36,7 @@ class BufferAux:
     def __repr__(self):
         return "<BufferAux %r>" % self.__dict__
 
-class Entry:
+class Entry(object):
     # A symbol table entry in a Scope or ModuleNamespace.
     #
     # name             string     Python name of entity
@@ -158,7 +158,7 @@ class Entry:
         error(pos, "'%s' does not match previous declaration" % self.name)
         error(self.pos, "Previous declaration is here")
 
-class Scope:
+class Scope(object):
     # name              string             Unqualified name
     # outer_scope       Scope or None      Enclosing scope
     # entries           {string : Entry}   Python name to entry, non-types
index 518eda14b4bdf900cae08abe9ec67f8ae4712cc0..a56f81c54dcc3ca533eaa0630c00bea389cb5465 100644 (file)
@@ -85,7 +85,7 @@ class TestNormalizeTree(TransformTest):
         t = self.run_pipeline([NormalizeTree(None)], u"pass")
         self.assert_(len(t.stats) == 0)
 
-class TestWithTransform:#(TransformTest): Disabled
+class TestWithTransform(object): # (TransformTest): # Disabled!
 
     def test_simplified(self):
         t = self.run_pipeline([WithTransform(None)], u"""
index cf0bf1fd61739a34f20839f0181c72ec583fcd8e..bc70abcc44349e2b5e4fc60b17a26a84e5c2fee0 100644 (file)
@@ -8,7 +8,7 @@ import PyrexTypes
 import StringEncoding
 import sys
 
-class Signature:
+class Signature(object):
     #  Method slot signature descriptor.
     #
     #  has_dummy_arg      boolean
@@ -119,7 +119,7 @@ class Signature:
         return None
 
 
-class SlotDescriptor:
+class SlotDescriptor(object):
     #  Abstract base class for type slot descriptors.
     #
     #  slot_name    string           Member name of the slot in the type object
index e75a1c8d5157f8f6d16be6a9fce7151ef4039e68..bbfc0e3f5ca894541f775e0999cd575d642165b3 100644 (file)
@@ -10,7 +10,7 @@ import MacOS
 
 _code = 'misc'
 
-class TS_Misc_Suite:
+class TS_Misc_Suite(object):
 
     def DoScript(self, _object, _attributes={}, **_arguments):
         """DoScript: Execute an MPW command, any command that could be executed from the command line can be sent as a script.
index 23253a905a133810ff15efb09a509b1ab2935445..9da4e34098c944d28c1e8bf862e1bfb25c546798 100644 (file)
@@ -6,7 +6,7 @@
 #
 #=======================================================================
 
-class Action:
+class Action(object):
 
   def same_as(self, other):
     return self is other
index 8118636492ba96cb8e3f56cd74e3941b72a7031d..a24d3cea2e3d9cd30ff77cd828163ff3f54dec48 100644 (file)
@@ -83,7 +83,7 @@ def add_to_epsilon_closure(state_set, state):
       for state2 in state_set_2.keys():
         add_to_epsilon_closure(state_set, state2)
 
-class StateMap:
+class StateMap(object):
   """
   Helper class used by nfa_to_dfa() to map back and forth between
   sets of states from the old machine and states of the new machine.
index 2dbfaf0637b5a4dd4aff0339d36ff68f1f736282..905c6c50f166c1fdbca3b0819f81645f9697fc00 100644 (file)
@@ -18,7 +18,7 @@ import Regexps
 DUMP_NFA = 1
 DUMP_DFA = 2
 
-class State:
+class State(object):
   """
   This class is used as part of a Plex.Lexicon specification to
   introduce a user-defined state.
@@ -35,7 +35,7 @@ class State:
     self.name = name
     self.tokens = tokens
 
-class Lexicon:
+class Lexicon(object):
   """
   Lexicon(specification) builds a lexical analyser from the given
   |specification|. The specification consists of a list of
index 4d788edb9b0234dfe8dd1fc68f8838be7e9039ec..a9c69c638911de3c6a764ead7e0723a9d92d5896 100644 (file)
@@ -15,7 +15,7 @@ from Transitions import TransitionMap
 
 LOWEST_PRIORITY = -sys.maxint
 
-class Machine:
+class Machine(object):
   """A collection of Nodes representing an NFA or DFA."""
   states = None         # [Node]
   next_state_number = 1
@@ -59,7 +59,7 @@ class Machine:
     for s in self.states:
       s.dump(file)
 
-class Node:
+class Node(object):
   """A state of an NFA or DFA."""
   transitions = None       # TransitionMap
   action = None            # Action
@@ -101,13 +101,6 @@ class Node:
   def get_action_priority(self):
     return self.action_priority
 
-#    def merge_actions(self, other_state):
-#        """Merge actions of other state into this state according
-#    to their priorities."""
-#        action = other_state.get_action()
-#        priority = other_state.get_action_priority()
-#        self.set_action(action, priority)
-
   def is_accepting(self):
     return self.action is not None
 
@@ -128,7 +121,7 @@ class Node:
       file.write("      %s [priority %d]\n" % (action, priority))
   
 
-class FastMachine:
+class FastMachine(object):
   """
   FastMachine is a deterministic machine represented in a way that
   allows fast scanning.
@@ -264,64 +257,3 @@ class FastMachine:
       return repr(c1)
     else:
       return "%s..%s" % (repr(c1), repr(c2))
-##
-## (Superseded by Machines.FastMachine)
-##
-## class StateTableMachine:
-##   """
-##   StateTableMachine is an alternative representation of a Machine
-##   that can be run more efficiently.
-##   """
-##   initial_states = None # {state_name:state_index}
-##   states = None # [([state] indexed by char code, Action)] 
-  
-##   special_map = {'bol':256, 'eol':257, 'eof':258}
-  
-##   def __init__(self, m):
-##     """
-##     Initialise StateTableMachine from Machine |m|.
-##     """
-##     initial_states = self.initial_states = {}
-##     states = self.states = [None]
-##     old_to_new = {}
-##     i = 1
-##     for old_state in m.states:
-##       new_state = ([0] * 259, old_state.get_action())
-##       states.append(new_state)
-##       old_to_new[old_state] = i # new_state
-##       i = i + 1
-##     for name, old_state in m.initial_states.items():
-##       initial_states[name] = old_to_new[old_state]
-##     for old_state in m.states:
-##       new_state_index = old_to_new[old_state]
-##       new_table = states[new_state_index][0]
-##       transitions = old_state.transitions
-##       for c, old_targets in transitions.items():
-##         if old_targets:
-##           old_target = old_targets[0]
-##           new_target_index = old_to_new[old_target]
-##           if len(c) == 1:
-##             a = ord(c)
-##           else:
-##             a = self.special_map[c]
-##           new_table[a] = states[new_target_index]
-
-##   def dump(self, f):
-##     f.write("Plex.StateTableMachine:\n")
-##     f.write("    Initial states:\n")
-##     for name, index in self.initial_states.items():
-##       f.write("        %s: State %d\n" % (
-##         repr(name), id(self.states[index])))
-##     for i in xrange(1, len(self.states)):
-##       table, action = self.states[i]
-##       f.write("    State %d:" % i)
-##       if action:
-##         f.write("%s" % action)
-##       f.write("\n")
-##       f.write("        %s\n" % map(id,table))
-      
-      
-      
-      
-
-
index 09619240a5d466bcb0daa6e0bd08250b1ce9f88d..90dbe9345ce1620d46cbafd37a01145aaaf3b741 100644 (file)
@@ -101,7 +101,7 @@ def CodeRange(code1, code2):
 #     Abstract classes
 #
 
-class RE:
+class RE(object):
     """RE is the base class for regular expression constructors.
     The following operators are defined on REs:
 
index c6d511edeb7bc2e5f1d3c99d043e9e6019f33075..d05f909c45e272e1ec9e140ec8a736eaee8b08f7 100644 (file)
@@ -12,7 +12,7 @@ from Regexps import BOL, EOL, EOF
 
 import cython
 
-class Scanner:
+class Scanner(object):
   """
   A Scanner is used to read tokens from a stream of characters
   using the token set specified by a Plex.Lexicon.
index 1f6d672676aff3c00f70c096756137f7eb6ae1b3..5d8f9130055705e1c2fcb3f01f974c7b32b33df9 100644 (file)
@@ -19,7 +19,7 @@ def re(s):
   """
   return REParser(s).parse_re()
 
-class REParser:
+class REParser(object):
 
   def __init__(self, s):
     self.s = s
index 84eda51f0ffb2e2f5a82d01ac6794fdee3b2a744..4119e71b8403b9fdabf567c76a5cbe8b36d48914 100644 (file)
@@ -10,7 +10,7 @@ import string
 from sys import maxint
 from types import TupleType
 
-class TransitionMap:
+class TransitionMap(object):
   """
   A TransitionMap maps an input event to a set of states.
   An input event is one of: a range of character codes,