Add Python 3 ast module; update Python 2.7 ast module; fixup typed_ast (#170)

This commit is contained in:
David Fisher
2016-05-04 10:40:36 -07:00
committed by Guido van Rossum
parent 8dff6e481e
commit e8f626536e
6 changed files with 838 additions and 629 deletions

View File

@@ -1,13 +1,12 @@
import typing
from typing import Any, Optional, Union, TypeVar, Generic, Iterator
from typing import Any, Optional, Union, Generic, Iterator
T = TypeVar("T")
class NodeVisitor(Generic[T]):
class NodeVisitor():
__doc__ = ... # type: str
def visit(self, node: AST) -> T: ...
def visit(self, node: AST) -> Any: ...
def generic_visit(self, node: AST) -> None: ...
class NodeTransformer(NodeVisitor, Generic[T]):
class NodeTransformer(NodeVisitor):
__doc__ = ... # type: str
def generic_visit(self, node: AST) -> None: ...
@@ -31,13 +30,10 @@ identifier = str
class AST:
_attributes = ... # type: typing.Tuple[str, ...]
_fields = ... # type: typing.Tuple[str, ...]
def __init__(self, *args, **kwargs): ...
def __delattr__(self, name): ...
def __reduce__(self): ...
def __setattr__(self, name, value): ...
def __init__(self, *args, **kwargs) -> None: ...
class mod(AST):
pass
...
class Module(mod):
body = ... # type: typing.List[stmt]
@@ -155,13 +151,13 @@ class Global(stmt):
class Expr(stmt):
value = ... # type: expr
class Pass(stmt): pass
class Break(stmt): pass
class Continue(stmt): pass
class Pass(stmt): ...
class Break(stmt): ...
class Continue(stmt): ...
class slice(AST):
pass
...
_slice = slice # this lets us type the variable named 'slice' below
@@ -176,7 +172,7 @@ class ExtSlice(slice):
class Index(slice):
value = ... # type: expr
class Ellipsis(slice): pass
class Ellipsis(slice): ...
class expr(AST):
@@ -277,59 +273,59 @@ class Tuple(expr):
class expr_context(AST):
pass
...
class AugLoad(expr_context): pass
class AugStore(expr_context): pass
class Del(expr_context): pass
class Load(expr_context): pass
class Param(expr_context): pass
class Store(expr_context): pass
class AugLoad(expr_context): ...
class AugStore(expr_context): ...
class Del(expr_context): ...
class Load(expr_context): ...
class Param(expr_context): ...
class Store(expr_context): ...
class boolop(AST):
pass
...
class And(boolop): pass
class Or(boolop): pass
class And(boolop): ...
class Or(boolop): ...
class operator(AST):
pass
...
class Add(operator): pass
class BitAnd(operator): pass
class BitOr(operator): pass
class BitXor(operator): pass
class Div(operator): pass
class FloorDiv(operator): pass
class LShift(operator): pass
class Mod(operator): pass
class Mult(operator): pass
class Pow(operator): pass
class RShift(operator): pass
class Sub(operator): pass
class Add(operator): ...
class BitAnd(operator): ...
class BitOr(operator): ...
class BitXor(operator): ...
class Div(operator): ...
class FloorDiv(operator): ...
class LShift(operator): ...
class Mod(operator): ...
class Mult(operator): ...
class Pow(operator): ...
class RShift(operator): ...
class Sub(operator): ...
class unaryop(AST):
pass
...
class Invert(unaryop): pass
class Not(unaryop): pass
class UAdd(unaryop): pass
class USub(unaryop): pass
class Invert(unaryop): ...
class Not(unaryop): ...
class UAdd(unaryop): ...
class USub(unaryop): ...
class cmpop(AST):
pass
...
class Eq(cmpop): pass
class Gt(cmpop): pass
class GtE(cmpop): pass
class In(cmpop): pass
class Is(cmpop): pass
class IsNot(cmpop): pass
class Lt(cmpop): pass
class LtE(cmpop): pass
class NotEq(cmpop): pass
class NotIn(cmpop): pass
class Eq(cmpop): ...
class Gt(cmpop): ...
class GtE(cmpop): ...
class In(cmpop): ...
class Is(cmpop): ...
class IsNot(cmpop): ...
class Lt(cmpop): ...
class LtE(cmpop): ...
class NotEq(cmpop): ...
class NotIn(cmpop): ...
class comprehension(AST):

View File

@@ -1,13 +1,12 @@
import typing
from typing import Any, Optional, Union, TypeVar, Generic, Iterator
from typing import Any, Optional, Union, Generic, Iterator
T = TypeVar("T")
class NodeVisitor(Generic[T]):
class NodeVisitor():
__doc__ = ... # type: str
def visit(self, node: AST) -> T: ...
def visit(self, node: AST) -> Any: ...
def generic_visit(self, node: AST) -> None: ...
class NodeTransformer(NodeVisitor, Generic[T]):
class NodeTransformer(NodeVisitor):
__doc__ = ... # type: str
def generic_visit(self, node: AST) -> None: ...
@@ -31,13 +30,10 @@ identifier = str
class AST:
_attributes = ... # type: typing.Tuple[str, ...]
_fields = ... # type: typing.Tuple[str, ...]
def __init__(self, *args, **kwargs): ...
def __delattr__(self, name): ...
def __reduce__(self): ...
def __setattr__(self, name, value): ...
def __init__(self, *args, **kwargs) -> None: ...
class mod(AST):
pass
...
class Module(mod):
body = ... # type: typing.List[stmt]
@@ -163,13 +159,13 @@ class Nonlocal(stmt):
class Expr(stmt):
value = ... # type: expr
class Pass(stmt): pass
class Break(stmt): pass
class Continue(stmt): pass
class Pass(stmt): ...
class Break(stmt): ...
class Continue(stmt): ...
class slice(AST):
pass
...
_slice = slice # this lets us type the variable named 'slice' below
@@ -266,7 +262,7 @@ class Bytes(expr):
class NameConstant(expr):
value = ... # type: Any
class Ellipsis(expr): pass
class Ellipsis(expr): ...
class Attribute(expr):
value = ... # type: expr
@@ -296,60 +292,60 @@ class Tuple(expr):
class expr_context(AST):
pass
...
class AugLoad(expr_context): pass
class AugStore(expr_context): pass
class Del(expr_context): pass
class Load(expr_context): pass
class Param(expr_context): pass
class Store(expr_context): pass
class AugLoad(expr_context): ...
class AugStore(expr_context): ...
class Del(expr_context): ...
class Load(expr_context): ...
class Param(expr_context): ...
class Store(expr_context): ...
class boolop(AST):
pass
...
class And(boolop): pass
class Or(boolop): pass
class And(boolop): ...
class Or(boolop): ...
class operator(AST):
pass
...
class Add(operator): pass
class BitAnd(operator): pass
class BitOr(operator): pass
class BitXor(operator): pass
class Div(operator): pass
class FloorDiv(operator): pass
class LShift(operator): pass
class Mod(operator): pass
class Mult(operator): pass
class MatMult(operator): pass
class Pow(operator): pass
class RShift(operator): pass
class Sub(operator): pass
class Add(operator): ...
class BitAnd(operator): ...
class BitOr(operator): ...
class BitXor(operator): ...
class Div(operator): ...
class FloorDiv(operator): ...
class LShift(operator): ...
class Mod(operator): ...
class Mult(operator): ...
class MatMult(operator): ...
class Pow(operator): ...
class RShift(operator): ...
class Sub(operator): ...
class unaryop(AST):
pass
...
class Invert(unaryop): pass
class Not(unaryop): pass
class UAdd(unaryop): pass
class USub(unaryop): pass
class Invert(unaryop): ...
class Not(unaryop): ...
class UAdd(unaryop): ...
class USub(unaryop): ...
class cmpop(AST):
pass
...
class Eq(cmpop): pass
class Gt(cmpop): pass
class GtE(cmpop): pass
class In(cmpop): pass
class Is(cmpop): pass
class IsNot(cmpop): pass
class Lt(cmpop): pass
class LtE(cmpop): pass
class NotEq(cmpop): pass
class NotIn(cmpop): pass
class Eq(cmpop): ...
class Gt(cmpop): ...
class GtE(cmpop): ...
class In(cmpop): ...
class Is(cmpop): ...
class IsNot(cmpop): ...
class Lt(cmpop): ...
class LtE(cmpop): ...
class NotEq(cmpop): ...
class NotIn(cmpop): ...
class comprehension(AST):