Table of Contents

Class: Whitespace | eric3/Checks/Tabnanny.py
--- | ---
Methods |
--- | ---
__init__ equal indent_level less longest_run_of_spaces not_equal_witness not_less_witness
| __init__
    __init__ ( self,  ws )
| equal
    equal ( self,  other )
return true iff self.indent_level(t) == other.indent_level(t) for all t >= 1
| indent_level
    indent_level ( self,  tabsize )
count, il = self.norm for i in range(len(count)): if count[i]: il = il + (i/tabsize + 1)tabsize count[i] return il
| less
    less ( self,  other )
Return true iff self.indent_level(t) < other.indent_level(t) for all t >= 1. The algorithm is due to Vincent Broman. Easy to prove it's correct. XXXpost that. Trivial to prove n is sharp (consider T vs ST). Unknown whether there's a faster general way. I suspected so at first, but no longer. For the special (but common!) case where M and N are both of the form (T)(S), M.less(N) iff M.len() < N.len() and M.num_tabs() <= N.num_tabs(). Proof is easy but kinda long-winded. XXXwrite that up. Note that M is of the form (T)(S) iff len(M.norm[0]) <= 1.
| longest_run_of_spaces
    longest_run_of_spaces ( self )
return length of longest contiguous run of spaces (whether or not preceding a tab)
| not_equal_witness
    not_equal_witness ( self,  other )
return a list of tuples (ts, i1, i2) such that i1 == self.indent_level(ts) != other.indent_level(ts) == i2. Intended to be used after not self.equal(other) is known, in which case it will return at least one witnessing tab size.
| not_less_witness
    not_less_witness ( self,  other )
return a list of tuples (ts, i1, i2) such that i1 == self.indent_level(ts) >= other.indent_level(ts) == i2. Intended to be used after not self.less(other) is known, in which case it will return at least one witnessing tab size.

Table of Contents

This document was automatically generated by HappyDoc version 2.1