Copyright | (c) 2009 Bernie Pope |
---|---|
License | BSD-style |
Maintainer | bjpop@csse.unimelb.edu.au |
Stability | experimental |
Portability | ghc |
Safe Haskell | Safe |
Language | Haskell2010 |
Representation of the Python abstract syntax tree (AST). The representation is a superset of versions 2.x and 3.x of Python. In many cases they are identical. The documentation in this module indicates where they are different.
All the data types have a (polymorphic) parameter which allows the AST to
be annotated by an arbitrary type (for example source locations). Specialised
instances of the types are provided for source spans. For example Module a
is
the type of modules, and ModuleSpan
is the type of modules annoted with source
span information.
Note: there are cases where the AST is more liberal than the formal grammar of the language. Therefore some care must be taken when constructing Python programs using the raw AST.
Synopsis
- class Annotated t where
- annot :: t annot -> annot
- newtype Module annot = Module [Statement annot]
- type ModuleSpan = Module SrcSpan
- data Ident annot = Ident {
- ident_string :: !String
- ident_annot :: annot
- type IdentSpan = Ident SrcSpan
- type DottedName annot = [Ident annot]
- type DottedNameSpan = DottedName SrcSpan
- data Statement annot
- = Import {
- import_items :: [ImportItem annot]
- stmt_annot :: annot
- | FromImport {
- from_module :: ImportRelative annot
- from_items :: FromItems annot
- stmt_annot :: annot
- | While {
- while_cond :: Expr annot
- while_body :: Suite annot
- while_else :: Suite annot
- stmt_annot :: annot
- | For {
- for_targets :: [Expr annot]
- for_generator :: Expr annot
- for_body :: Suite annot
- for_else :: Suite annot
- stmt_annot :: annot
- | AsyncFor {
- for_stmt :: Statement annot
- stmt_annot :: annot
- | Fun {
- fun_name :: Ident annot
- fun_args :: [Parameter annot]
- fun_result_annotation :: Maybe (Expr annot)
- fun_body :: Suite annot
- stmt_annot :: annot
- | AsyncFun {
- fun_def :: Statement annot
- stmt_annot :: annot
- | Class {
- class_name :: Ident annot
- class_args :: [Argument annot]
- class_body :: Suite annot
- stmt_annot :: annot
- | Conditional {
- cond_guards :: [(Expr annot, Suite annot)]
- cond_else :: Suite annot
- stmt_annot :: annot
- | Assign {
- assign_to :: [Expr annot]
- assign_expr :: Expr annot
- stmt_annot :: annot
- | AugmentedAssign {
- aug_assign_to :: Expr annot
- aug_assign_op :: AssignOp annot
- aug_assign_expr :: Expr annot
- stmt_annot :: annot
- | AnnotatedAssign {
- ann_assign_annotation :: Expr annot
- ann_assign_to :: Expr annot
- ann_assign_expr :: Maybe (Expr annot)
- stmt_annot :: annot
- | Decorated {
- decorated_decorators :: [Decorator annot]
- decorated_def :: Statement annot
- stmt_annot :: annot
- | Return {
- return_expr :: Maybe (Expr annot)
- stmt_annot :: annot
- | Try {
- try_body :: Suite annot
- try_excepts :: [Handler annot]
- try_else :: Suite annot
- try_finally :: Suite annot
- stmt_annot :: annot
- | Raise {
- raise_expr :: RaiseExpr annot
- stmt_annot :: annot
- | With {
- with_context :: [(Expr annot, Maybe (Expr annot))]
- with_body :: Suite annot
- stmt_annot :: annot
- | AsyncWith {
- with_stmt :: Statement annot
- stmt_annot :: annot
- | Pass {
- stmt_annot :: annot
- | Break {
- stmt_annot :: annot
- | Continue {
- stmt_annot :: annot
- | Delete {
- del_exprs :: [Expr annot]
- stmt_annot :: annot
- | StmtExpr {
- stmt_expr :: Expr annot
- stmt_annot :: annot
- | Global {
- global_vars :: [Ident annot]
- stmt_annot :: annot
- | NonLocal {
- nonLocal_vars :: [Ident annot]
- stmt_annot :: annot
- | Assert {
- assert_exprs :: [Expr annot]
- stmt_annot :: annot
- | Print {
- print_chevron :: Bool
- print_exprs :: [Expr annot]
- print_trailing_comma :: Bool
- stmt_annot :: annot
- | Exec {
- exec_expr :: Expr annot
- exec_globals_locals :: Maybe (Expr annot, Maybe (Expr annot))
- stmt_annot :: annot
- = Import {
- type StatementSpan = Statement SrcSpan
- type Suite annot = [Statement annot]
- type SuiteSpan = Suite SrcSpan
- data Parameter annot
- = Param {
- param_name :: Ident annot
- param_py_annotation :: Maybe (Expr annot)
- param_default :: Maybe (Expr annot)
- param_annot :: annot
- | VarArgsPos {
- param_name :: Ident annot
- param_py_annotation :: Maybe (Expr annot)
- param_annot :: annot
- | VarArgsKeyword {
- param_name :: Ident annot
- param_py_annotation :: Maybe (Expr annot)
- param_annot :: annot
- | EndPositional {
- param_annot :: annot
- | UnPackTuple {
- param_unpack_tuple :: ParamTuple annot
- param_default :: Maybe (Expr annot)
- param_annot :: annot
- = Param {
- type ParameterSpan = Parameter SrcSpan
- data ParamTuple annot
- = ParamTupleName {
- param_tuple_name :: Ident annot
- param_tuple_annot :: annot
- | ParamTuple {
- param_tuple :: [ParamTuple annot]
- param_tuple_annot :: annot
- = ParamTupleName {
- type ParamTupleSpan = ParamTuple SrcSpan
- data Decorator annot = Decorator {
- decorator_name :: DottedName annot
- decorator_args :: [Argument annot]
- decorator_annot :: annot
- type DecoratorSpan = Decorator SrcSpan
- data AssignOp annot
- = PlusAssign {
- assignOp_annot :: annot
- | MinusAssign {
- assignOp_annot :: annot
- | MultAssign {
- assignOp_annot :: annot
- | DivAssign {
- assignOp_annot :: annot
- | ModAssign {
- assignOp_annot :: annot
- | PowAssign {
- assignOp_annot :: annot
- | BinAndAssign {
- assignOp_annot :: annot
- | BinOrAssign {
- assignOp_annot :: annot
- | BinXorAssign {
- assignOp_annot :: annot
- | LeftShiftAssign {
- assignOp_annot :: annot
- | RightShiftAssign {
- assignOp_annot :: annot
- | FloorDivAssign {
- assignOp_annot :: annot
- | MatrixMultAssign {
- assignOp_annot :: annot
- = PlusAssign {
- type AssignOpSpan = AssignOp SrcSpan
- data Expr annot
- = Var {
- var_ident :: Ident annot
- expr_annot :: annot
- | Int {
- int_value :: Integer
- expr_literal :: String
- expr_annot :: annot
- | LongInt {
- int_value :: Integer
- expr_literal :: String
- expr_annot :: annot
- | Float {
- float_value :: Double
- expr_literal :: String
- expr_annot :: annot
- | Imaginary {
- imaginary_value :: Double
- expr_literal :: String
- expr_annot :: annot
- | Bool {
- bool_value :: Bool
- expr_annot :: annot
- | None {
- expr_annot :: annot
- | Ellipsis {
- expr_annot :: annot
- | ByteStrings {
- byte_string_strings :: [String]
- expr_annot :: annot
- | Strings {
- strings_strings :: [String]
- expr_annot :: annot
- | UnicodeStrings {
- unicodestrings_strings :: [String]
- expr_annot :: annot
- | Call {
- call_fun :: Expr annot
- call_args :: [Argument annot]
- expr_annot :: annot
- | Subscript {
- subscriptee :: Expr annot
- subscript_expr :: Expr annot
- expr_annot :: annot
- | SlicedExpr {
- slicee :: Expr annot
- slices :: [Slice annot]
- expr_annot :: annot
- | CondExpr {
- ce_true_branch :: Expr annot
- ce_condition :: Expr annot
- ce_false_branch :: Expr annot
- expr_annot :: annot
- | BinaryOp {
- operator :: Op annot
- left_op_arg :: Expr annot
- right_op_arg :: Expr annot
- expr_annot :: annot
- | UnaryOp {
- operator :: Op annot
- op_arg :: Expr annot
- expr_annot :: annot
- | Dot {
- dot_expr :: Expr annot
- dot_attribute :: Ident annot
- expr_annot :: annot
- | Lambda {
- lambda_args :: [Parameter annot]
- lambda_body :: Expr annot
- expr_annot :: annot
- | Tuple {
- tuple_exprs :: [Expr annot]
- expr_annot :: annot
- | Yield {
- yield_arg :: Maybe (YieldArg annot)
- expr_annot :: annot
- | Generator {
- gen_comprehension :: Comprehension annot
- expr_annot :: annot
- | Await {
- await_expr :: Expr annot
- expr_annot :: annot
- | ListComp {
- list_comprehension :: Comprehension annot
- expr_annot :: annot
- | List {
- list_exprs :: [Expr annot]
- expr_annot :: annot
- | Dictionary {
- dict_mappings :: [DictKeyDatumList annot]
- expr_annot :: annot
- | DictComp {
- dict_comprehension :: Comprehension annot
- expr_annot :: annot
- | Set {
- set_exprs :: [Expr annot]
- expr_annot :: annot
- | SetComp {
- set_comprehension :: Comprehension annot
- expr_annot :: annot
- | Starred {
- starred_expr :: Expr annot
- expr_annot :: annot
- | Paren {
- paren_expr :: Expr annot
- expr_annot :: annot
- | StringConversion {
- backquoted_expr :: Expr annot
- expr_anot :: annot
- = Var {
- type ExprSpan = Expr SrcSpan
- data Op annot
- = And {
- op_annot :: annot
- | Or {
- op_annot :: annot
- | Not {
- op_annot :: annot
- | Exponent {
- op_annot :: annot
- | LessThan {
- op_annot :: annot
- | GreaterThan {
- op_annot :: annot
- | Equality {
- op_annot :: annot
- | GreaterThanEquals {
- op_annot :: annot
- | LessThanEquals {
- op_annot :: annot
- | NotEquals {
- op_annot :: annot
- | NotEqualsV2 {
- op_annot :: annot
- | In {
- op_annot :: annot
- | Is {
- op_annot :: annot
- | IsNot {
- op_annot :: annot
- | NotIn {
- op_annot :: annot
- | BinaryOr {
- op_annot :: annot
- | Xor {
- op_annot :: annot
- | BinaryAnd {
- op_annot :: annot
- | ShiftLeft {
- op_annot :: annot
- | ShiftRight {
- op_annot :: annot
- | Multiply {
- op_annot :: annot
- | Plus {
- op_annot :: annot
- | Minus {
- op_annot :: annot
- | Divide {
- op_annot :: annot
- | FloorDivide {
- op_annot :: annot
- | MatrixMult {
- op_annot :: annot
- | Invert {
- op_annot :: annot
- | Modulo {
- op_annot :: annot
- = And {
- type OpSpan = Op SrcSpan
- data Argument annot
- = ArgExpr { }
- | ArgVarArgsPos { }
- | ArgVarArgsKeyword { }
- | ArgKeyword {
- arg_keyword :: Ident annot
- arg_expr :: Expr annot
- arg_annot :: annot
- type ArgumentSpan = Argument SrcSpan
- data Slice annot
- = SliceProper {
- slice_lower :: Maybe (Expr annot)
- slice_upper :: Maybe (Expr annot)
- slice_stride :: Maybe (Maybe (Expr annot))
- slice_annot :: annot
- | SliceExpr {
- slice_expr :: Expr annot
- slice_annot :: annot
- | SliceEllipsis {
- slice_annot :: annot
- = SliceProper {
- type SliceSpan = Slice SrcSpan
- data DictKeyDatumList annot
- = DictMappingPair (Expr annot) (Expr annot)
- | DictUnpacking (Expr annot)
- type DictKeyDatumListSpan = DictKeyDatumList SrcSpan
- data YieldArg annot
- type YieldArgSpan = YieldArg SrcSpan
- data ImportItem annot = ImportItem {
- import_item_name :: DottedName annot
- import_as_name :: Maybe (Ident annot)
- import_item_annot :: annot
- type ImportItemSpan = ImportItem SrcSpan
- data FromItem annot = FromItem {
- from_item_name :: Ident annot
- from_as_name :: Maybe (Ident annot)
- from_item_annot :: annot
- type FromItemSpan = FromItem SrcSpan
- data FromItems annot
- = ImportEverything {
- from_items_annot :: annot
- | FromItems {
- from_items_items :: [FromItem annot]
- from_items_annot :: annot
- = ImportEverything {
- type FromItemsSpan = FromItems SrcSpan
- data ImportRelative annot = ImportRelative {
- import_relative_dots :: Int
- import_relative_module :: Maybe (DottedName annot)
- import_relative_annot :: annot
- type ImportRelativeSpan = ImportRelative SrcSpan
- data Handler annot = Handler {
- handler_clause :: ExceptClause annot
- handler_suite :: Suite annot
- handler_annot :: annot
- type HandlerSpan = Handler SrcSpan
- data ExceptClause annot = ExceptClause {
- except_clause :: Maybe (Expr annot, Maybe (Expr annot))
- except_clause_annot :: annot
- type ExceptClauseSpan = ExceptClause SrcSpan
- data RaiseExpr annot
- type RaiseExprSpan = RaiseExpr SrcSpan
- data Comprehension annot = Comprehension {
- comprehension_expr :: ComprehensionExpr annot
- comprehension_for :: CompFor annot
- comprehension_annot :: annot
- type ComprehensionSpan = Comprehension SrcSpan
- data ComprehensionExpr annot
- = ComprehensionExpr (Expr annot)
- | ComprehensionDict (DictKeyDatumList annot)
- type ComprehensionExprSpan = ComprehensionExpr SrcSpan
- data CompFor annot = CompFor {
- comp_for_async :: Bool
- comp_for_exprs :: [Expr annot]
- comp_in_expr :: Expr annot
- comp_for_iter :: Maybe (CompIter annot)
- comp_for_annot :: annot
- type CompForSpan = CompFor SrcSpan
- data CompIf annot = CompIf {
- comp_if :: Expr annot
- comp_if_iter :: Maybe (CompIter annot)
- comp_if_annot :: annot
- type CompIfSpan = CompIf SrcSpan
- data CompIter annot
- = IterFor {
- comp_iter_for :: CompFor annot
- comp_iter_annot :: annot
- | IterIf {
- comp_iter_if :: CompIf annot
- comp_iter_annot :: annot
- = IterFor {
- type CompIterSpan = CompIter SrcSpan
Annotation projection
class Annotated t where Source #
Convenient access to annotations in annotated types.
Instances
Modules
A module (Python source file).
Instances
Functor Module Source # | |
Eq annot => Eq (Module annot) Source # | |
Data annot => Data (Module annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Module annot -> c (Module annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Module annot) # toConstr :: Module annot -> Constr # dataTypeOf :: Module annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Module annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Module annot)) # gmapT :: (forall b. Data b => b -> b) -> Module annot -> Module annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Module annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Module annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Module annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Module annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Module annot -> m (Module annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Module annot -> m (Module annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Module annot -> m (Module annot) # | |
Ord annot => Ord (Module annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (Module annot) Source # | |
Pretty (Module a) Source # | |
type ModuleSpan = Module SrcSpan Source #
Identifiers and dotted names
Identifier.
Ident | |
|
Instances
Functor Ident Source # | |
Span IdentSpan Source # | |
Annotated Ident Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Ident annot) Source # | |
Data annot => Data (Ident annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ident annot -> c (Ident annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ident annot) # toConstr :: Ident annot -> Constr # dataTypeOf :: Ident annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ident annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ident annot)) # gmapT :: (forall b. Data b => b -> b) -> Ident annot -> Ident annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ident annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ident annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Ident annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ident annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ident annot -> m (Ident annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ident annot -> m (Ident annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ident annot -> m (Ident annot) # | |
Ord annot => Ord (Ident annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (Ident annot) Source # | |
Pretty (Ident a) Source # | |
type DottedName annot = [Ident annot] Source #
A compound name constructed with the dot operator.
type DottedNameSpan = DottedName SrcSpan Source #
Statements, suites, parameters, decorators and assignment operators
Statements.
- Simple statements:
- Version 2.6 http://docs.python.org/2.6/reference/simple_stmts.html
- Version 3.1 http://docs.python.org/3.1/reference/simple_stmts.html
- Compound statements:
- Version 2.6 http://docs.python.org/2.6/reference/compound_stmts.html
- Version 3.1 http://docs.python.org/3.1/reference/compound_stmts.html
Import | Import statement. |
| |
FromImport | From ... import statement. |
| |
While | While loop. |
| |
For | For loop. |
| |
AsyncFor | |
| |
Fun | Function definition. |
| |
AsyncFun | |
| |
Class | Class definition. |
| |
Conditional | Conditional statement (if-elif-else). |
| |
Assign | Assignment statement. |
| |
AugmentedAssign | Augmented assignment statement. |
| |
AnnotatedAssign | |
| |
Decorated | Decorated definition of a function or class. |
| |
Return | Return statement (may only occur syntactically nested in a function definition). |
| |
Try | Try statement (exception handling). |
| |
Raise | Raise statement (exception throwing). |
| |
With | With statement (context management). |
| |
AsyncWith | |
| |
Pass | Pass statement (null operation). |
| |
Break | Break statement (may only occur syntactically nested in a for or while loop, but not nested in a function or class definition within that loop). |
| |
Continue | Continue statement (may only occur syntactically nested in a for or while loop, but not nested in a function or class definition or finally clause within that loop). |
| |
Delete | Del statement (delete). |
| |
StmtExpr | Expression statement. |
| |
Global | Global declaration. |
| |
NonLocal | Nonlocal declaration. Version 3.x only. |
| |
Assert | Assertion. |
| |
Print statement. Version 2 only. | |
| |
Exec | Exec statement. Version 2 only. |
|
Instances
Functor Statement Source # | |
Span StatementSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: StatementSpan -> SrcSpan Source # | |
Annotated Statement Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Statement annot) Source # | |
Data annot => Data (Statement annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Statement annot -> c (Statement annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Statement annot) # toConstr :: Statement annot -> Constr # dataTypeOf :: Statement annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Statement annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Statement annot)) # gmapT :: (forall b. Data b => b -> b) -> Statement annot -> Statement annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Statement annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Statement annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Statement annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Statement annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Statement annot -> m (Statement annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement annot -> m (Statement annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Statement annot -> m (Statement annot) # | |
Ord annot => Ord (Statement annot) Source # | |
Defined in Language.Python.Common.AST compare :: Statement annot -> Statement annot -> Ordering # (<) :: Statement annot -> Statement annot -> Bool # (<=) :: Statement annot -> Statement annot -> Bool # (>) :: Statement annot -> Statement annot -> Bool # (>=) :: Statement annot -> Statement annot -> Bool # max :: Statement annot -> Statement annot -> Statement annot # min :: Statement annot -> Statement annot -> Statement annot # | |
Show annot => Show (Statement annot) Source # | |
Pretty (Statement a) Source # | |
type StatementSpan = Statement SrcSpan Source #
type Suite annot = [Statement annot] Source #
A block of statements. A suite is a group of statements controlled by a clause, for example, the body of a loop.
Formal parameter of function definitions and lambda expressions.
Param | Ordinary named parameter. |
| |
VarArgsPos | Excess positional parameter (single asterisk before its name in the concrete syntax). |
| |
VarArgsKeyword | Excess keyword parameter (double asterisk before its name in the concrete syntax). |
| |
EndPositional | Marker for the end of positional parameters (not a parameter itself). |
| |
UnPackTuple | Tuple unpack. Version 2 only. |
|
Instances
Functor Parameter Source # | |
Span ParameterSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: ParameterSpan -> SrcSpan Source # | |
Annotated Parameter Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Parameter annot) Source # | |
Data annot => Data (Parameter annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Parameter annot -> c (Parameter annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Parameter annot) # toConstr :: Parameter annot -> Constr # dataTypeOf :: Parameter annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Parameter annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Parameter annot)) # gmapT :: (forall b. Data b => b -> b) -> Parameter annot -> Parameter annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Parameter annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Parameter annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Parameter annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Parameter annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Parameter annot -> m (Parameter annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Parameter annot -> m (Parameter annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Parameter annot -> m (Parameter annot) # | |
Ord annot => Ord (Parameter annot) Source # | |
Defined in Language.Python.Common.AST compare :: Parameter annot -> Parameter annot -> Ordering # (<) :: Parameter annot -> Parameter annot -> Bool # (<=) :: Parameter annot -> Parameter annot -> Bool # (>) :: Parameter annot -> Parameter annot -> Bool # (>=) :: Parameter annot -> Parameter annot -> Bool # max :: Parameter annot -> Parameter annot -> Parameter annot # min :: Parameter annot -> Parameter annot -> Parameter annot # | |
Show annot => Show (Parameter annot) Source # | |
Pretty (Parameter a) Source # | |
type ParameterSpan = Parameter SrcSpan Source #
data ParamTuple annot Source #
Tuple unpack parameter. Version 2 only.
ParamTupleName | A variable name. |
| |
ParamTuple | A (possibly nested) tuple parameter. |
|
Instances
Functor ParamTuple Source # | |
Defined in Language.Python.Common.AST fmap :: (a -> b) -> ParamTuple a -> ParamTuple b # (<$) :: a -> ParamTuple b -> ParamTuple a # | |
Span ParamTupleSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: ParamTupleSpan -> SrcSpan Source # | |
Annotated ParamTuple Source # | |
Defined in Language.Python.Common.AST annot :: ParamTuple annot -> annot Source # | |
Eq annot => Eq (ParamTuple annot) Source # | |
Defined in Language.Python.Common.AST (==) :: ParamTuple annot -> ParamTuple annot -> Bool # (/=) :: ParamTuple annot -> ParamTuple annot -> Bool # | |
Data annot => Data (ParamTuple annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ParamTuple annot -> c (ParamTuple annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ParamTuple annot) # toConstr :: ParamTuple annot -> Constr # dataTypeOf :: ParamTuple annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ParamTuple annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ParamTuple annot)) # gmapT :: (forall b. Data b => b -> b) -> ParamTuple annot -> ParamTuple annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ParamTuple annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ParamTuple annot -> r # gmapQ :: (forall d. Data d => d -> u) -> ParamTuple annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ParamTuple annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ParamTuple annot -> m (ParamTuple annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ParamTuple annot -> m (ParamTuple annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ParamTuple annot -> m (ParamTuple annot) # | |
Ord annot => Ord (ParamTuple annot) Source # | |
Defined in Language.Python.Common.AST compare :: ParamTuple annot -> ParamTuple annot -> Ordering # (<) :: ParamTuple annot -> ParamTuple annot -> Bool # (<=) :: ParamTuple annot -> ParamTuple annot -> Bool # (>) :: ParamTuple annot -> ParamTuple annot -> Bool # (>=) :: ParamTuple annot -> ParamTuple annot -> Bool # max :: ParamTuple annot -> ParamTuple annot -> ParamTuple annot # min :: ParamTuple annot -> ParamTuple annot -> ParamTuple annot # | |
Show annot => Show (ParamTuple annot) Source # | |
Defined in Language.Python.Common.AST showsPrec :: Int -> ParamTuple annot -> ShowS # show :: ParamTuple annot -> String # showList :: [ParamTuple annot] -> ShowS # | |
Pretty (ParamTuple a) Source # | |
Defined in Language.Python.Common.PrettyAST pretty :: ParamTuple a -> Doc Source # |
type ParamTupleSpan = ParamTuple SrcSpan Source #
Decorator.
Decorator | |
|
Instances
Functor Decorator Source # | |
Span DecoratorSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: DecoratorSpan -> SrcSpan Source # | |
Annotated Decorator Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Decorator annot) Source # | |
Data annot => Data (Decorator annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Decorator annot -> c (Decorator annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Decorator annot) # toConstr :: Decorator annot -> Constr # dataTypeOf :: Decorator annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Decorator annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Decorator annot)) # gmapT :: (forall b. Data b => b -> b) -> Decorator annot -> Decorator annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Decorator annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Decorator annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Decorator annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Decorator annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Decorator annot -> m (Decorator annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Decorator annot -> m (Decorator annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Decorator annot -> m (Decorator annot) # | |
Ord annot => Ord (Decorator annot) Source # | |
Defined in Language.Python.Common.AST compare :: Decorator annot -> Decorator annot -> Ordering # (<) :: Decorator annot -> Decorator annot -> Bool # (<=) :: Decorator annot -> Decorator annot -> Bool # (>) :: Decorator annot -> Decorator annot -> Bool # (>=) :: Decorator annot -> Decorator annot -> Bool # max :: Decorator annot -> Decorator annot -> Decorator annot # min :: Decorator annot -> Decorator annot -> Decorator annot # | |
Show annot => Show (Decorator annot) Source # | |
Pretty (Decorator a) Source # | |
type DecoratorSpan = Decorator SrcSpan Source #
Augmented assignment operators.
PlusAssign | '+=' |
| |
MinusAssign | '-=' |
| |
MultAssign | '*=' |
| |
DivAssign | '/=' |
| |
ModAssign | '%=' |
| |
PowAssign | '*=' |
| |
BinAndAssign | '&=' |
| |
BinOrAssign | '|=' |
| |
BinXorAssign | '^=' |
| |
LeftShiftAssign | '<<=' |
| |
RightShiftAssign | '>>=' |
| |
FloorDivAssign | '//=' |
| |
MatrixMultAssign | '@=' |
|
Instances
Functor AssignOp Source # | |
Span AssignOpSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: AssignOpSpan -> SrcSpan Source # | |
Annotated AssignOp Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (AssignOp annot) Source # | |
Data annot => Data (AssignOp annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AssignOp annot -> c (AssignOp annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AssignOp annot) # toConstr :: AssignOp annot -> Constr # dataTypeOf :: AssignOp annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AssignOp annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AssignOp annot)) # gmapT :: (forall b. Data b => b -> b) -> AssignOp annot -> AssignOp annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AssignOp annot -> r # gmapQ :: (forall d. Data d => d -> u) -> AssignOp annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AssignOp annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AssignOp annot -> m (AssignOp annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp annot -> m (AssignOp annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AssignOp annot -> m (AssignOp annot) # | |
Ord annot => Ord (AssignOp annot) Source # | |
Defined in Language.Python.Common.AST compare :: AssignOp annot -> AssignOp annot -> Ordering # (<) :: AssignOp annot -> AssignOp annot -> Bool # (<=) :: AssignOp annot -> AssignOp annot -> Bool # (>) :: AssignOp annot -> AssignOp annot -> Bool # (>=) :: AssignOp annot -> AssignOp annot -> Bool # | |
Show annot => Show (AssignOp annot) Source # | |
Pretty (AssignOp a) Source # | |
type AssignOpSpan = AssignOp SrcSpan Source #
Expressions, operators, arguments and slices
Expressions.
Var | Variable. |
| |
Int | Literal integer. |
| |
LongInt | Long literal integer. Version 2 only. |
| |
Float | Literal floating point number. |
| |
Imaginary | Literal imaginary number. |
| |
Bool | Literal boolean. |
| |
None | Literal 'None' value. |
| |
Ellipsis | Ellipsis '...'. |
| |
ByteStrings | Literal byte string. |
| |
Strings | Literal strings (to be concatentated together). |
| |
UnicodeStrings | Unicode literal strings (to be concatentated together). Version 2 only. |
| |
Call | Function call. |
| |
Subscript | Subscription, for example 'x [y]'. |
| |
SlicedExpr | Slicing, for example 'w [x:y:z]'. |
| |
CondExpr | Conditional expresison. |
| |
BinaryOp | Binary operator application. |
| |
UnaryOp | Unary operator application. |
| |
Dot | |
| |
Lambda | Anonymous function definition (lambda). |
| |
Tuple | Tuple. Can be empty. |
| |
Yield | Generator yield. |
| |
Generator | Generator. |
| |
Await | Await |
| |
ListComp | List comprehension. |
| |
List | List. |
| |
Dictionary | Dictionary. |
| |
DictComp | Dictionary comprehension. Version 3 only. |
| |
Set | Set. |
| |
SetComp | Set comprehension. Version 3 only. |
| |
Starred | Starred expression. Version 3 only. |
| |
Paren | Parenthesised expression. |
| |
StringConversion | String conversion (backquoted expression). Version 2 only. |
|
Instances
Functor Expr Source # | |
Span ExprSpan Source # | |
Annotated Expr Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Expr annot) Source # | |
Data annot => Data (Expr annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Expr annot -> c (Expr annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Expr annot) # toConstr :: Expr annot -> Constr # dataTypeOf :: Expr annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Expr annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Expr annot)) # gmapT :: (forall b. Data b => b -> b) -> Expr annot -> Expr annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Expr annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Expr annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Expr annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Expr annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Expr annot -> m (Expr annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Expr annot -> m (Expr annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Expr annot -> m (Expr annot) # | |
Ord annot => Ord (Expr annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (Expr annot) Source # | |
Pretty (Expr a) Source # | |
Operators.
And | 'and' |
| |
Or | 'or' |
| |
Not | 'not' |
| |
Exponent | '**' |
| |
LessThan | '<' |
| |
GreaterThan | '>' |
| |
Equality | '==' |
| |
GreaterThanEquals | '>=' |
| |
LessThanEquals | '<=' |
| |
NotEquals | '!=' |
| |
NotEqualsV2 | '<>'. Version 2 only. |
| |
In | 'in' |
| |
Is | 'is' |
| |
IsNot | 'is not' |
| |
NotIn | 'not in' |
| |
BinaryOr | '|' |
| |
Xor | '^' |
| |
BinaryAnd | '&' |
| |
ShiftLeft | '<<' |
| |
ShiftRight | '>>' |
| |
Multiply | '*' |
| |
Plus | '+' |
| |
Minus | '-' |
| |
Divide | '/' |
| |
FloorDivide | '//' |
| |
MatrixMult | '@' |
| |
Invert | '~' (bitwise inversion of its integer argument) |
| |
Modulo | '%' |
|
Instances
Functor Op Source # | |
Span OpSpan Source # | |
Annotated Op Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Op annot) Source # | |
Data annot => Data (Op annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Op annot -> c (Op annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Op annot) # toConstr :: Op annot -> Constr # dataTypeOf :: Op annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Op annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Op annot)) # gmapT :: (forall b. Data b => b -> b) -> Op annot -> Op annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Op annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Op annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Op annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Op annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Op annot -> m (Op annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Op annot -> m (Op annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Op annot -> m (Op annot) # | |
Ord annot => Ord (Op annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (Op annot) Source # | |
Pretty (Op a) Source # | |
Arguments to function calls, class declarations and decorators.
ArgExpr | Ordinary argument expression. |
ArgVarArgsPos | Excess positional argument. |
ArgVarArgsKeyword | Excess keyword argument. |
ArgKeyword | Keyword argument. |
|
Instances
Functor Argument Source # | |
Span ArgumentSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: ArgumentSpan -> SrcSpan Source # | |
Annotated Argument Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Argument annot) Source # | |
Data annot => Data (Argument annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Argument annot -> c (Argument annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Argument annot) # toConstr :: Argument annot -> Constr # dataTypeOf :: Argument annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Argument annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Argument annot)) # gmapT :: (forall b. Data b => b -> b) -> Argument annot -> Argument annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Argument annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Argument annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Argument annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Argument annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Argument annot -> m (Argument annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Argument annot -> m (Argument annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Argument annot -> m (Argument annot) # | |
Ord annot => Ord (Argument annot) Source # | |
Defined in Language.Python.Common.AST compare :: Argument annot -> Argument annot -> Ordering # (<) :: Argument annot -> Argument annot -> Bool # (<=) :: Argument annot -> Argument annot -> Bool # (>) :: Argument annot -> Argument annot -> Bool # (>=) :: Argument annot -> Argument annot -> Bool # | |
Show annot => Show (Argument annot) Source # | |
Pretty (Argument a) Source # | |
type ArgumentSpan = Argument SrcSpan Source #
Slice compenent.
SliceProper | |
| |
SliceExpr | |
| |
SliceEllipsis | |
|
Instances
Functor Slice Source # | |
Span SliceSpan Source # | |
Annotated Slice Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Slice annot) Source # | |
Data annot => Data (Slice annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Slice annot -> c (Slice annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Slice annot) # toConstr :: Slice annot -> Constr # dataTypeOf :: Slice annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Slice annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Slice annot)) # gmapT :: (forall b. Data b => b -> b) -> Slice annot -> Slice annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slice annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slice annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Slice annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Slice annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Slice annot -> m (Slice annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Slice annot -> m (Slice annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Slice annot -> m (Slice annot) # | |
Ord annot => Ord (Slice annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (Slice annot) Source # | |
Pretty (Slice a) Source # | |
data DictKeyDatumList annot Source #
DictMappingPair (Expr annot) (Expr annot) | |
DictUnpacking (Expr annot) |
Instances
YieldFrom (Expr annot) annot | Yield from a generator (Version 3 only) |
YieldExpr (Expr annot) | Yield value of an expression |
Instances
Functor YieldArg Source # | |
Span YieldArgSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: YieldArgSpan -> SrcSpan Source # | |
Eq annot => Eq (YieldArg annot) Source # | |
Data annot => Data (YieldArg annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> YieldArg annot -> c (YieldArg annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (YieldArg annot) # toConstr :: YieldArg annot -> Constr # dataTypeOf :: YieldArg annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (YieldArg annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (YieldArg annot)) # gmapT :: (forall b. Data b => b -> b) -> YieldArg annot -> YieldArg annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> YieldArg annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> YieldArg annot -> r # gmapQ :: (forall d. Data d => d -> u) -> YieldArg annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> YieldArg annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> YieldArg annot -> m (YieldArg annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> YieldArg annot -> m (YieldArg annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> YieldArg annot -> m (YieldArg annot) # | |
Ord annot => Ord (YieldArg annot) Source # | |
Defined in Language.Python.Common.AST compare :: YieldArg annot -> YieldArg annot -> Ordering # (<) :: YieldArg annot -> YieldArg annot -> Bool # (<=) :: YieldArg annot -> YieldArg annot -> Bool # (>) :: YieldArg annot -> YieldArg annot -> Bool # (>=) :: YieldArg annot -> YieldArg annot -> Bool # | |
Show annot => Show (YieldArg annot) Source # | |
Pretty (YieldArg a) Source # | |
type YieldArgSpan = YieldArg SrcSpan Source #
Imports
data ImportItem annot Source #
An entity imported using the 'import' keyword.
ImportItem | |
|
Instances
Functor ImportItem Source # | |
Defined in Language.Python.Common.AST fmap :: (a -> b) -> ImportItem a -> ImportItem b # (<$) :: a -> ImportItem b -> ImportItem a # | |
Span ImportItemSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: ImportItemSpan -> SrcSpan Source # | |
Annotated ImportItem Source # | |
Defined in Language.Python.Common.AST annot :: ImportItem annot -> annot Source # | |
Eq annot => Eq (ImportItem annot) Source # | |
Defined in Language.Python.Common.AST (==) :: ImportItem annot -> ImportItem annot -> Bool # (/=) :: ImportItem annot -> ImportItem annot -> Bool # | |
Data annot => Data (ImportItem annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ImportItem annot -> c (ImportItem annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportItem annot) # toConstr :: ImportItem annot -> Constr # dataTypeOf :: ImportItem annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ImportItem annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ImportItem annot)) # gmapT :: (forall b. Data b => b -> b) -> ImportItem annot -> ImportItem annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImportItem annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImportItem annot -> r # gmapQ :: (forall d. Data d => d -> u) -> ImportItem annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ImportItem annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ImportItem annot -> m (ImportItem annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportItem annot -> m (ImportItem annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ImportItem annot -> m (ImportItem annot) # | |
Ord annot => Ord (ImportItem annot) Source # | |
Defined in Language.Python.Common.AST compare :: ImportItem annot -> ImportItem annot -> Ordering # (<) :: ImportItem annot -> ImportItem annot -> Bool # (<=) :: ImportItem annot -> ImportItem annot -> Bool # (>) :: ImportItem annot -> ImportItem annot -> Bool # (>=) :: ImportItem annot -> ImportItem annot -> Bool # max :: ImportItem annot -> ImportItem annot -> ImportItem annot # min :: ImportItem annot -> ImportItem annot -> ImportItem annot # | |
Show annot => Show (ImportItem annot) Source # | |
Defined in Language.Python.Common.AST showsPrec :: Int -> ImportItem annot -> ShowS # show :: ImportItem annot -> String # showList :: [ImportItem annot] -> ShowS # | |
Pretty (ImportItem a) Source # | |
Defined in Language.Python.Common.PrettyAST pretty :: ImportItem a -> Doc Source # |
type ImportItemSpan = ImportItem SrcSpan Source #
An entity imported using the 'from ... import' construct.
FromItem | |
|
Instances
Functor FromItem Source # | |
Span FromItemSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: FromItemSpan -> SrcSpan Source # | |
Annotated FromItem Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (FromItem annot) Source # | |
Data annot => Data (FromItem annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FromItem annot -> c (FromItem annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FromItem annot) # toConstr :: FromItem annot -> Constr # dataTypeOf :: FromItem annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FromItem annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FromItem annot)) # gmapT :: (forall b. Data b => b -> b) -> FromItem annot -> FromItem annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FromItem annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FromItem annot -> r # gmapQ :: (forall d. Data d => d -> u) -> FromItem annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FromItem annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FromItem annot -> m (FromItem annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FromItem annot -> m (FromItem annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FromItem annot -> m (FromItem annot) # | |
Ord annot => Ord (FromItem annot) Source # | |
Defined in Language.Python.Common.AST compare :: FromItem annot -> FromItem annot -> Ordering # (<) :: FromItem annot -> FromItem annot -> Bool # (<=) :: FromItem annot -> FromItem annot -> Bool # (>) :: FromItem annot -> FromItem annot -> Bool # (>=) :: FromItem annot -> FromItem annot -> Bool # | |
Show annot => Show (FromItem annot) Source # | |
Pretty (FromItem a) Source # | |
type FromItemSpan = FromItem SrcSpan Source #
Items imported using the 'from ... import' construct.
ImportEverything | Import everything exported from the module. |
| |
FromItems | Import a specific list of items from the module. |
|
Instances
Functor FromItems Source # | |
Span FromItemsSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: FromItemsSpan -> SrcSpan Source # | |
Annotated FromItems Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (FromItems annot) Source # | |
Data annot => Data (FromItems annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FromItems annot -> c (FromItems annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FromItems annot) # toConstr :: FromItems annot -> Constr # dataTypeOf :: FromItems annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FromItems annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FromItems annot)) # gmapT :: (forall b. Data b => b -> b) -> FromItems annot -> FromItems annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FromItems annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FromItems annot -> r # gmapQ :: (forall d. Data d => d -> u) -> FromItems annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FromItems annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FromItems annot -> m (FromItems annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FromItems annot -> m (FromItems annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FromItems annot -> m (FromItems annot) # | |
Ord annot => Ord (FromItems annot) Source # | |
Defined in Language.Python.Common.AST compare :: FromItems annot -> FromItems annot -> Ordering # (<) :: FromItems annot -> FromItems annot -> Bool # (<=) :: FromItems annot -> FromItems annot -> Bool # (>) :: FromItems annot -> FromItems annot -> Bool # (>=) :: FromItems annot -> FromItems annot -> Bool # max :: FromItems annot -> FromItems annot -> FromItems annot # min :: FromItems annot -> FromItems annot -> FromItems annot # | |
Show annot => Show (FromItems annot) Source # | |
Pretty (FromItems a) Source # | |
type FromItemsSpan = FromItems SrcSpan Source #
data ImportRelative annot Source #
A reference to the module to import from using the 'from ... import' construct.
ImportRelative | |
|
Instances
Exceptions
Exception handler.
Handler | |
|
Instances
Functor Handler Source # | |
Span HandlerSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: HandlerSpan -> SrcSpan Source # | |
Annotated Handler Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (Handler annot) Source # | |
Data annot => Data (Handler annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Handler annot -> c (Handler annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Handler annot) # toConstr :: Handler annot -> Constr # dataTypeOf :: Handler annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Handler annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Handler annot)) # gmapT :: (forall b. Data b => b -> b) -> Handler annot -> Handler annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Handler annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Handler annot -> r # gmapQ :: (forall d. Data d => d -> u) -> Handler annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Handler annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Handler annot -> m (Handler annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Handler annot -> m (Handler annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Handler annot -> m (Handler annot) # | |
Ord annot => Ord (Handler annot) Source # | |
Defined in Language.Python.Common.AST compare :: Handler annot -> Handler annot -> Ordering # (<) :: Handler annot -> Handler annot -> Bool # (<=) :: Handler annot -> Handler annot -> Bool # (>) :: Handler annot -> Handler annot -> Bool # (>=) :: Handler annot -> Handler annot -> Bool # | |
Show annot => Show (Handler annot) Source # | |
Pretty (Handler a) Source # | |
type HandlerSpan = Handler SrcSpan Source #
data ExceptClause annot Source #
Exception clause.
ExceptClause | |
|
Instances
type ExceptClauseSpan = ExceptClause SrcSpan Source #
The argument for a raise
statement.
RaiseV3 (Maybe (Expr annot, Maybe (Expr annot))) | Optional expression to evaluate, and optional 'from' clause. Version 3 only. |
RaiseV2 (Maybe (Expr annot, Maybe (Expr annot, Maybe (Expr annot)))) | Version 2 only. |
Instances
Functor RaiseExpr Source # | |
Eq annot => Eq (RaiseExpr annot) Source # | |
Data annot => Data (RaiseExpr annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RaiseExpr annot -> c (RaiseExpr annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (RaiseExpr annot) # toConstr :: RaiseExpr annot -> Constr # dataTypeOf :: RaiseExpr annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (RaiseExpr annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (RaiseExpr annot)) # gmapT :: (forall b. Data b => b -> b) -> RaiseExpr annot -> RaiseExpr annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RaiseExpr annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RaiseExpr annot -> r # gmapQ :: (forall d. Data d => d -> u) -> RaiseExpr annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> RaiseExpr annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> RaiseExpr annot -> m (RaiseExpr annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RaiseExpr annot -> m (RaiseExpr annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RaiseExpr annot -> m (RaiseExpr annot) # | |
Ord annot => Ord (RaiseExpr annot) Source # | |
Defined in Language.Python.Common.AST compare :: RaiseExpr annot -> RaiseExpr annot -> Ordering # (<) :: RaiseExpr annot -> RaiseExpr annot -> Bool # (<=) :: RaiseExpr annot -> RaiseExpr annot -> Bool # (>) :: RaiseExpr annot -> RaiseExpr annot -> Bool # (>=) :: RaiseExpr annot -> RaiseExpr annot -> Bool # max :: RaiseExpr annot -> RaiseExpr annot -> RaiseExpr annot # min :: RaiseExpr annot -> RaiseExpr annot -> RaiseExpr annot # | |
Show annot => Show (RaiseExpr annot) Source # | |
Pretty (RaiseExpr a) Source # | |
type RaiseExprSpan = RaiseExpr SrcSpan Source #
Comprehensions
data Comprehension annot Source #
Comprehension. In version 3.x this can be used for lists, sets, dictionaries and generators. data Comprehension e annot
Comprehension | |
|
Instances
type ComprehensionSpan = Comprehension SrcSpan Source #
data ComprehensionExpr annot Source #
ComprehensionExpr (Expr annot) | |
ComprehensionDict (DictKeyDatumList annot) |
Instances
Comprehension 'for' component.
CompFor | |
|
Instances
Functor CompFor Source # | |
Span CompForSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: CompForSpan -> SrcSpan Source # | |
Annotated CompFor Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (CompFor annot) Source # | |
Data annot => Data (CompFor annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompFor annot -> c (CompFor annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CompFor annot) # toConstr :: CompFor annot -> Constr # dataTypeOf :: CompFor annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CompFor annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CompFor annot)) # gmapT :: (forall b. Data b => b -> b) -> CompFor annot -> CompFor annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompFor annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompFor annot -> r # gmapQ :: (forall d. Data d => d -> u) -> CompFor annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CompFor annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompFor annot -> m (CompFor annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompFor annot -> m (CompFor annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompFor annot -> m (CompFor annot) # | |
Ord annot => Ord (CompFor annot) Source # | |
Defined in Language.Python.Common.AST compare :: CompFor annot -> CompFor annot -> Ordering # (<) :: CompFor annot -> CompFor annot -> Bool # (<=) :: CompFor annot -> CompFor annot -> Bool # (>) :: CompFor annot -> CompFor annot -> Bool # (>=) :: CompFor annot -> CompFor annot -> Bool # | |
Show annot => Show (CompFor annot) Source # | |
Pretty (CompFor a) Source # | |
type CompForSpan = CompFor SrcSpan Source #
Comprehension guard.
CompIf | |
|
Instances
Functor CompIf Source # | |
Span CompIfSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: CompIfSpan -> SrcSpan Source # | |
Annotated CompIf Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (CompIf annot) Source # | |
Data annot => Data (CompIf annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompIf annot -> c (CompIf annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CompIf annot) # toConstr :: CompIf annot -> Constr # dataTypeOf :: CompIf annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CompIf annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CompIf annot)) # gmapT :: (forall b. Data b => b -> b) -> CompIf annot -> CompIf annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompIf annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompIf annot -> r # gmapQ :: (forall d. Data d => d -> u) -> CompIf annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CompIf annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompIf annot -> m (CompIf annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompIf annot -> m (CompIf annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompIf annot -> m (CompIf annot) # | |
Ord annot => Ord (CompIf annot) Source # | |
Defined in Language.Python.Common.AST | |
Show annot => Show (CompIf annot) Source # | |
Pretty (CompIf a) Source # | |
type CompIfSpan = CompIf SrcSpan Source #
Comprehension iterator (either a 'for' or an 'if').
IterFor | |
| |
IterIf | |
|
Instances
Functor CompIter Source # | |
Span CompIterSpan Source # | |
Defined in Language.Python.Common.AST getSpan :: CompIterSpan -> SrcSpan Source # | |
Annotated CompIter Source # | |
Defined in Language.Python.Common.AST | |
Eq annot => Eq (CompIter annot) Source # | |
Data annot => Data (CompIter annot) Source # | |
Defined in Language.Python.Common.AST gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CompIter annot -> c (CompIter annot) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (CompIter annot) # toConstr :: CompIter annot -> Constr # dataTypeOf :: CompIter annot -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (CompIter annot)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (CompIter annot)) # gmapT :: (forall b. Data b => b -> b) -> CompIter annot -> CompIter annot # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CompIter annot -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CompIter annot -> r # gmapQ :: (forall d. Data d => d -> u) -> CompIter annot -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> CompIter annot -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> CompIter annot -> m (CompIter annot) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CompIter annot -> m (CompIter annot) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CompIter annot -> m (CompIter annot) # | |
Ord annot => Ord (CompIter annot) Source # | |
Defined in Language.Python.Common.AST compare :: CompIter annot -> CompIter annot -> Ordering # (<) :: CompIter annot -> CompIter annot -> Bool # (<=) :: CompIter annot -> CompIter annot -> Bool # (>) :: CompIter annot -> CompIter annot -> Bool # (>=) :: CompIter annot -> CompIter annot -> Bool # | |
Show annot => Show (CompIter annot) Source # | |
Pretty (CompIter a) Source # | |
type CompIterSpan = CompIter SrcSpan Source #