language-javascript-0.6.0.13: Parser for JavaScript

Safe HaskellSafe
LanguageHaskell98

Language.JavaScript.Parser.AST

Synopsis

Documentation

data JSExpression Source #

Constructors

JSIdentifier !JSAnnot !String

Terminals

JSDecimal !JSAnnot !String 
JSLiteral !JSAnnot !String 
JSHexInteger !JSAnnot !String 
JSOctal !JSAnnot !String 
JSStringLiteral !JSAnnot !String 
JSRegEx !JSAnnot !String 
JSArrayLiteral !JSAnnot ![JSArrayElement] !JSAnnot

lb, contents, rb

JSAssignExpression !JSExpression !JSAssignOp !JSExpression

lhs, assignop, rhs

JSCallExpression !JSExpression !JSAnnot !(JSCommaList JSExpression) !JSAnnot

expr, bl, args, rb

JSCallExpressionDot !JSExpression !JSAnnot !JSExpression

expr, dot, expr

JSCallExpressionSquare !JSExpression !JSAnnot !JSExpression !JSAnnot

expr, [, expr, ]

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 JSIdent) !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 
JSUnaryExpression !JSUnaryOp !JSExpression 
JSVarInitExpression !JSExpression !JSVarInitializer

identifier, initializer

Instances
Eq JSExpression Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSExpression Source # 
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 Source #

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

toConstr :: JSExpression -> Constr Source #

dataTypeOf :: JSExpression -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSExpression Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSAnnot Source #

Constructors

JSAnnot !TokenPosn ![CommentAnnotation]

Annotation: position and comment/whitespace information

JSAnnotSpace

A single space character

JSNoAnnot

No annotation

Instances
Eq JSAnnot Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSAnnot Source # 
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 Source #

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

toConstr :: JSAnnot -> Constr Source #

dataTypeOf :: JSAnnot -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSAnnot Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSBinOp Source #

Instances
Eq JSBinOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSBinOp Source # 
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 Source #

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

toConstr :: JSBinOp -> Constr Source #

dataTypeOf :: JSBinOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSBinOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSUnaryOp Source #

Instances
Eq JSUnaryOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSUnaryOp Source # 
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 Source #

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

toConstr :: JSUnaryOp -> Constr Source #

dataTypeOf :: JSUnaryOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSUnaryOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSSemi Source #

Constructors

JSSemi !JSAnnot 
JSSemiAuto 
Instances
Eq JSSemi Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSSemi Source # 
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 Source #

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

toConstr :: JSSemi -> Constr Source #

dataTypeOf :: JSSemi -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSSemi Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSAssignOp Source #

Instances
Eq JSAssignOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSAssignOp Source # 
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 Source #

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

toConstr :: JSAssignOp -> Constr Source #

dataTypeOf :: JSAssignOp -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSAssignOp Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSTryCatch Source #

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
Eq JSTryCatch Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSTryCatch Source # 
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 Source #

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

toConstr :: JSTryCatch -> Constr Source #

dataTypeOf :: JSTryCatch -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSTryCatch Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSTryFinally Source #

Constructors

JSFinally !JSAnnot !JSBlock

finally,block

JSNoFinally 
Instances
Eq JSTryFinally Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSTryFinally Source # 
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 Source #

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

toConstr :: JSTryFinally -> Constr Source #

dataTypeOf :: JSTryFinally -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSTryFinally Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSStatement Source #

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

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

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

JSFunction !JSAnnot !JSIdent !JSAnnot !(JSCommaList JSIdent) !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
Eq JSStatement Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSStatement Source # 
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 Source #

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

toConstr :: JSStatement -> Constr Source #

dataTypeOf :: JSStatement -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSStatement Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSBlock Source #

Constructors

JSBlock !JSAnnot ![JSStatement] !JSAnnot

lbrace, stmts, rbrace

Instances
Eq JSBlock Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSBlock Source # 
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 Source #

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

toConstr :: JSBlock -> Constr Source #

dataTypeOf :: JSBlock -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSBlock Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSSwitchParts Source #

Constructors

JSCase !JSAnnot !JSExpression !JSAnnot ![JSStatement]

expr,colon,stmtlist

JSDefault !JSAnnot !JSAnnot ![JSStatement]

colon,stmtlist

Instances
Eq JSSwitchParts Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSSwitchParts Source # 
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 Source #

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

toConstr :: JSSwitchParts -> Constr Source #

dataTypeOf :: JSSwitchParts -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSSwitchParts Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSAST Source #

Instances
Eq JSAST Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Methods

(==) :: JSAST -> JSAST -> Bool Source #

(/=) :: JSAST -> JSAST -> Bool Source #

Data JSAST Source # 
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 Source #

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

toConstr :: JSAST -> Constr Source #

dataTypeOf :: JSAST -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSAST Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSObjectProperty Source #

Constructors

JSPropertyAccessor !JSAccessor !JSPropertyName !JSAnnot ![JSExpression] !JSAnnot !JSBlock

(get|set), name, lb, params, rb, block

JSPropertyNameandValue !JSPropertyName !JSAnnot ![JSExpression]

name, colon, value

Instances
Eq JSObjectProperty Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSObjectProperty Source # 
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 Source #

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

toConstr :: JSObjectProperty -> Constr Source #

dataTypeOf :: JSObjectProperty -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSObjectProperty Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSPropertyName Source #

Instances
Eq JSPropertyName Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSPropertyName Source # 
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 Source #

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

toConstr :: JSPropertyName -> Constr Source #

dataTypeOf :: JSPropertyName -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSPropertyName Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSAccessor Source #

Accessors for JSObjectProperty is either get or set.

Instances
Eq JSAccessor Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSAccessor Source # 
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 Source #

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

toConstr :: JSAccessor -> Constr Source #

