mirror of
https://github.com/davidhalter/jedi.git
synced 2026-05-19 23:09:43 +08:00
Remove more and more from pytree.
This commit is contained in:
@@ -73,36 +73,6 @@ class Base(object):
|
|||||||
parent = None # Parent node pointer, or None
|
parent = None # Parent node pointer, or None
|
||||||
children = () # Tuple of subnodes
|
children = () # Tuple of subnodes
|
||||||
|
|
||||||
def __new__(cls, *args, **kwds):
|
|
||||||
"""Constructor that prevents Base from being instantiated."""
|
|
||||||
assert cls is not Base, "Cannot instantiate Base"
|
|
||||||
return object.__new__(cls)
|
|
||||||
|
|
||||||
def post_order(self):
|
|
||||||
"""
|
|
||||||
Return a post-order iterator for the tree.
|
|
||||||
|
|
||||||
This must be implemented by the concrete subclass.
|
|
||||||
"""
|
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
def pre_order(self):
|
|
||||||
"""
|
|
||||||
Return a pre-order iterator for the tree.
|
|
||||||
|
|
||||||
This must be implemented by the concrete subclass.
|
|
||||||
"""
|
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
def get_lineno(self):
|
|
||||||
"""Return the line number which generated the invocant node."""
|
|
||||||
node = self
|
|
||||||
while not isinstance(node, Leaf):
|
|
||||||
if not node.children:
|
|
||||||
return
|
|
||||||
node = node.children[0]
|
|
||||||
return node.lineno
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def next_sibling(self):
|
def next_sibling(self):
|
||||||
"""
|
"""
|
||||||
@@ -201,20 +171,6 @@ class Node(Base):
|
|||||||
if sys.version_info > (3, 0):
|
if sys.version_info > (3, 0):
|
||||||
__str__ = __unicode__
|
__str__ = __unicode__
|
||||||
|
|
||||||
def post_order(self):
|
|
||||||
"""Return a post-order iterator for the tree."""
|
|
||||||
for child in self.children:
|
|
||||||
for el in child.post_order():
|
|
||||||
yield el
|
|
||||||
yield self
|
|
||||||
|
|
||||||
def pre_order(self):
|
|
||||||
"""Return a pre-order iterator for the tree."""
|
|
||||||
yield self
|
|
||||||
for child in self.children:
|
|
||||||
for el in child.post_order():
|
|
||||||
yield el
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def prefix(self):
|
def prefix(self):
|
||||||
"""
|
"""
|
||||||
@@ -231,23 +187,6 @@ class Node(Base):
|
|||||||
else:
|
else:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
def set_child(self, i, child):
|
|
||||||
"""
|
|
||||||
Equivalent to 'node.children[i] = child'. This method also sets the
|
|
||||||
child's parent attribute appropriately.
|
|
||||||
"""
|
|
||||||
child.parent = self
|
|
||||||
self.children[i].parent = None
|
|
||||||
self.children[i] = child
|
|
||||||
|
|
||||||
def insert_child(self, i, child):
|
|
||||||
"""
|
|
||||||
Equivalent to 'node.children.insert(i, child)'. This method also sets
|
|
||||||
the child's parent attribute appropriately.
|
|
||||||
"""
|
|
||||||
child.parent = self
|
|
||||||
self.children.insert(i, child)
|
|
||||||
|
|
||||||
def append_child(self, child):
|
def append_child(self, child):
|
||||||
"""
|
"""
|
||||||
Equivalent to 'node.children.append(child)'. This method also sets the
|
Equivalent to 'node.children.append(child)'. This method also sets the
|
||||||
@@ -302,14 +241,6 @@ class Leaf(Base):
|
|||||||
def leaves(self):
|
def leaves(self):
|
||||||
yield self
|
yield self
|
||||||
|
|
||||||
def post_order(self):
|
|
||||||
"""Return a post-order iterator for the tree."""
|
|
||||||
yield self
|
|
||||||
|
|
||||||
def pre_order(self):
|
|
||||||
"""Return a pre-order iterator for the tree."""
|
|
||||||
yield self
|
|
||||||
|
|
||||||
|
|
||||||
def convert(gr, raw_node):
|
def convert(gr, raw_node):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user