--- /dev/null
+import sys\r
+import typing\r
+from typing import Any, Optional, Union\r
+\r
+PyCF_ONLY_AST = ... # type: int\r
+\r
+_identifier = str\r
+\r
+class AST:\r
+ _attributes = ... # type: typing.Tuple[str, ...]\r
+ _fields = ... # type: typing.Tuple[str, ...]\r
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...\r
+\r
+class mod(AST):\r
+ ...\r
+\r
+class Module(mod):\r
+ body = ... # type: typing.List[stmt]\r
+ if sys.version_info >= (3, 7):\r
+ docstring: Optional[str]\r
+\r
+class Interactive(mod):\r
+ body = ... # type: typing.List[stmt]\r
+\r
+class Expression(mod):\r
+ body = ... # type: expr\r
+\r
+class Suite(mod):\r
+ body = ... # type: typing.List[stmt]\r
+\r
+\r
+class stmt(AST):\r
+ lineno = ... # type: int\r
+ col_offset = ... # type: int\r
+\r
+class FunctionDef(stmt):\r
+ name = ... # type: _identifier\r
+ args = ... # type: arguments\r
+ body = ... # type: typing.List[stmt]\r
+ decorator_list = ... # type: typing.List[expr]\r
+ returns = ... # type: Optional[expr]\r
+ if sys.version_info >= (3, 7):\r
+ docstring: Optional[str]\r
+\r
+class AsyncFunctionDef(stmt):\r
+ name = ... # type: _identifier\r
+ args = ... # type: arguments\r
+ body = ... # type: typing.List[stmt]\r
+ decorator_list = ... # type: typing.List[expr]\r
+ returns = ... # type: Optional[expr]\r
+ if sys.version_info >= (3, 7):\r
+ docstring: Optional[str]\r
+\r
+class ClassDef(stmt):\r
+ name = ... # type: _identifier\r
+ bases = ... # type: typing.List[expr]\r
+ keywords = ... # type: typing.List[keyword]\r
+ body = ... # type: typing.List[stmt]\r
+ decorator_list = ... # type: typing.List[expr]\r
+ if sys.version_info >= (3, 7):\r
+ docstring: Optional[str]\r
+\r
+class Return(stmt):\r
+ value = ... # type: Optional[expr]\r
+\r
+class Delete(stmt):\r
+ targets = ... # type: typing.List[expr]\r
+\r
+class Assign(stmt):\r
+ targets = ... # type: typing.List[expr]\r
+ value = ... # type: expr\r
+\r
+class AugAssign(stmt):\r
+ target = ... # type: expr\r
+ op = ... # type: operator\r
+ value = ... # type: expr\r
+\r
+if sys.version_info >= (3, 6):\r
+ class AnnAssign(stmt):\r
+ target = ... # type: expr\r
+ annotation = ... # type: expr\r
+ value = ... # type: Optional[expr]\r
+ simple = ... # type: int\r
+\r
+class For(stmt):\r
+ target = ... # type: expr\r
+ iter = ... # type: expr\r
+ body = ... # type: typing.List[stmt]\r
+ orelse = ... # type: typing.List[stmt]\r
+\r
+class AsyncFor(stmt):\r
+ target = ... # type: expr\r
+ iter = ... # type: expr\r
+ body = ... # type: typing.List[stmt]\r
+ orelse = ... # type: typing.List[stmt]\r
+\r
+class While(stmt):\r
+ test = ... # type: expr\r
+ body = ... # type: typing.List[stmt]\r
+ orelse = ... # type: typing.List[stmt]\r
+\r
+class If(stmt):\r
+ test = ... # type: expr\r
+ body = ... # type: typing.List[stmt]\r
+ orelse = ... # type: typing.List[stmt]\r
+\r
+class With(stmt):\r
+ items = ... # type: typing.List[withitem]\r
+ body = ... # type: typing.List[stmt]\r
+\r
+class AsyncWith(stmt):\r
+ items = ... # type: typing.List[withitem]\r
+ body = ... # type: typing.List[stmt]\r
+\r
+class Raise(stmt):\r
+ exc = ... # type: Optional[expr]\r
+ cause = ... # type: Optional[expr]\r
+\r
+class Try(stmt):\r
+ body = ... # type: typing.List[stmt]\r
+ handlers = ... # type: typing.List[ExceptHandler]\r
+ orelse = ... # type: typing.List[stmt]\r
+ finalbody = ... # type: typing.List[stmt]\r
+\r
+class Assert(stmt):\r
+ test = ... # type: expr\r
+ msg = ... # type: Optional[expr]\r
+\r
+class Import(stmt):\r
+ names = ... # type: typing.List[alias]\r
+\r
+class ImportFrom(stmt):\r
+ module = ... # type: Optional[_identifier]\r
+ names = ... # type: typing.List[alias]\r
+ level = ... # type: Optional[int]\r
+\r
+class Global(stmt):\r
+ names = ... # type: typing.List[_identifier]\r
+\r
+class Nonlocal(stmt):\r
+ names = ... # type: typing.List[_identifier]\r
+\r
+class Expr(stmt):\r
+ value = ... # type: expr\r
+\r
+class Pass(stmt): ...\r
+class Break(stmt): ...\r
+class Continue(stmt): ...\r
+\r
+\r
+class slice(AST):\r
+ ...\r
+\r
+_slice = slice # this lets us type the variable named 'slice' below\r
+\r
+class Slice(slice):\r
+ lower = ... # type: Optional[expr]\r
+ upper = ... # type: Optional[expr]\r
+ step = ... # type: Optional[expr]\r
+\r
+class ExtSlice(slice):\r
+ dims = ... # type: typing.List[slice]\r
+\r
+class Index(slice):\r
+ value = ... # type: expr\r
+\r
+\r
+class expr(AST):\r
+ lineno = ... # type: int\r
+ col_offset = ... # type: int\r
+\r
+class BoolOp(expr):\r
+ op = ... # type: boolop\r
+ values = ... # type: typing.List[expr]\r
+\r
+class BinOp(expr):\r
+ left = ... # type: expr\r
+ op = ... # type: operator\r
+ right = ... # type: expr\r
+\r
+class UnaryOp(expr):\r
+ op = ... # type: unaryop\r
+ operand = ... # type: expr\r
+\r
+class Lambda(expr):\r
+ args = ... # type: arguments\r
+ body = ... # type: expr\r
+\r
+class IfExp(expr):\r
+ test = ... # type: expr\r
+ body = ... # type: expr\r
+ orelse = ... # type: expr\r
+\r
+class Dict(expr):\r
+ keys = ... # type: typing.List[expr]\r
+ values = ... # type: typing.List[expr]\r
+\r
+class Set(expr):\r
+ elts = ... # type: typing.List[expr]\r
+\r
+class ListComp(expr):\r
+ elt = ... # type: expr\r
+ generators = ... # type: typing.List[comprehension]\r
+\r
+class SetComp(expr):\r
+ elt = ... # type: expr\r
+ generators = ... # type: typing.List[comprehension]\r
+\r
+class DictComp(expr):\r
+ key = ... # type: expr\r
+ value = ... # type: expr\r
+ generators = ... # type: typing.List[comprehension]\r
+\r
+class GeneratorExp(expr):\r
+ elt = ... # type: expr\r
+ generators = ... # type: typing.List[comprehension]\r
+\r
+class Await(expr):\r
+ value = ... # type: expr\r
+\r
+class Yield(expr):\r
+ value = ... # type: Optional[expr]\r
+\r
+class YieldFrom(expr):\r
+ value = ... # type: expr\r
+\r
+class Compare(expr):\r
+ left = ... # type: expr\r
+ ops = ... # type: typing.List[cmpop]\r
+ comparators = ... # type: typing.List[expr]\r
+\r
+class Call(expr):\r
+ func = ... # type: expr\r
+ args = ... # type: typing.List[expr]\r
+ keywords = ... # type: typing.List[keyword]\r
+\r
+class Num(expr):\r
+ n = ... # type: Union[int, float]\r
+\r
+class Str(expr):\r
+ s = ... # type: str\r
+\r
+if sys.version_info >= (3, 6):\r
+ class FormattedValue(expr):\r
+ value = ... # type: expr\r
+ conversion = ... # type: Optional[int]\r
+ format_spec = ... # type: Optional[expr]\r
+\r
+ class JoinedStr(expr):\r
+ values = ... # type: typing.List[expr]\r
+\r
+class Bytes(expr):\r
+ s = ... # type: bytes\r
+\r
+class NameConstant(expr):\r
+ value = ... # type: Any\r
+\r
+class Ellipsis(expr): ...\r
+\r
+class Attribute(expr):\r
+ value = ... # type: expr\r
+ attr = ... # type: _identifier\r
+ ctx = ... # type: expr_context\r
+\r
+class Subscript(expr):\r
+ value = ... # type: expr\r
+ slice = ... # type: _slice\r
+ ctx = ... # type: expr_context\r
+\r
+class Starred(expr):\r
+ value = ... # type: expr\r
+ ctx = ... # type: expr_context\r
+\r
+class Name(expr):\r
+ id = ... # type: _identifier\r
+ ctx = ... # type: expr_context\r
+\r
+class List(expr):\r
+ elts = ... # type: typing.List[expr]\r
+ ctx = ... # type: expr_context\r
+\r
+class Tuple(expr):\r
+ elts = ... # type: typing.List[expr]\r
+ ctx = ... # type: expr_context\r
+\r
+\r
+class expr_context(AST):\r
+ ...\r
+\r
+class AugLoad(expr_context): ...\r
+class AugStore(expr_context): ...\r
+class Del(expr_context): ...\r
+class Load(expr_context): ...\r
+class Param(expr_context): ...\r
+class Store(expr_context): ...\r
+\r
+\r
+class boolop(AST):\r
+ ...\r
+\r
+class And(boolop): ...\r
+class Or(boolop): ...\r
+\r
+class operator(AST):\r
+ ...\r
+\r
+class Add(operator): ...\r
+class BitAnd(operator): ...\r
+class BitOr(operator): ...\r
+class BitXor(operator): ...\r
+class Div(operator): ...\r
+class FloorDiv(operator): ...\r
+class LShift(operator): ...\r
+class Mod(operator): ...\r
+class Mult(operator): ...\r
+class MatMult(operator): ...\r
+class Pow(operator): ...\r
+class RShift(operator): ...\r
+class Sub(operator): ...\r
+\r
+class unaryop(AST):\r
+ ...\r
+\r
+class Invert(unaryop): ...\r
+class Not(unaryop): ...\r
+class UAdd(unaryop): ...\r
+class USub(unaryop): ...\r
+\r
+class cmpop(AST):\r
+ ...\r
+\r
+class Eq(cmpop): ...\r
+class Gt(cmpop): ...\r
+class GtE(cmpop): ...\r
+class In(cmpop): ...\r
+class Is(cmpop): ...\r
+class IsNot(cmpop): ...\r
+class Lt(cmpop): ...\r
+class LtE(cmpop): ...\r
+class NotEq(cmpop): ...\r
+class NotIn(cmpop): ...\r
+\r
+\r
+class comprehension(AST):\r
+ target = ... # type: expr\r
+ iter = ... # type: expr\r
+ ifs = ... # type: typing.List[expr]\r
+ if sys.version_info >= (3, 6):\r
+ is_async = ... # type: int\r
+\r
+\r
+class ExceptHandler(AST):\r
+ type = ... # type: Optional[expr]\r
+ name = ... # type: Optional[_identifier]\r
+ body = ... # type: typing.List[stmt]\r
+ lineno = ... # type: int\r
+ col_offset = ... # type: int\r
+\r
+\r
+class arguments(AST):\r
+ args = ... # type: typing.List[arg]\r
+ vararg = ... # type: Optional[arg]\r
+ kwonlyargs = ... # type: typing.List[arg]\r
+ kw_defaults = ... # type: typing.List[expr]\r
+ kwarg = ... # type: Optional[arg]\r
+ defaults = ... # type: typing.List[expr]\r
+\r
+class arg(AST):\r
+ arg = ... # type: _identifier\r
+ annotation = ... # type: Optional[expr]\r
+ lineno = ... # type: int\r
+ col_offset = ... # type: int\r
+\r
+class keyword(AST):\r
+ arg = ... # type: Optional[_identifier]\r
+ value = ... # type: expr\r
+\r
+class alias(AST):\r
+ name = ... # type: _identifier\r
+ asname = ... # type: Optional[_identifier]\r
+\r
+class withitem(AST):\r
+ context_expr = ... # type: expr\r
+ optional_vars = ... # type: Optional[expr]\r