--- /dev/null
+import sys\r
+from typing import List, Sequence, Tuple, Text\r
+\r
+def symtable(code: Text, filename: Text, compile_type: Text) -> SymbolTable: ...\r
+\r
+class SymbolTable(object):\r
+ def get_type(self) -> str: ...\r
+ def get_id(self) -> int: ...\r
+ def get_name(self) -> str: ...\r
+ def get_lineno(self) -> int: ...\r
+ def is_optimized(self) -> bool: ...\r
+ def is_nested(self) -> bool: ...\r
+ def has_children(self) -> bool: ...\r
+ def has_exec(self) -> bool: ...\r
+ if sys.version_info < (3, 0):\r
+ def has_import_star(self) -> bool: ...\r
+ def get_identifiers(self) -> Sequence[str]: ...\r
+ def lookup(self, name: str) -> Symbol: ...\r
+ def get_symbols(self) -> List[Symbol]: ...\r
+ def get_children(self) -> List[SymbolTable]: ...\r
+\r
+class Function(SymbolTable):\r
+ def get_parameters(self) -> Tuple[str, ...]: ...\r
+ def get_locals(self) -> Tuple[str, ...]: ...\r
+ def get_globals(self) -> Tuple[str, ...]: ...\r
+ def get_frees(self) -> Tuple[str, ...]: ...\r
+\r
+class Class(SymbolTable):\r
+ def get_methods(self) -> Tuple[str, ...]: ...\r
+\r
+class Symbol(object):\r
+ def get_name(self) -> str: ...\r
+ def is_referenced(self) -> bool: ...\r
+ def is_parameter(self) -> bool: ...\r
+ def is_global(self) -> bool: ...\r
+ def is_declared_global(self) -> bool: ...\r
+ def is_local(self) -> bool: ...\r
+ if sys.version_info >= (3, 6):\r
+ def is_annotated(self) -> bool: ...\r
+ def is_free(self) -> bool: ...\r
+ def is_imported(self) -> bool: ...\r
+ def is_assigned(self) -> bool: ...\r
+ def is_namespace(self) -> bool: ...\r
+ def get_namespaces(self) -> Sequence[SymbolTable]: ...\r
+ def get_namespace(self) -> SymbolTable: ...\r