language-javascript-0.7.1.0: Parser for JavaScript

Safe Haskell | Safe-Inferred
Language | Haskell98

Language.JavaScript.Parser.AST

Synopsis

- data JSExpression
  - = JSIdentifier !JSAnnot !String
  - | JSDecimal !JSAnnot !String
  - | JSLiteral !JSAnnot !String
  - | JSHexInteger !JSAnnot !String
  - | JSOctal !JSAnnot !String
  - | JSStringLiteral !JSAnnot !String
  - | JSRegEx !JSAnnot !String
  - | JSArrayLiteral !JSAnnot ![JSArrayElement] !JSAnnot
  - | JSAssignExpression !JSExpression !JSAssignOp !JSExpression
  - | JSAwaitExpression !JSAnnot !JSExpression
  - | JSCallExpression !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot
  - | JSCallExpressionDot !JSExpression !JSAnnot !JSExpression
  - | JSCallExpressionSquare !JSExpression !JSAnnot !JSExpression !JSAnnot
  - | JSClassExpression !JSAnnot !JSIdent !JSClassHeritage !JSAnnot ![JSClassElement] !JSAnnot
  - | JSCommaExpression !JSExpression !JSAnnot !JSExpression
  - | JSExpressionBinary !JSExpression !JSBinOp !JSExpression
  - | JSExpressionParen !JSAnnot !JSExpression !JSAnnot
  - | JSExpressionPostfix !JSExpression !JSUnaryOp
  - | JSExpressionTernary !JSExpression !JSAnnot !JSExpression !JSAnnot !JSExpression
  - | JSArrowExpression !JSArrowParameterList !JSAnnot !JSStatement
  - | JSFunctionExpression !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock
  - | JSGeneratorExpression !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock
  - | JSMemberDot !JSExpression !JSAnnot !JSExpression
  - | JSMemberExpression !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot
  - | JSMemberNew !JSAnnot !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot
  - | JSMemberSquare !JSExpression !JSAnnot !JSExpression !JSAnnot
  - | JSNewExpression !JSAnnot !JSExpression
  - | JSObjectLiteral !JSAnnot !JSObjectPropertyList !JSAnnot
  - | JSSpreadExpression !JSAnnot !JSExpression
  - | JSTemplateLiteral !(Maybe JSExpression) !JSAnnot !String ![JSTemplatePart]
  - | JSUnaryExpression !JSUnaryOp !JSExpression
  - | JSVarInitExpression !JSExpression !JSVarInitializer
  - | JSYieldExpression !JSAnnot !(Maybe JSExpression)
  - | JSYieldFromExpression !JSAnnot !JSAnnot !JSExpression
- data JSAnnot
  - = JSAnnot !TokenPosn ![CommentAnnotation]
  - | JSAnnotSpace
  - | JSNoAnnot
- data JSBinOp
  - = JSBinOpAnd !JSAnnot
  - | JSBinOpBitAnd !JSAnnot
  - | JSBinOpBitOr !JSAnnot
  - | JSBinOpBitXor !JSAnnot
  - | JSBinOpDivide !JSAnnot
  - | JSBinOpEq !JSAnnot
  - | JSBinOpGe !JSAnnot
  - | JSBinOpGt !JSAnnot
  - | JSBinOpIn !JSAnnot
  - | JSBinOpInstanceOf !JSAnnot
  - | JSBinOpLe !JSAnnot
  - | JSBinOpLsh !JSAnnot
  - | JSBinOpLt !JSAnnot
  - | JSBinOpMinus !JSAnnot
  - | JSBinOpMod !JSAnnot
  - | JSBinOpNeq !JSAnnot
  - | JSBinOpOf !JSAnnot
  - | JSBinOpOr !JSAnnot
  - | JSBinOpPlus !JSAnnot
  - | JSBinOpRsh !JSAnnot
  - | JSBinOpStrictEq !JSAnnot
  - | JSBinOpStrictNeq !JSAnnot
  - | JSBinOpTimes !JSAnnot
  - | JSBinOpUrsh !JSAnnot
- data JSUnaryOp
  - = JSUnaryOpDecr !JSAnnot
  - | JSUnaryOpDelete !JSAnnot
  - | JSUnaryOpIncr !JSAnnot
  - | JSUnaryOpMinus !JSAnnot
  - | JSUnaryOpNot !JSAnnot
  - | JSUnaryOpPlus !JSAnnot
  - | JSUnaryOpTilde !JSAnnot
  - | JSUnaryOpTypeof !JSAnnot
  - | JSUnaryOpVoid !JSAnnot
- data JSSemi
  - = JSSemi !JSAnnot
  - | JSSemiAuto
- data JSAssignOp
  - = JSAssign !JSAnnot
  - | JSTimesAssign !JSAnnot
  - | JSDivideAssign !JSAnnot
  - | JSModAssign !JSAnnot
  - | JSPlusAssign !JSAnnot
  - | JSMinusAssign !JSAnnot
  - | JSLshAssign !JSAnnot
  - | JSRshAssign !JSAnnot
  - | JSUrshAssign !JSAnnot
  - | JSBwAndAssign !JSAnnot
  - | JSBwXorAssign !JSAnnot
  - | JSBwOrAssign !JSAnnot
- data JSTryCatch
  - = JSCatch !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSBlock
  - | JSCatchIf !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSExpression !JSAnnot !JSBlock
- data JSTryFinally
  - = JSFinally !JSAnnot !JSBlock
  - | JSNoFinally
- data JSStatement
  - = JSStatementBlock !JSAnnot ![JSStatement] !JSAnnot !JSSemi
  - | JSBreak !JSAnnot !JSIdent !JSSemi
  - | JSLet !JSAnnot !(JSCommaList JSExpression) !JSSemi
  - | JSClass !JSAnnot !JSIdent !JSClassHeritage !JSAnnot ![JSClassElement] !JSAnnot !JSSemi
  - | JSConstant !JSAnnot !(JSCommaList JSExpression) !JSSemi
  - | JSContinue !JSAnnot !JSIdent !JSSemi
  - | JSDoWhile !JSAnnot !JSStatement !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSSemi
  - | JSFor !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement
  - | JSForIn !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForVar !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement
  - | JSForVarIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForLet !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement
  - | JSForLetIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForLetOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForConst !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement
  - | JSForConstIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForConstOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForOf !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSForVarOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement
  - | JSAsyncFunction !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi
  - | JSFunction !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi
  - | JSGenerator !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi
  - | JSIf !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement
  - | JSIfElse !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement !JSAnnot !JSStatement
  - | JSLabelled !JSIdent !JSAnnot !JSStatement
  - | JSEmptyStatement !JSAnnot
  - | JSExpressionStatement !JSExpression !JSSemi
  - | JSAssignStatement !JSExpression !JSAssignOp !JSExpression !JSSemi
  - | JSMethodCall !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSSemi
  - | JSReturn !JSAnnot !(Maybe JSExpression) !JSSemi
  - | JSSwitch !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSAnnot ![JSSwitchParts] !JSAnnot !JSSemi
  - | JSThrow !JSAnnot !JSExpression !JSSemi
  - | JSTry !JSAnnot !JSBlock ![JSTryCatch] !JSTryFinally
  - | JSVariable !JSAnnot !(JSCommaList JSExpression) !JSSemi
  - | JSWhile !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement
  - | JSWith !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement !JSSemi
