summaryrefslogtreecommitdiff
path: root/node_classes.py
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2009-09-15 16:55:39 +0200
committerEmile Anclin <emile.anclin@logilab.fr>2009-09-15 16:55:39 +0200
commitd08c2cc858e9f1a3455ed16cccec6923889e6ce0 (patch)
treed682c3358259acd14568c6923b418558fca91bf1 /node_classes.py
parent55fe2e7dc2f3e9b1351b9a33565c64571f96d270 (diff)
downloadastroid-d08c2cc858e9f1a3455ed16cccec6923889e6ce0.tar.gz
[R] remove empty node classes; comments
Diffstat (limited to 'node_classes.py')
-rw-r--r--node_classes.py157
1 files changed, 20 insertions, 137 deletions
diff --git a/node_classes.py b/node_classes.py
index d72ecf6..619eca1 100644
--- a/node_classes.py
+++ b/node_classes.py
@@ -15,6 +15,25 @@ from the compiler.ast or _ast module (depending on _nodes.AST_MODE). This is
done by modifying directly the __bases__ attribute in logilab.astng.nodes
"""
+# The following *simple* nodes have no particular methods so far, but they have
+# different additional bases (these bases are added to __bases__ in nodes.py);
+# if you need an extra class for one of them, remove it from the corresponding
+# tuple and add an `[node-name]NG` class
+
+# bases : NodeNG
+SIMPLE_NODES = (
+ AssAttr, Backquote, BinOp, BoolOp, CallFunc,
+ Comprehension, DelAttr, Ellipsis, EmptyNode, ExtSlice, Getattr, IfExp,
+ Index, Keyword, ListComp, Slice, Subscript, UnaryOp, Yield)
+
+# bases : StmtMixin, NodeNG
+SIMPLE_STMTS = (
+ Assert, Assign, AugAssign, Break, Continue, Delete, Discard,
+ Exec, Global, Pass, Print, Raise, Return)
+
+# bases : LookupMixIn, NodeNG
+SIMPLE_LOOKUPS = (AssName, DelName, Name)
+
class ArgumentsNG(NodeNG):
"""class representing an Arguments node"""
@@ -82,46 +101,6 @@ def _format_args(args, defaults=None):
return ', '.join(values)
-class AssAttrNG(NodeNG):
- """class representing an AssAttr node"""
-
-
-class AssNameNG(LookupMixIn, NodeNG):
- """class representing an AssName node"""
-
-
-class AssertNG(StmtMixIn, NodeNG):
- """class representing an Assert node"""
-
-
-class AssignNG(StmtMixIn, NodeNG):
- """class representing an Assign node"""
-
-
-class AugAssignNG(StmtMixIn, NodeNG):
- """class representing an AugAssign node"""
-
-
-class BackquoteNG(NodeNG):
- """class representing a Backquote node"""
-
-
-class BinOpNG(NodeNG):
- """class representing a BinOp node"""
-
-
-class BoolOpNG(NodeNG):
- """class representing a BoolOp node"""
-
-
-class BreakNG(StmtMixIn, NodeNG):
- """class representing a Break node"""
-
-
-class CallFuncNG(NodeNG):
- """class representing a CallFunc node"""
-
-
class CompareNG(NodeNG):
"""class representing a Compare node"""
@@ -131,9 +110,6 @@ class CompareNG(NodeNG):
for _, comparator in self.ops:
yield comparator # we don't want the 'op'
-class ComprehensionNG(NodeNG):
- """class representing a Comprehension node"""
-
class ConstNG(NodeNG, Instance):
"""class representing a Const node"""
@@ -151,9 +127,6 @@ class ConstNG(NodeNG, Instance):
return self.value
raise TypeError()
-class ContinueNG(StmtMixIn, NodeNG):
- """class representing a Continue node"""
-
class DecoratorsNG(NodeNG):
"""class representing a Decorators node"""
@@ -162,17 +135,6 @@ class DecoratorsNG(NodeNG):
# skip the function node to go directly to the upper level scope
return self.parent.parent.scope()
-class DelAttrNG(NodeNG):
- """class representing a DelAttr node"""
-
-
-class DelNameNG(LookupMixIn, NodeNG):
- """class representing a DelName node"""
-
-
-class DeleteNG(StmtMixIn, NodeNG):
- """class representing a Delete node"""
-
class DictNG(NodeNG, Instance):
"""class representing a Dict node"""
@@ -200,18 +162,6 @@ class DictNG(NodeNG, Instance):
raise IndexError(key)
-class DiscardNG(StmtMixIn, NodeNG):
- """class representing a Discard node"""
-
-
-class EllipsisNG(NodeNG):
- """class representing an Ellipsis node"""
-
-
-class EmptyNodeNG(NodeNG):
- """class representing an EmptyNode node"""
-
-
class ExceptHandlerNG(StmtMixIn, NodeNG):
"""class representing an ExceptHandler node"""
@@ -236,14 +186,6 @@ class ExceptHandlerNG(StmtMixIn, NodeNG):
return True
-class ExecNG(StmtMixIn, NodeNG):
- """class representing an Exec node"""
-
-
-class ExtSliceNG(NodeNG):
- """class representing an ExtSlice node"""
-
-
class ForNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""class representing a For node"""
@@ -289,14 +231,6 @@ class FromNG(FromImportMixIn, StmtMixIn, NodeNG):
"""class representing a From node"""
-class GetattrNG(NodeNG):
- """class representing a Getattr node"""
-
-
-class GlobalNG(StmtMixIn, NodeNG):
- """class representing a Global node"""
-
-
class IfNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""class representing an If node"""
@@ -313,22 +247,10 @@ class IfNG(BlockRangeMixIn, StmtMixIn, NodeNG):
self.body[0].fromlineno - 1)
-class IfExpNG(NodeNG):
- """class representing an IfExp node"""
-
-
class ImportNG(FromImportMixIn, StmtMixIn, NodeNG):
"""class representing an Import node"""
-class IndexNG(NodeNG):
- """class representing an Index node"""
-
-
-class KeywordNG(NodeNG):
- """class representing a Keyword node"""
-
-
class ListNG(NodeNG, Instance):
"""class representing a List node"""
@@ -342,38 +264,6 @@ class ListNG(NodeNG, Instance):
return self.elts
-class ListCompNG(NodeNG):
- """class representing a ListComp node"""
-
-
-class NameNG(LookupMixIn, NodeNG):
- """class representing a Name node"""
-
-
-class PassNG(StmtMixIn, NodeNG):
- """class representing a Pass node"""
-
-
-class PrintNG(StmtMixIn, NodeNG):
- """class representing a Print node"""
-
-
-class RaiseNG(StmtMixIn, NodeNG):
- """class representing a Raise node"""
-
-
-class ReturnNG(StmtMixIn, NodeNG):
- """class representing a Return node"""
-
-
-class SliceNG(NodeNG):
- """class representing a Slice node"""
-
-
-class SubscriptNG(NodeNG):
- """class representing a Subscript node"""
-
-
class TryExceptNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""class representing a TryExcept node"""
@@ -422,10 +312,6 @@ class TupleNG(NodeNG, Instance):
return self.elts
-class UnaryOpNG(NodeNG):
- """class representing an UnaryOp node"""
-
-
class WhileNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""class representing a While node"""
@@ -436,6 +322,7 @@ class WhileNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""handle block line numbers range for for and while statements"""
return self. _elsed_block_range(lineno, self.orelse)
+
class WithNG(BlockRangeMixIn, StmtMixIn, NodeNG):
"""class representing a With node"""
@@ -445,7 +332,3 @@ class WithNG(BlockRangeMixIn, StmtMixIn, NodeNG):
else:
return self.expr.tolineno
-
-class YieldNG(NodeNG):
- """class representing a Yield node"""
-