dataTypeOf :: JSAccessor -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSAccessor Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSIdent Source #

Instances
Eq JSIdent Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSIdent Source # 
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 Source #

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

toConstr :: JSIdent -> Constr Source #

dataTypeOf :: JSIdent -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSIdent Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSVarInitializer Source #

Constructors

JSVarInit !JSAnnot !JSExpression

assignop, initializer

JSVarInitNone 
Instances
Eq JSVarInitializer Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSVarInitializer Source # 
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 Source #

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

toConstr :: JSVarInitializer -> Constr Source #

dataTypeOf :: JSVarInitializer -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSVarInitializer Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSArrayElement Source #

Instances
Eq JSArrayElement Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSArrayElement Source # 
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 Source #

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

toConstr :: JSArrayElement -> Constr Source #

dataTypeOf :: JSArrayElement -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSArrayElement Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSCommaList a Source #

Constructors

JSLCons !(JSCommaList a) !JSAnnot !a

head, comma, a

JSLOne !a

single element (no comma)

JSLNil 
Instances
Eq a => Eq (JSCommaList a) Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data a => Data (JSCommaList a) Source # 
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) Source #

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

toConstr :: JSCommaList a -> Constr Source #

dataTypeOf :: JSCommaList a -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show a => Show (JSCommaList a) Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSCommaTrailingList a Source #

Constructors

JSCTLComma !(JSCommaList a) !JSAnnot

list, trailing comma

JSCTLNone !(JSCommaList a)

list

Instances
Eq a => Eq (JSCommaTrailingList a) Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data a => Data (JSCommaTrailingList a) Source # 
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) Source #

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

toConstr :: JSCommaTrailingList a -> Constr Source #

dataTypeOf :: JSCommaTrailingList a -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show a => Show (JSCommaTrailingList a) Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSArrowParameterList Source #

Instances
Eq JSArrowParameterList Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSArrowParameterList Source # 
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 Source #

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

toConstr :: JSArrowParameterList -> Constr Source #

dataTypeOf :: JSArrowParameterList -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSArrowParameterList Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSModuleItem Source #

Instances
Eq JSModuleItem Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSModuleItem Source # 
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 Source #

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

toConstr :: JSModuleItem -> Constr Source #

dataTypeOf :: JSModuleItem -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSModuleItem Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSImportDeclaration Source #

Constructors

JSImportDeclaration !JSImportClause !JSFromClause !JSSemi

imports, module, semi | JSImportDeclarationBare -- ^ module, semi

Instances
Eq JSImportDeclaration Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSImportDeclaration Source # 
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 Source #

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

toConstr :: JSImportDeclaration -> Constr Source #

dataTypeOf :: JSImportDeclaration -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSImportDeclaration Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSImportClause Source #

Instances
Eq JSImportClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSImportClause Source # 
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 Source #

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

toConstr :: JSImportClause -> Constr Source #

dataTypeOf :: JSImportClause -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSImportClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSFromClause Source #

Constructors

JSFromClause !JSAnnot !JSAnnot !String

from, string literal, string literal contents

Instances
Eq JSFromClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSFromClause Source # 
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 Source #

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

toConstr :: JSFromClause -> Constr Source #

dataTypeOf :: JSFromClause -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSFromClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSImportNameSpace Source #

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

Constructors

JSImportNameSpace !JSBinOp !JSAnnot !JSIdent
  • , as, ident
Instances
Eq JSImportNameSpace Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSImportNameSpace Source # 
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 Source #

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

toConstr :: JSImportNameSpace -> Constr Source #

dataTypeOf :: JSImportNameSpace -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSImportNameSpace Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSImportsNamed Source #

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

Constructors

JSImportsNamed !JSAnnot !(JSCommaList JSImportSpecifier) !JSAnnot

lb, specifiers, rb

Instances
Eq JSImportsNamed Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSImportsNamed Source # 
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 Source #

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

toConstr :: JSImportsNamed -> Constr Source #

dataTypeOf :: JSImportsNamed -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSImportsNamed Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSImportSpecifier Source #

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

Instances
Eq JSImportSpecifier Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSImportSpecifier Source # 
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 Source #

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

toConstr :: JSImportSpecifier -> Constr Source #

dataTypeOf :: JSImportSpecifier -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSImportSpecifier Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSExportDeclaration Source #

Constructors

JSExportFrom JSExportClause JSFromClause !JSSemi

exports, module, semi

JSExportLocals JSExportClause !JSSemi

exports, autosemi

JSExport !JSStatement !JSSemi

body, autosemi | JSExportDefault

Instances
Eq JSExportDeclaration Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSExportDeclaration Source # 
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 Source #

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

toConstr :: JSExportDeclaration -> Constr Source #

dataTypeOf :: JSExportDeclaration -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSExportDeclaration Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSExportClause Source #

Constructors

JSExportClause !JSAnnot !(JSCommaList JSExportSpecifier) !JSAnnot

lb, specifiers, rb

Instances
Eq JSExportClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSExportClause Source # 
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 Source #

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

toConstr :: JSExportClause -> Constr Source #

dataTypeOf :: JSExportClause -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSExportClause Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

data JSExportSpecifier Source #

Constructors

JSExportSpecifier !JSIdent

ident

JSExportSpecifierAs !JSIdent !JSAnnot !JSIdent

ident1, as, ident2

Instances
Eq JSExportSpecifier Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

Data JSExportSpecifier Source # 
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 Source #

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

toConstr :: JSExportSpecifier -> Constr Source #

dataTypeOf :: JSExportSpecifier -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Show JSExportSpecifier Source # 
Instance details

Defined in Language.JavaScript.Parser.AST

showStripped :: JSAST -> String Source #

Show the AST elements stripped of their JSAnnot data.