- data JSBlock = JSBlock !JSAnnot ![JSStatement] !JSAnnot
- data JSSwitchParts
  - = JSCase !JSAnnot !JSExpression !JSAnnot ![JSStatement]
  - | JSDefault !JSAnnot !JSAnnot ![JSStatement]
- data JSAST
  - = JSAstProgram ![JSStatement] !JSAnnot
  - | JSAstModule ![JSModuleItem] !JSAnnot
  - | JSAstStatement !JSStatement !JSAnnot
  - | JSAstExpression !JSExpression !JSAnnot
  - | JSAstLiteral !JSExpression !JSAnnot
- data JSObjectProperty
  - = JSPropertyNameandValue !JSPropertyName !JSAnnot ![JSExpression]
  - | JSPropertyIdentRef !JSAnnot !String
  - | JSObjectMethod !JSMethodDefinition
- data JSPropertyName
  - = JSPropertyIdent !JSAnnot !String
  - | JSPropertyString !JSAnnot !String
  - | JSPropertyNumber !JSAnnot !String
  - | JSPropertyComputed !JSAnnot !JSExpression !JSAnnot
- type JSObjectPropertyList = JSCommaTrailingList JSObjectProperty
- data JSAccessor
  - = JSAccessorGet !JSAnnot
  - | JSAccessorSet !JSAnnot
- data JSMethodDefinition
  - = JSMethodDefinition !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock
  - | JSGeneratorMethodDefinition !JSAnnot !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock
  - | JSPropertyAccessor !JSAccessor !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock
- data JSIdent
  - = JSIdentName !JSAnnot !String
  - | JSIdentNone
- data JSVarInitializer
  - = JSVarInit !JSAnnot !JSExpression
  - | JSVarInitNone
- data JSArrayElement
  - = JSArrayElement !JSExpression
  - | JSArrayComma !JSAnnot
- data JSCommaList a
  - = JSLCons !(JSCommaList a) !JSAnnot !a
  - | JSLOne !a
  - | JSLNil
- data JSCommaTrailingList a
  - = JSCTLComma !(JSCommaList a) !JSAnnot
  - | JSCTLNone !(JSCommaList a)
- data JSArrowParameterList
  - = JSUnparenthesizedArrowParameter !JSIdent
  - | JSParenthesizedArrowParameterList !JSAnnot !(JSCommaList JSExpression) !JSAnnot
- data JSTemplatePart = JSTemplatePart !JSExpression !JSAnnot !String
- data JSClassHeritage
  - = JSExtends !JSAnnot !JSExpression
  - | JSExtendsNone
- data JSClassElement
  - = JSClassInstanceMethod !JSMethodDefinition
  - | JSClassStaticMethod !JSAnnot !JSMethodDefinition
  - | JSClassSemi !JSAnnot
- data JSModuleItem
  - = JSModuleImportDeclaration !JSAnnot !JSImportDeclaration
  - | JSModuleExportDeclaration !JSAnnot !JSExportDeclaration
  - | JSModuleStatementListItem !JSStatement
- data JSImportDeclaration
  - = JSImportDeclaration !JSImportClause !JSFromClause !JSSemi
  - | JSImportDeclarationBare !JSAnnot !String !JSSemi
- data JSImportClause
  - = JSImportClauseDefault !JSIdent
  - | JSImportClauseNameSpace !JSImportNameSpace
  - | JSImportClauseNamed !JSImportsNamed
  - | JSImportClauseDefaultNameSpace !JSIdent !JSAnnot !JSImportNameSpace
  - | JSImportClauseDefaultNamed !JSIdent !JSAnnot !JSImportsNamed
- data JSFromClause = JSFromClause !JSAnnot !JSAnnot !String
- data JSImportNameSpace = JSImportNameSpace !JSBinOp !JSAnnot !JSIdent
- data JSImportsNamed = JSImportsNamed !JSAnnot !(JSCommaList JSImportSpecifier) !JSAnnot
- data JSImportSpecifier
  - = JSImportSpecifier !JSIdent
  - | JSImportSpecifierAs !JSIdent !JSAnnot !JSIdent
- data JSExportDeclaration
  - = JSExportFrom JSExportClause JSFromClause !JSSemi
  - | JSExportLocals JSExportClause !JSSemi
  - | JSExport !JSStatement !JSSemi
- data JSExportClause = JSExportClause !JSAnnot !(JSCommaList JSExportSpecifier) !JSAnnot
- data JSExportSpecifier
  - = JSExportSpecifier !JSIdent
  - | JSExportSpecifierAs !JSIdent !JSAnnot !JSIdent
- binOpEq :: JSBinOp -> JSBinOp -> Bool
- showStripped :: JSAST -> String

# Documentation

data JSExpression #

Constructors

JSIdentifier !JSAnnot !String | Terminals
JSDecimal !JSAnnot !String |
JSLiteral !JSAnnot !String |
JSHexInteger !JSAnnot !String |
JSOctal !JSAnnot !String |
JSStringLiteral !JSAnnot !String |
JSRegEx !JSAnnot !String |
JSArrayLiteral | Non Terminals

Fields

- !JSAnnot
- ![JSArrayElement]
- !JSAnnot

  lb, contents, rb

JSAssignExpression !JSExpression !JSAssignOp !JSExpression | lhs, assignop, rhs
JSAwaitExpression !JSAnnot !JSExpression | await, expr
JSCallExpression !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot | expr, bl, args, rb
JSCallExpressionDot !JSExpression !JSAnnot !JSExpression | expr, dot, expr
JSCallExpressionSquare !JSExpression !JSAnnot !JSExpression !JSAnnot | expr, [, expr, ]
JSClassExpression !JSAnnot !JSIdent !JSClassHeritage !JSAnnot ![JSClassElement] !JSAnnot | class, optional identifier, optional extends clause, lb, body, rb
JSCommaExpression !JSExpression !JSAnnot !JSExpression | expression components
JSExpressionBinary !JSExpression !JSBinOp !JSExpression | lhs, op, rhs
JSExpressionParen !JSAnnot !JSExpression !JSAnnot | lb,expression,rb
JSExpressionPostfix !JSExpression !JSUnaryOp | expression, operator
JSExpressionTernary !JSExpression !JSAnnot !JSExpression !JSAnnot !JSExpression | cond, ?, trueval, :, falseval
JSArrowExpression !JSArrowParameterList !JSAnnot !JSStatement | parameter list,arrow,block`
JSFunctionExpression !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock | fn,name,lb, parameter list,rb,block`
JSGeneratorExpression !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock | fn,*,name,lb, parameter list,rb,block`
JSMemberDot !JSExpression !JSAnnot !JSExpression | firstpart, dot, name
JSMemberExpression !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot |
JSMemberNew !JSAnnot !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot | new, name, lb, args, rb
JSMemberSquare !JSExpression !JSAnnot !JSExpression !JSAnnot | firstpart, lb, expr, rb
JSNewExpression !JSAnnot !JSExpression | new, expr
JSObjectLiteral !JSAnnot !JSObjectPropertyList !JSAnnot | lbrace contents rbrace
JSSpreadExpression !JSAnnot !JSExpression |
JSTemplateLiteral !(Maybe JSExpression) !JSAnnot !String ![JSTemplatePart] | optional tag, lquot, head, parts
JSUnaryExpression !JSUnaryOp !JSExpression |
JSVarInitExpression !JSExpression !JSVarInitializer | identifier, initializer
JSYieldExpression !JSAnnot !(Maybe JSExpression) | yield, optional expr
JSYieldFromExpression !JSAnnot !JSAnnot !JSExpression | yield, *, expr

#### Instances

Instances details

Data JSExpression # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSExpression -> c JSExpression #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSExpression #

toConstr :: JSExpression -> Constr #

dataTypeOf :: JSExpression -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSExpression) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSExpression) #

gmapT :: (forall b. Data b => b -> b) -> JSExpression -> JSExpression #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSExpression -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSExpression -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSExpression -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExpression -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression #

Show JSExpression # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSExpression -> ShowS # show :: JSExpression -> String # showList :: [JSExpression] -> ShowS #
Eq JSExpression # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSExpression -> JSExpression -> Bool # (/=) :: JSExpression -> JSExpression -> Bool #

data JSAnnot #

Constructors

JSAnnot !TokenPosn ![CommentAnnotation] | Annotation: position and comment/whitespace information
JSAnnotSpace | A single space character
JSNoAnnot | No annotation

#### Instances

Instances details

Data JSAnnot # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSAnnot -> c JSAnnot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSAnnot #

toConstr :: JSAnnot -> Constr #

dataTypeOf :: JSAnnot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSAnnot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAnnot) #

gmapT :: (forall b. Data b => b -> b) -> JSAnnot -> JSAnnot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAnnot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAnnot -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSAnnot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAnnot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot #

Show JSAnnot # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSAnnot -> ShowS # show :: JSAnnot -> String # showList :: [JSAnnot] -> ShowS #
Eq JSAnnot # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSAnnot -> JSAnnot -> Bool # (/=) :: JSAnnot -> JSAnnot -> Bool #

data JSBinOp #

Constructors

JSBinOpAnd !JSAnnot |
JSBinOpBitAnd !JSAnnot |
JSBinOpBitOr !JSAnnot |
JSBinOpBitXor !JSAnnot |
JSBinOpDivide !JSAnnot |
JSBinOpEq !JSAnnot |
JSBinOpGe !JSAnnot |
JSBinOpGt !JSAnnot |
JSBinOpIn !JSAnnot |
JSBinOpInstanceOf !JSAnnot |
JSBinOpLe !JSAnnot |
JSBinOpLsh !JSAnnot |
JSBinOpLt !JSAnnot |
JSBinOpMinus !JSAnnot |
JSBinOpMod !JSAnnot |
JSBinOpNeq !JSAnnot |
JSBinOpOf !JSAnnot |
JSBinOpOr !JSAnnot |
JSBinOpPlus !JSAnnot |
JSBinOpRsh !JSAnnot |
JSBinOpStrictEq !JSAnnot |
JSBinOpStrictNeq !JSAnnot |
JSBinOpTimes !JSAnnot |
JSBinOpUrsh !JSAnnot |

#### Instances

Instances details

Data JSBinOp # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSBinOp -> c JSBinOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSBinOp #

toConstr :: JSBinOp -> Constr #

dataTypeOf :: JSBinOp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSBinOp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBinOp) #

gmapT :: (forall b. Data b => b -> b) -> JSBinOp -> JSBinOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSBinOp -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSBinOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSBinOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSBinOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp #

Show JSBinOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSBinOp -> ShowS # show :: JSBinOp -> String # showList :: [JSBinOp] -> ShowS #
Eq JSBinOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSBinOp -> JSBinOp -> Bool # (/=) :: JSBinOp -> JSBinOp -> Bool #

data JSUnaryOp #

Constructors

JSUnaryOpDecr !JSAnnot |
JSUnaryOpDelete !JSAnnot |
JSUnaryOpIncr !JSAnnot |
JSUnaryOpMinus !JSAnnot |
JSUnaryOpNot !JSAnnot |
JSUnaryOpPlus !JSAnnot |
JSUnaryOpTilde !JSAnnot |
JSUnaryOpTypeof !JSAnnot |
JSUnaryOpVoid !JSAnnot |

#### Instances

Instances details

Data JSUnaryOp # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSUnaryOp #

toConstr :: JSUnaryOp -> Constr #

dataTypeOf :: JSUnaryOp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSUnaryOp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSUnaryOp) #

gmapT :: (forall b. Data b => b -> b) -> JSUnaryOp -> JSUnaryOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSUnaryOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSUnaryOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp #

Show JSUnaryOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSUnaryOp -> ShowS # show :: JSUnaryOp -> String # showList :: [JSUnaryOp] -> ShowS #
Eq JSUnaryOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSUnaryOp -> JSUnaryOp -> Bool # (/=) :: JSUnaryOp -> JSUnaryOp -> Bool #

data JSSemi #

Constructors

JSSemi !JSAnnot |
JSSemiAuto |

#### Instances

Instances details

Data JSSemi # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSSemi -> c JSSemi #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSSemi #

toConstr :: JSSemi -> Constr #

dataTypeOf :: JSSemi -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSSemi) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSemi) #

gmapT :: (forall b. Data b => b -> b) -> JSSemi -> JSSemi #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSSemi -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSSemi -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi #

Show JSSemi # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSSemi -> ShowS # show :: JSSemi -> String # showList :: [JSSemi] -> ShowS #
Eq JSSemi # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSSemi -> JSSemi -> Bool # (/=) :: JSSemi -> JSSemi -> Bool #

data JSAssignOp #

Constructors

JSAssign !JSAnnot |
JSTimesAssign !JSAnnot |
JSDivideAssign !JSAnnot |
JSModAssign !JSAnnot |
JSPlusAssign !JSAnnot |
JSMinusAssign !JSAnnot |
JSLshAssign !JSAnnot |
JSRshAssign !JSAnnot |
JSUrshAssign !JSAnnot |
JSBwAndAssign !JSAnnot |
JSBwXorAssign !JSAnnot |
JSBwOrAssign !JSAnnot |

#### Instances

Instances details

Data JSAssignOp # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSAssignOp #

toConstr :: JSAssignOp -> Constr #

dataTypeOf :: JSAssignOp -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSAssignOp) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAssignOp) #

gmapT :: (forall b. Data b => b -> b) -> JSAssignOp -> JSAssignOp #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSAssignOp -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAssignOp -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp #

Show JSAssignOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSAssignOp -> ShowS # show :: JSAssignOp -> String # showList :: [JSAssignOp] -> ShowS #
Eq JSAssignOp # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSAssignOp -> JSAssignOp -> Bool # (/=) :: JSAssignOp -> JSAssignOp -> Bool #

data JSTryCatch #

Constructors

JSCatch !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSBlock | catch,lb,ident,rb,block
JSCatchIf !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSExpression !JSAnnot !JSBlock | catch,lb,ident,if,expr,rb,block

#### Instances

Instances details

Data JSTryCatch # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSTryCatch #

toConstr :: JSTryCatch -> Constr #

dataTypeOf :: JSTryCatch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSTryCatch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTryCatch) #

gmapT :: (forall b. Data b => b -> b) -> JSTryCatch -> JSTryCatch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSTryCatch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTryCatch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch #

Show JSTryCatch # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSTryCatch -> ShowS # show :: JSTryCatch -> String # showList :: [JSTryCatch] -> ShowS #
Eq JSTryCatch # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSTryCatch -> JSTryCatch -> Bool # (/=) :: JSTryCatch -> JSTryCatch -> Bool #

data JSTryFinally #

Constructors

JSFinally !JSAnnot !JSBlock | finally,block
JSNoFinally |

#### Instances

Instances details

Data JSTryFinally # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSTryFinally #

toConstr :: JSTryFinally -> Constr #

dataTypeOf :: JSTryFinally -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSTryFinally) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTryFinally) #

gmapT :: (forall b. Data b => b -> b) -> JSTryFinally -> JSTryFinally #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSTryFinally -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTryFinally -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally #

Show JSTryFinally # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSTryFinally -> ShowS # show :: JSTryFinally -> String # showList :: [JSTryFinally] -> ShowS #
Eq JSTryFinally # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSTryFinally -> JSTryFinally -> Bool # (/=) :: JSTryFinally -> JSTryFinally -> Bool #

data JSStatement #

Constructors

JSStatementBlock !JSAnnot ![JSStatement] !JSAnnot !JSSemi | lbrace, stmts, rbrace, autosemi
JSBreak !JSAnnot !JSIdent !JSSemi | break,optional identifier, autosemi
JSLet !JSAnnot !(JSCommaList JSExpression) !JSSemi | const, decl, autosemi
JSClass !JSAnnot !JSIdent !JSClassHeritage !JSAnnot ![JSClassElement] !JSAnnot !JSSemi | class, name, optional extends clause, lb, body, rb, autosemi
JSConstant !JSAnnot !(JSCommaList JSExpression) !JSSemi | const, decl, autosemi
JSContinue !JSAnnot !JSIdent !JSSemi | continue, optional identifier,autosemi
JSDoWhile !JSAnnot !JSStatement !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSSemi | do,stmt,while,lb,expr,rb,autosemi
JSFor !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement | for,lb,expr,semi,expr,semi,expr,rb.stmt
JSForIn !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,expr,in,expr,rb,stmt
JSForVar !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement | for,lb,var,vardecl,semi,expr,semi,expr,rb,stmt
JSForVarIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSForLet !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement | for,lb,var,vardecl,semi,expr,semi,expr,rb,stmt
JSForLetIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSForLetOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSForConst !JSAnnot !JSAnnot !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSStatement | for,lb,var,vardecl,semi,expr,semi,expr,rb,stmt
JSForConstIn !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSForConstOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSForOf !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,expr,in,expr,rb,stmt
JSForVarOf !JSAnnot !JSAnnot !JSAnnot !JSExpression !JSBinOp !JSExpression !JSAnnot !JSStatement | for,lb,var,vardecl,in,expr,rb,stmt
JSAsyncFunction !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi | fn,name, lb,parameter list,rb,block,autosemi
JSFunction !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi | fn,name, lb,parameter list,rb,block,autosemi
JSGenerator !JSAnnot !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock !JSSemi | fn,*,name, lb,parameter list,rb,block,autosemi
JSIf !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement | if,(,expr,),stmt
JSIfElse !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement !JSAnnot !JSStatement | if,(,expr,),stmt,else,rest
JSLabelled !JSIdent !JSAnnot !JSStatement | identifier,colon,stmt
JSEmptyStatement !JSAnnot |
JSExpressionStatement !JSExpression !JSSemi |
JSAssignStatement !JSExpression !JSAssignOp !JSExpression !JSSemi | lhs, assignop, rhs, autosemi
JSMethodCall !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSSemi |
JSReturn !JSAnnot !(Maybe JSExpression) !JSSemi | optional expression,autosemi
JSSwitch !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSAnnot ![JSSwitchParts] !JSAnnot !JSSemi | switch,lb,expr,rb,caseblock,autosemi
JSThrow !JSAnnot !JSExpression !JSSemi | throw val autosemi
JSTry !JSAnnot !JSBlock ![JSTryCatch] !JSTryFinally | try,block,catches,finally
JSVariable !JSAnnot !(JSCommaList JSExpression) !JSSemi | var, decl, autosemi
JSWhile !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement | while,lb,expr,rb,stmt
JSWith !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSStatement !JSSemi | with,lb,expr,rb,stmt list

#### Instances

Instances details

Data JSStatement # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSStatement -> c JSStatement #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSStatement #

toConstr :: JSStatement -> Constr #

dataTypeOf :: JSStatement -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSStatement) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSStatement) #

gmapT :: (forall b. Data b => b -> b) -> JSStatement -> JSStatement #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSStatement -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSStatement -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSStatement -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSStatement -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement #

Show JSStatement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSStatement -> ShowS # show :: JSStatement -> String # showList :: [JSStatement] -> ShowS #
Eq JSStatement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSStatement -> JSStatement -> Bool # (/=) :: JSStatement -> JSStatement -> Bool #

data JSBlock #

Constructors

JSBlock !JSAnnot ![JSStatement] !JSAnnot | lbrace, stmts, rbrace

#### Instances

Instances details

Data JSBlock # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSBlock -> c JSBlock #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSBlock #

toConstr :: JSBlock -> Constr #

dataTypeOf :: JSBlock -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSBlock) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBlock) #

gmapT :: (forall b. Data b => b -> b) -> JSBlock -> JSBlock #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSBlock -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSBlock -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSBlock -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSBlock -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock #

Show JSBlock # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSBlock -> ShowS # show :: JSBlock -> String # showList :: [JSBlock] -> ShowS #
Eq JSBlock # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSBlock -> JSBlock -> Bool # (/=) :: JSBlock -> JSBlock -> Bool #

data JSSwitchParts #

Constructors

JSCase !JSAnnot !JSExpression !JSAnnot ![JSStatement] | expr,colon,stmtlist
JSDefault !JSAnnot !JSAnnot ![JSStatement] | colon,stmtlist

#### Instances

Instances details

Data JSSwitchParts # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSSwitchParts #

toConstr :: JSSwitchParts -> Constr #

dataTypeOf :: JSSwitchParts -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSSwitchParts) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSwitchParts) #

gmapT :: (forall b. Data b => b -> b) -> JSSwitchParts -> JSSwitchParts #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSSwitchParts -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSSwitchParts -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts #

Show JSSwitchParts # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSSwitchParts -> ShowS # show :: JSSwitchParts -> String # showList :: [JSSwitchParts] -> ShowS #
Eq JSSwitchParts # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSSwitchParts -> JSSwitchParts -> Bool # (/=) :: JSSwitchParts -> JSSwitchParts -> Bool #

data JSAST #

Constructors

JSAstProgram ![JSStatement] !JSAnnot | source elements, trailing whitespace
JSAstModule ![JSModuleItem] !JSAnnot |
JSAstStatement !JSStatement !JSAnnot |
JSAstExpression !JSExpression !JSAnnot |
JSAstLiteral !JSExpression !JSAnnot |

#### Instances

Instances details

Data JSAST # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSAST -> c JSAST #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSAST #

toConstr :: JSAST -> Constr #

dataTypeOf :: JSAST -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSAST) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAST) #

gmapT :: (forall b. Data b => b -> b) -> JSAST -> JSAST #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSAST -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAST -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSAST -> m JSAST #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAST -> m JSAST #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAST -> m JSAST #

Show JSAST # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSAST -> ShowS # show :: JSAST -> String # showList :: [JSAST] -> ShowS #
Eq JSAST # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSAST -> JSAST -> Bool # (/=) :: JSAST -> JSAST -> Bool #

data JSObjectProperty #

Constructors

JSPropertyNameandValue !JSPropertyName !JSAnnot ![JSExpression] | name, colon, value
JSPropertyIdentRef !JSAnnot !String |
JSObjectMethod !JSMethodDefinition |

#### Instances

Instances details

Data JSObjectProperty # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSObjectProperty #

toConstr :: JSObjectProperty -> Constr #

dataTypeOf :: JSObjectProperty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSObjectProperty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSObjectProperty) #

gmapT :: (forall b. Data b => b -> b) -> JSObjectProperty -> JSObjectProperty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSObjectProperty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSObjectProperty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSObjectProperty -> m JSObjectProperty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSObjectProperty -> m JSObjectProperty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSObjectProperty -> m JSObjectProperty #

Show JSObjectProperty # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSObjectProperty -> ShowS # show :: JSObjectProperty -> String # showList :: [JSObjectProperty] -> ShowS #
Eq JSObjectProperty # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSObjectProperty -> JSObjectProperty -> Bool # (/=) :: JSObjectProperty -> JSObjectProperty -> Bool #

data JSPropertyName #

Constructors

JSPropertyIdent !JSAnnot !String |
JSPropertyString !JSAnnot !String |
JSPropertyNumber !JSAnnot !String |
JSPropertyComputed !JSAnnot !JSExpression !JSAnnot | lb, expr, rb

#### Instances

Instances details

Data JSPropertyName # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSPropertyName #

toConstr :: JSPropertyName -> Constr #

dataTypeOf :: JSPropertyName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSPropertyName) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSPropertyName) #

gmapT :: (forall b. Data b => b -> b) -> JSPropertyName -> JSPropertyName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSPropertyName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSPropertyName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSPropertyName -> m JSPropertyName #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSPropertyName -> m JSPropertyName #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSPropertyName -> m JSPropertyName #

Show JSPropertyName # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSPropertyName -> ShowS # show :: JSPropertyName -> String # showList :: [JSPropertyName] -> ShowS #
Eq JSPropertyName # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSPropertyName -> JSPropertyName -> Bool # (/=) :: JSPropertyName -> JSPropertyName -> Bool #

type JSObjectPropertyList = JSCommaTrailingList JSObjectProperty #

data JSAccessor #

Accessors for JSObjectProperty is either `get` or `set`.

Constructors

JSAccessorGet !JSAnnot |
JSAccessorSet !JSAnnot |

#### Instances

Instances details

Data JSAccessor # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSAccessor -> c JSAccessor #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSAccessor #

toConstr :: JSAccessor -> Constr #

dataTypeOf :: JSAccessor -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSAccessor) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAccessor) #

gmapT :: (forall b. Data b => b -> b) -> JSAccessor -> JSAccessor #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAccessor -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAccessor -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSAccessor -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAccessor -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor #

Show JSAccessor # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSAccessor -> ShowS # show :: JSAccessor -> String # showList :: [JSAccessor] -> ShowS #
Eq JSAccessor # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSAccessor -> JSAccessor -> Bool # (/=) :: JSAccessor -> JSAccessor -> Bool #

data JSMethodDefinition #

Constructors

JSMethodDefinition !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock |

JSGeneratorMethodDefinition !JSAnnot !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock

- , name, lb, params, rb, block

JSPropertyAccessor !JSAccessor !JSPropertyName !JSAnnot !(JSCommaList JSExpression) !JSAnnot !JSBlock | get/set, name, lb, params, rb, block

#### Instances

Instances details

Data JSMethodDefinition # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSMethodDefinition -> c JSMethodDefinition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSMethodDefinition #

toConstr :: JSMethodDefinition -> Constr #

dataTypeOf :: JSMethodDefinition -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSMethodDefinition) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSMethodDefinition) #

gmapT :: (forall b. Data b => b -> b) -> JSMethodDefinition -> JSMethodDefinition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSMethodDefinition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSMethodDefinition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSMethodDefinition -> m JSMethodDefinition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSMethodDefinition -> m JSMethodDefinition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSMethodDefinition -> m JSMethodDefinition #

Show JSMethodDefinition # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSMethodDefinition -> ShowS # show :: JSMethodDefinition -> String # showList :: [JSMethodDefinition] -> ShowS #
Eq JSMethodDefinition # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSMethodDefinition -> JSMethodDefinition -> Bool # (/=) :: JSMethodDefinition -> JSMethodDefinition -> Bool #

data JSIdent #

Constructors

JSIdentName !JSAnnot !String |
JSIdentNone |

#### Instances

Instances details

Data JSIdent # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSIdent -> c JSIdent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSIdent #

toConstr :: JSIdent -> Constr #

dataTypeOf :: JSIdent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSIdent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSIdent) #

gmapT :: (forall b. Data b => b -> b) -> JSIdent -> JSIdent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSIdent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSIdent -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSIdent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSIdent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent #

Show JSIdent # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSIdent -> ShowS # show :: JSIdent -> String # showList :: [JSIdent] -> ShowS #
Eq JSIdent # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSIdent -> JSIdent -> Bool # (/=) :: JSIdent -> JSIdent -> Bool #

data JSVarInitializer #

Constructors

JSVarInit !JSAnnot !JSExpression | assignop, initializer
JSVarInitNone |

#### Instances

Instances details

Data JSVarInitializer # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSVarInitializer #

toConstr :: JSVarInitializer -> Constr #

dataTypeOf :: JSVarInitializer -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSVarInitializer) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSVarInitializer) #

gmapT :: (forall b. Data b => b -> b) -> JSVarInitializer -> JSVarInitializer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSVarInitializer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSVarInitializer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSVarInitializer -> m JSVarInitializer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSVarInitializer -> m JSVarInitializer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSVarInitializer -> m JSVarInitializer #

Show JSVarInitializer # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSVarInitializer -> ShowS # show :: JSVarInitializer -> String # showList :: [JSVarInitializer] -> ShowS #
Eq JSVarInitializer # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSVarInitializer -> JSVarInitializer -> Bool # (/=) :: JSVarInitializer -> JSVarInitializer -> Bool #

data JSArrayElement #

Constructors

JSArrayElement !JSExpression |
JSArrayComma !JSAnnot |

#### Instances

Instances details

Data JSArrayElement # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSArrayElement #

toConstr :: JSArrayElement -> Constr #

dataTypeOf :: JSArrayElement -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSArrayElement) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSArrayElement) #

gmapT :: (forall b. Data b => b -> b) -> JSArrayElement -> JSArrayElement #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSArrayElement -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSArrayElement -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSArrayElement -> m JSArrayElement #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSArrayElement -> m JSArrayElement #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSArrayElement -> m JSArrayElement #

Show JSArrayElement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSArrayElement -> ShowS # show :: JSArrayElement -> String # showList :: [JSArrayElement] -> ShowS #
Eq JSArrayElement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSArrayElement -> JSArrayElement -> Bool # (/=) :: JSArrayElement -> JSArrayElement -> Bool #

data JSCommaList a #

Constructors

JSLCons !(JSCommaList a) !JSAnnot !a | head, comma, a
JSLOne !a | single element (no comma)
JSLNil |

#### Instances

Instances details

Data a => Data (JSCommaList a) # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (JSCommaList a) #

toConstr :: JSCommaList a -> Constr #

dataTypeOf :: JSCommaList a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (JSCommaList a)) #

gmapT :: (forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSCommaList a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSCommaList a -> m (JSCommaList a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSCommaList a -> m (JSCommaList a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSCommaList a -> m (JSCommaList a) #

Show a => Show (JSCommaList a) # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSCommaList a -> ShowS # show :: JSCommaList a -> String # showList :: [JSCommaList a] -> ShowS #
Eq a => Eq (JSCommaList a) # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSCommaList a -> JSCommaList a -> Bool # (/=) :: JSCommaList a -> JSCommaList a -> Bool #

data JSCommaTrailingList a #

Constructors

JSCTLComma !(JSCommaList a) !JSAnnot | list, trailing comma
JSCTLNone !(JSCommaList a) | list

#### Instances

Instances details

Data a => Data (JSCommaTrailingList a) # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSCommaTrailingList a -> c (JSCommaTrailingList a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a) #

toConstr :: JSCommaTrailingList a -> Constr #

dataTypeOf :: JSCommaTrailingList a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (JSCommaTrailingList a)) #

gmapT :: (forall b. Data b => b -> b) -> JSCommaTrailingList a -> JSCommaTrailingList a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSCommaTrailingList a -> m (JSCommaTrailingList a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSCommaTrailingList a -> m (JSCommaTrailingList a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSCommaTrailingList a -> m (JSCommaTrailingList a) #

Show a => Show (JSCommaTrailingList a) # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSCommaTrailingList a -> ShowS # show :: JSCommaTrailingList a -> String # showList :: [JSCommaTrailingList a] -> ShowS #
Eq a => Eq (JSCommaTrailingList a) # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSCommaTrailingList a -> JSCommaTrailingList a -> Bool # (/=) :: JSCommaTrailingList a -> JSCommaTrailingList a -> Bool #

data JSArrowParameterList #

Constructors

JSUnparenthesizedArrowParameter !JSIdent |
JSParenthesizedArrowParameterList !JSAnnot !(JSCommaList JSExpression) !JSAnnot |

#### Instances

Instances details

Data JSArrowParameterList # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSArrowParameterList -> c JSArrowParameterList #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSArrowParameterList #

toConstr :: JSArrowParameterList -> Constr #

dataTypeOf :: JSArrowParameterList -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSArrowParameterList) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSArrowParameterList) #

gmapT :: (forall b. Data b => b -> b) -> JSArrowParameterList -> JSArrowParameterList #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSArrowParameterList -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSArrowParameterList -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSArrowParameterList -> m JSArrowParameterList #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSArrowParameterList -> m JSArrowParameterList #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSArrowParameterList -> m JSArrowParameterList #

Show JSArrowParameterList # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSArrowParameterList -> ShowS # show :: JSArrowParameterList -> String # showList :: [JSArrowParameterList] -> ShowS #
Eq JSArrowParameterList # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSArrowParameterList -> JSArrowParameterList -> Bool # (/=) :: JSArrowParameterList -> JSArrowParameterList -> Bool #

data JSTemplatePart #

Constructors

JSTemplatePart !JSExpression !JSAnnot !String | expr, rb, suffix

#### Instances

Instances details

Data JSTemplatePart # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSTemplatePart #

toConstr :: JSTemplatePart -> Constr #

dataTypeOf :: JSTemplatePart -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSTemplatePart) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTemplatePart) #

gmapT :: (forall b. Data b => b -> b) -> JSTemplatePart -> JSTemplatePart #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSTemplatePart -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTemplatePart -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSTemplatePart -> m JSTemplatePart #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTemplatePart -> m JSTemplatePart #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSTemplatePart -> m JSTemplatePart #

Show JSTemplatePart # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSTemplatePart -> ShowS # show :: JSTemplatePart -> String # showList :: [JSTemplatePart] -> ShowS #
Eq JSTemplatePart # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSTemplatePart -> JSTemplatePart -> Bool # (/=) :: JSTemplatePart -> JSTemplatePart -> Bool #

data JSClassHeritage #

Constructors

JSExtends !JSAnnot !JSExpression |
JSExtendsNone |

#### Instances

Instances details

Data JSClassHeritage # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSClassHeritage #

toConstr :: JSClassHeritage -> Constr #

dataTypeOf :: JSClassHeritage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSClassHeritage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSClassHeritage) #

gmapT :: (forall b. Data b => b -> b) -> JSClassHeritage -> JSClassHeritage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSClassHeritage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSClassHeritage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSClassHeritage -> m JSClassHeritage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSClassHeritage -> m JSClassHeritage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSClassHeritage -> m JSClassHeritage #

Show JSClassHeritage # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSClassHeritage -> ShowS # show :: JSClassHeritage -> String # showList :: [JSClassHeritage] -> ShowS #
Eq JSClassHeritage # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSClassHeritage -> JSClassHeritage -> Bool # (/=) :: JSClassHeritage -> JSClassHeritage -> Bool #

data JSClassElement #

Constructors

JSClassInstanceMethod !JSMethodDefinition |
JSClassStaticMethod !JSAnnot !JSMethodDefinition |
JSClassSemi !JSAnnot |

#### Instances

Instances details

Data JSClassElement # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSClassElement -> c JSClassElement #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSClassElement #

toConstr :: JSClassElement -> Constr #

dataTypeOf :: JSClassElement -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSClassElement) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSClassElement) #

gmapT :: (forall b. Data b => b -> b) -> JSClassElement -> JSClassElement #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSClassElement -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSClassElement -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSClassElement -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSClassElement -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSClassElement -> m JSClassElement #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSClassElement -> m JSClassElement #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSClassElement -> m JSClassElement #

Show JSClassElement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSClassElement -> ShowS # show :: JSClassElement -> String # showList :: [JSClassElement] -> ShowS #
Eq JSClassElement # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSClassElement -> JSClassElement -> Bool # (/=) :: JSClassElement -> JSClassElement -> Bool #

data JSModuleItem #

Constructors

JSModuleImportDeclaration !JSAnnot !JSImportDeclaration | import,decl
JSModuleExportDeclaration !JSAnnot !JSExportDeclaration | export,decl
JSModuleStatementListItem !JSStatement |

#### Instances

Instances details

Data JSModuleItem # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSModuleItem #

toConstr :: JSModuleItem -> Constr #

dataTypeOf :: JSModuleItem -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSModuleItem) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSModuleItem) #

gmapT :: (forall b. Data b => b -> b) -> JSModuleItem -> JSModuleItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSModuleItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSModuleItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem #

Show JSModuleItem # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSModuleItem -> ShowS # show :: JSModuleItem -> String # showList :: [JSModuleItem] -> ShowS #
Eq JSModuleItem # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSModuleItem -> JSModuleItem -> Bool # (/=) :: JSModuleItem -> JSModuleItem -> Bool #

data JSImportDeclaration #

Constructors

JSImportDeclaration !JSImportClause !JSFromClause !JSSemi | imports, module, semi
JSImportDeclarationBare !JSAnnot !String !JSSemi | module, module, semi

#### Instances

Instances details

Data JSImportDeclaration # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSImportDeclaration -> c JSImportDeclaration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSImportDeclaration #

toConstr :: JSImportDeclaration -> Constr #

dataTypeOf :: JSImportDeclaration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSImportDeclaration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSImportDeclaration) #

gmapT :: (forall b. Data b => b -> b) -> JSImportDeclaration -> JSImportDeclaration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSImportDeclaration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportDeclaration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSImportDeclaration -> m JSImportDeclaration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportDeclaration -> m JSImportDeclaration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportDeclaration -> m JSImportDeclaration #

Show JSImportDeclaration # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSImportDeclaration -> ShowS # show :: JSImportDeclaration -> String # showList :: [JSImportDeclaration] -> ShowS #
Eq JSImportDeclaration # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSImportDeclaration -> JSImportDeclaration -> Bool # (/=) :: JSImportDeclaration -> JSImportDeclaration -> Bool #

data JSImportClause #

Constructors

JSImportClauseDefault !JSIdent | default
JSImportClauseNameSpace !JSImportNameSpace | namespace
JSImportClauseNamed !JSImportsNamed | named imports
JSImportClauseDefaultNameSpace !JSIdent !JSAnnot !JSImportNameSpace | default, comma, namespace
JSImportClauseDefaultNamed !JSIdent !JSAnnot !JSImportsNamed | default, comma, named imports

#### Instances

Instances details

Data JSImportClause # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSImportClause -> c JSImportClause #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSImportClause #

toConstr :: JSImportClause -> Constr #

dataTypeOf :: JSImportClause -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSImportClause) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSImportClause) #

gmapT :: (forall b. Data b => b -> b) -> JSImportClause -> JSImportClause #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSImportClause -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSImportClause -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSImportClause -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportClause -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSImportClause -> m JSImportClause #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportClause -> m JSImportClause #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportClause -> m JSImportClause #

Show JSImportClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSImportClause -> ShowS # show :: JSImportClause -> String # showList :: [JSImportClause] -> ShowS #
Eq JSImportClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSImportClause -> JSImportClause -> Bool # (/=) :: JSImportClause -> JSImportClause -> Bool #

data JSFromClause #

Constructors

JSFromClause !JSAnnot !JSAnnot !String | from, string literal, string literal contents

#### Instances

Instances details

Data JSFromClause # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSFromClause -> c JSFromClause #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSFromClause #

toConstr :: JSFromClause -> Constr #

dataTypeOf :: JSFromClause -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSFromClause) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSFromClause) #

gmapT :: (forall b. Data b => b -> b) -> JSFromClause -> JSFromClause #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSFromClause -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSFromClause -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSFromClause -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSFromClause -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause #

Show JSFromClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSFromClause -> ShowS # show :: JSFromClause -> String # showList :: [JSFromClause] -> ShowS #
Eq JSFromClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSFromClause -> JSFromClause -> Bool # (/=) :: JSFromClause -> JSFromClause -> Bool #

data JSImportNameSpace #

Import namespace, e.g. '* as whatever'

Constructors

JSImportNameSpace !JSBinOp !JSAnnot !JSIdent

- , as, ident

#### Instances

Instances details

Data JSImportNameSpace # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSImportNameSpace -> c JSImportNameSpace #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSImportNameSpace #

toConstr :: JSImportNameSpace -> Constr #

dataTypeOf :: JSImportNameSpace -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSImportNameSpace) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSImportNameSpace) #

gmapT :: (forall b. Data b => b -> b) -> JSImportNameSpace -> JSImportNameSpace #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSImportNameSpace -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportNameSpace -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSImportNameSpace -> m JSImportNameSpace #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportNameSpace -> m JSImportNameSpace #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportNameSpace -> m JSImportNameSpace #

Show JSImportNameSpace # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSImportNameSpace -> ShowS # show :: JSImportNameSpace -> String # showList :: [JSImportNameSpace] -> ShowS #
Eq JSImportNameSpace # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSImportNameSpace -> JSImportNameSpace -> Bool # (/=) :: JSImportNameSpace -> JSImportNameSpace -> Bool #

data JSImportsNamed #

Named imports, e.g. '{ foo, bar, baz as quux }'

Constructors

JSImportsNamed !JSAnnot !(JSCommaList JSImportSpecifier) !JSAnnot | lb, specifiers, rb

#### Instances

Instances details

Data JSImportsNamed # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSImportsNamed #

toConstr :: JSImportsNamed -> Constr #

dataTypeOf :: JSImportsNamed -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSImportsNamed) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSImportsNamed) #

gmapT :: (forall b. Data b => b -> b) -> JSImportsNamed -> JSImportsNamed #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSImportsNamed -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportsNamed -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSImportsNamed -> m JSImportsNamed #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportsNamed -> m JSImportsNamed #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportsNamed -> m JSImportsNamed #

Show JSImportsNamed # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSImportsNamed -> ShowS # show :: JSImportsNamed -> String # showList :: [JSImportsNamed] -> ShowS #
Eq JSImportsNamed # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSImportsNamed -> JSImportsNamed -> Bool # (/=) :: JSImportsNamed -> JSImportsNamed -> Bool #

data JSImportSpecifier #

Note that this data type is separate from ExportSpecifier because the grammar is slightly different (e.g. in handling of reserved words).

Constructors

JSImportSpecifier !JSIdent | ident
JSImportSpecifierAs !JSIdent !JSAnnot !JSIdent | ident, as, ident

#### Instances

Instances details

Data JSImportSpecifier # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSImportSpecifier -> c JSImportSpecifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSImportSpecifier #

toConstr :: JSImportSpecifier -> Constr #

dataTypeOf :: JSImportSpecifier -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSImportSpecifier) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSImportSpecifier) #

gmapT :: (forall b. Data b => b -> b) -> JSImportSpecifier -> JSImportSpecifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSImportSpecifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportSpecifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSImportSpecifier -> m JSImportSpecifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportSpecifier -> m JSImportSpecifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSImportSpecifier -> m JSImportSpecifier #

Show JSImportSpecifier # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSImportSpecifier -> ShowS # show :: JSImportSpecifier -> String # showList :: [JSImportSpecifier] -> ShowS #
Eq JSImportSpecifier # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSImportSpecifier -> JSImportSpecifier -> Bool # (/=) :: JSImportSpecifier -> JSImportSpecifier -> Bool #

data JSExportDeclaration #

Constructors

JSExportFrom JSExportClause JSFromClause !JSSemi | exports, module, semi
JSExportLocals JSExportClause !JSSemi | exports, autosemi
JSExport !JSStatement !JSSemi | body, autosemi | JSExportDefault

#### Instances

Instances details

Data JSExportDeclaration # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSExportDeclaration -> c JSExportDeclaration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSExportDeclaration #

toConstr :: JSExportDeclaration -> Constr #

dataTypeOf :: JSExportDeclaration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSExportDeclaration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSExportDeclaration) #

gmapT :: (forall b. Data b => b -> b) -> JSExportDeclaration -> JSExportDeclaration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSExportDeclaration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportDeclaration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSExportDeclaration -> m JSExportDeclaration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportDeclaration -> m JSExportDeclaration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportDeclaration -> m JSExportDeclaration #

Show JSExportDeclaration # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSExportDeclaration -> ShowS # show :: JSExportDeclaration -> String # showList :: [JSExportDeclaration] -> ShowS #
Eq JSExportDeclaration # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSExportDeclaration -> JSExportDeclaration -> Bool # (/=) :: JSExportDeclaration -> JSExportDeclaration -> Bool #

data JSExportClause #

Constructors

JSExportClause !JSAnnot !(JSCommaList JSExportSpecifier) !JSAnnot | lb, specifiers, rb

#### Instances

Instances details

Data JSExportClause # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSExportClause -> c JSExportClause #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSExportClause #

toConstr :: JSExportClause -> Constr #

dataTypeOf :: JSExportClause -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSExportClause) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSExportClause) #

gmapT :: (forall b. Data b => b -> b) -> JSExportClause -> JSExportClause #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSExportClause -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSExportClause -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSExportClause -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportClause -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSExportClause -> m JSExportClause #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportClause -> m JSExportClause #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportClause -> m JSExportClause #

Show JSExportClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSExportClause -> ShowS # show :: JSExportClause -> String # showList :: [JSExportClause] -> ShowS #
Eq JSExportClause # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSExportClause -> JSExportClause -> Bool # (/=) :: JSExportClause -> JSExportClause -> Bool #

data JSExportSpecifier #

Constructors

JSExportSpecifier !JSIdent | ident
JSExportSpecifierAs !JSIdent !JSAnnot !JSIdent | ident1, as, ident2

#### Instances

Instances details

Data JSExportSpecifier # |

Instance details

Defined in Language.JavaScript.Parser.AST

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JSExportSpecifier -> c JSExportSpecifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JSExportSpecifier #

toConstr :: JSExportSpecifier -> Constr #

dataTypeOf :: JSExportSpecifier -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JSExportSpecifier) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSExportSpecifier) #

gmapT :: (forall b. Data b => b -> b) -> JSExportSpecifier -> JSExportSpecifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> JSExportSpecifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportSpecifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JSExportSpecifier -> m JSExportSpecifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportSpecifier -> m JSExportSpecifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JSExportSpecifier -> m JSExportSpecifier #

Show JSExportSpecifier # |
Instance details Defined in Language.JavaScript.Parser.AST Methods showsPrec :: Int -> JSExportSpecifier -> ShowS # show :: JSExportSpecifier -> String # showList :: [JSExportSpecifier] -> ShowS #
Eq JSExportSpecifier # |
Instance details Defined in Language.JavaScript.Parser.AST Methods (==) :: JSExportSpecifier -> JSExportSpecifier -> Bool # (/=) :: JSExportSpecifier -> JSExportSpecifier -> Bool #

binOpEq :: JSBinOp -> JSBinOp -> Bool #

showStripped :: JSAST -> String #

Show the AST elements stripped of their JSAnnot data.