{-# LANGUAGE DeriveDataTypeable, FlexibleInstances #-}
module Language.JavaScript.Parser.AST
( JSExpression (..)
, JSAnnot (..)
, JSBinOp (..)
, JSUnaryOp (..)
, JSSemi (..)
, JSAssignOp (..)
, JSTryCatch (..)
, JSTryFinally (..)
, JSStatement (..)
, JSBlock (..)
, JSSwitchParts (..)
, JSAST (..)
, JSObjectProperty (..)
, JSPropertyName (..)
, JSObjectPropertyList
, JSAccessor (..)
, JSMethodDefinition (..)
, JSIdent (..)
, JSVarInitializer (..)
, JSArrayElement (..)
, JSCommaList (..)
, JSCommaTrailingList (..)
, JSArrowParameterList (..)
, JSTemplatePart (..)
, JSClassHeritage (..)
, JSClassElement (..)
, JSModuleItem (..)
, JSImportDeclaration (..)
, JSImportClause (..)
, JSFromClause (..)
, JSImportNameSpace (..)
, JSImportsNamed (..)
, JSImportSpecifier (..)
, JSExportDeclaration (..)
, JSExportClause (..)
, JSExportSpecifier (..)
, binOpEq
, showStripped
) where
import Data.Data
import Data.List
import Language.JavaScript.Parser.SrcLocation (TokenPosn (..))
import Language.JavaScript.Parser.Token
data JSAnnot
= JSAnnot !TokenPosn ![CommentAnnotation]
| JSAnnotSpace
| JSNoAnnot
deriving (Typeable JSAnnot
Constr
DataType
Typeable JSAnnot =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAnnot -> c JSAnnot)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAnnot)
-> (JSAnnot -> Constr)
-> (JSAnnot -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAnnot))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAnnot))
-> ((forall b. Data b => b -> b) -> JSAnnot -> JSAnnot)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSAnnot -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSAnnot -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot)
-> Data JSAnnot
JSAnnot -> Constr
JSAnnot -> DataType
(forall b. Data b => b -> b) -> JSAnnot -> JSAnnot
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAnnot -> c JSAnnot
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAnnot
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSAnnot -> u
forall u. (forall d. Data d => d -> u) -> JSAnnot -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAnnot
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAnnot -> c JSAnnot
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAnnot)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAnnot)
$cJSNoAnnot :: Constr
$cJSAnnotSpace :: Constr
$cJSAnnot :: Constr
$tJSAnnot :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
gmapMp :: (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
gmapM :: (forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAnnot -> m JSAnnot
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAnnot -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSAnnot -> u
gmapQ :: (forall d. Data d => d -> u) -> JSAnnot -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSAnnot -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAnnot -> r
gmapT :: (forall b. Data b => b -> b) -> JSAnnot -> JSAnnot
$cgmapT :: (forall b. Data b => b -> b) -> JSAnnot -> JSAnnot
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAnnot)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAnnot)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSAnnot)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAnnot)
dataTypeOf :: JSAnnot -> DataType
$cdataTypeOf :: JSAnnot -> DataType
toConstr :: JSAnnot -> Constr
$ctoConstr :: JSAnnot -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAnnot
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAnnot
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAnnot -> c JSAnnot
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAnnot -> c JSAnnot
$cp1Data :: Typeable JSAnnot
Data, JSAnnot -> JSAnnot -> Bool
(JSAnnot -> JSAnnot -> Bool)
-> (JSAnnot -> JSAnnot -> Bool) -> Eq JSAnnot
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSAnnot -> JSAnnot -> Bool
$c/= :: JSAnnot -> JSAnnot -> Bool
== :: JSAnnot -> JSAnnot -> Bool
$c== :: JSAnnot -> JSAnnot -> Bool
Eq, Int -> JSAnnot -> ShowS
[JSAnnot] -> ShowS
JSAnnot -> String
(Int -> JSAnnot -> ShowS)
-> (JSAnnot -> String) -> ([JSAnnot] -> ShowS) -> Show JSAnnot
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSAnnot] -> ShowS
$cshowList :: [JSAnnot] -> ShowS
show :: JSAnnot -> String
$cshow :: JSAnnot -> String
showsPrec :: Int -> JSAnnot -> ShowS
$cshowsPrec :: Int -> JSAnnot -> ShowS
Show, Typeable)
data JSAST
= JSAstProgram ![JSStatement] !JSAnnot
| JSAstModule ![JSModuleItem] !JSAnnot
| JSAstStatement !JSStatement !JSAnnot
| JSAstExpression !JSExpression !JSAnnot
| JSAstLiteral !JSExpression !JSAnnot
deriving (Typeable JSAST
Constr
DataType
Typeable JSAST =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAST -> c JSAST)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAST)
-> (JSAST -> Constr)
-> (JSAST -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAST))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAST))
-> ((forall b. Data b => b -> b) -> JSAST -> JSAST)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSAST -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSAST -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST)
-> Data JSAST
JSAST -> Constr
JSAST -> DataType
(forall b. Data b => b -> b) -> JSAST -> JSAST
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAST -> c JSAST
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAST
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSAST -> u
forall u. (forall d. Data d => d -> u) -> JSAST -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAST
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAST -> c JSAST
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAST)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAST)
$cJSAstLiteral :: Constr
$cJSAstExpression :: Constr
$cJSAstStatement :: Constr
$cJSAstModule :: Constr
$cJSAstProgram :: Constr
$tJSAST :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSAST -> m JSAST
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST
gmapMp :: (forall d. Data d => d -> m d) -> JSAST -> m JSAST
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST
gmapM :: (forall d. Data d => d -> m d) -> JSAST -> m JSAST
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAST -> m JSAST
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAST -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSAST -> u
gmapQ :: (forall d. Data d => d -> u) -> JSAST -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSAST -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSAST -> r
gmapT :: (forall b. Data b => b -> b) -> JSAST -> JSAST
$cgmapT :: (forall b. Data b => b -> b) -> JSAST -> JSAST
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAST)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAST)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSAST)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAST)
dataTypeOf :: JSAST -> DataType
$cdataTypeOf :: JSAST -> DataType
toConstr :: JSAST -> Constr
$ctoConstr :: JSAST -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAST
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAST
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAST -> c JSAST
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAST -> c JSAST
$cp1Data :: Typeable JSAST
Data, JSAST -> JSAST -> Bool
(JSAST -> JSAST -> Bool) -> (JSAST -> JSAST -> Bool) -> Eq JSAST
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSAST -> JSAST -> Bool
$c/= :: JSAST -> JSAST -> Bool
== :: JSAST -> JSAST -> Bool
$c== :: JSAST -> JSAST -> Bool
Eq, Int -> JSAST -> ShowS
[JSAST] -> ShowS
JSAST -> String
(Int -> JSAST -> ShowS)
-> (JSAST -> String) -> ([JSAST] -> ShowS) -> Show JSAST
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSAST] -> ShowS
$cshowList :: [JSAST] -> ShowS
show :: JSAST -> String
$cshow :: JSAST -> String
showsPrec :: Int -> JSAST -> ShowS
$cshowsPrec :: Int -> JSAST -> ShowS
Show, Typeable)
data JSModuleItem
= JSModuleImportDeclaration !JSAnnot !JSImportDeclaration
| JSModuleExportDeclaration !JSAnnot !JSExportDeclaration
| JSModuleStatementListItem !JSStatement
deriving (Typeable JSModuleItem
Constr
DataType
Typeable JSModuleItem =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSModuleItem)
-> (JSModuleItem -> Constr)
-> (JSModuleItem -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSModuleItem))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSModuleItem))
-> ((forall b. Data b => b -> b) -> JSModuleItem -> JSModuleItem)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSModuleItem -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSModuleItem -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem)
-> Data JSModuleItem
JSModuleItem -> Constr
JSModuleItem -> DataType
(forall b. Data b => b -> b) -> JSModuleItem -> JSModuleItem
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSModuleItem
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSModuleItem -> u
forall u. (forall d. Data d => d -> u) -> JSModuleItem -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSModuleItem
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSModuleItem)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSModuleItem)
$cJSModuleStatementListItem :: Constr
$cJSModuleExportDeclaration :: Constr
$cJSModuleImportDeclaration :: Constr
$tJSModuleItem :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
gmapMp :: (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
gmapM :: (forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSModuleItem -> m JSModuleItem
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSModuleItem -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSModuleItem -> u
gmapQ :: (forall d. Data d => d -> u) -> JSModuleItem -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSModuleItem -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSModuleItem -> r
gmapT :: (forall b. Data b => b -> b) -> JSModuleItem -> JSModuleItem
$cgmapT :: (forall b. Data b => b -> b) -> JSModuleItem -> JSModuleItem
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSModuleItem)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSModuleItem)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSModuleItem)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSModuleItem)
dataTypeOf :: JSModuleItem -> DataType
$cdataTypeOf :: JSModuleItem -> DataType
toConstr :: JSModuleItem -> Constr
$ctoConstr :: JSModuleItem -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSModuleItem
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSModuleItem
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSModuleItem -> c JSModuleItem
$cp1Data :: Typeable JSModuleItem
Data, JSModuleItem -> JSModuleItem -> Bool
(JSModuleItem -> JSModuleItem -> Bool)
-> (JSModuleItem -> JSModuleItem -> Bool) -> Eq JSModuleItem
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSModuleItem -> JSModuleItem -> Bool
$c/= :: JSModuleItem -> JSModuleItem -> Bool
== :: JSModuleItem -> JSModuleItem -> Bool
$c== :: JSModuleItem -> JSModuleItem -> Bool
Eq, Int -> JSModuleItem -> ShowS
[JSModuleItem] -> ShowS
JSModuleItem -> String
(Int -> JSModuleItem -> ShowS)
-> (JSModuleItem -> String)
-> ([JSModuleItem] -> ShowS)
-> Show JSModuleItem
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSModuleItem] -> ShowS
$cshowList :: [JSModuleItem] -> ShowS
show :: JSModuleItem -> String
$cshow :: JSModuleItem -> String
showsPrec :: Int -> JSModuleItem -> ShowS
$cshowsPrec :: Int -> JSModuleItem -> ShowS
Show, Typeable)
data JSImportDeclaration
= JSImportDeclaration !JSImportClause !JSFromClause !JSSemi
| JSImportDeclarationBare !JSAnnot !String !JSSemi
deriving (Typeable JSImportDeclaration
Constr
DataType
Typeable JSImportDeclaration =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportDeclaration
-> c JSImportDeclaration)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportDeclaration)
-> (JSImportDeclaration -> Constr)
-> (JSImportDeclaration -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportDeclaration))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportDeclaration))
-> ((forall b. Data b => b -> b)
-> JSImportDeclaration -> JSImportDeclaration)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSImportDeclaration -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSImportDeclaration -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration)
-> Data JSImportDeclaration
JSImportDeclaration -> Constr
JSImportDeclaration -> DataType
(forall b. Data b => b -> b)
-> JSImportDeclaration -> JSImportDeclaration
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportDeclaration
-> c JSImportDeclaration
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportDeclaration
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSImportDeclaration -> u
forall u.
(forall d. Data d => d -> u) -> JSImportDeclaration -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportDeclaration
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportDeclaration
-> c JSImportDeclaration
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportDeclaration)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportDeclaration)
$cJSImportDeclarationBare :: Constr
$cJSImportDeclaration :: Constr
$tJSImportDeclaration :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
gmapMp :: (forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
gmapM :: (forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportDeclaration -> m JSImportDeclaration
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportDeclaration -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSImportDeclaration -> u
gmapQ :: (forall d. Data d => d -> u) -> JSImportDeclaration -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> JSImportDeclaration -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportDeclaration -> r
gmapT :: (forall b. Data b => b -> b)
-> JSImportDeclaration -> JSImportDeclaration
$cgmapT :: (forall b. Data b => b -> b)
-> JSImportDeclaration -> JSImportDeclaration
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportDeclaration)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportDeclaration)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSImportDeclaration)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportDeclaration)
dataTypeOf :: JSImportDeclaration -> DataType
$cdataTypeOf :: JSImportDeclaration -> DataType
toConstr :: JSImportDeclaration -> Constr
$ctoConstr :: JSImportDeclaration -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportDeclaration
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportDeclaration
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportDeclaration
-> c JSImportDeclaration
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportDeclaration
-> c JSImportDeclaration
$cp1Data :: Typeable JSImportDeclaration
Data, JSImportDeclaration -> JSImportDeclaration -> Bool
(JSImportDeclaration -> JSImportDeclaration -> Bool)
-> (JSImportDeclaration -> JSImportDeclaration -> Bool)
-> Eq JSImportDeclaration
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSImportDeclaration -> JSImportDeclaration -> Bool
$c/= :: JSImportDeclaration -> JSImportDeclaration -> Bool
== :: JSImportDeclaration -> JSImportDeclaration -> Bool
$c== :: JSImportDeclaration -> JSImportDeclaration -> Bool
Eq, Int -> JSImportDeclaration -> ShowS
[JSImportDeclaration] -> ShowS
JSImportDeclaration -> String
(Int -> JSImportDeclaration -> ShowS)
-> (JSImportDeclaration -> String)
-> ([JSImportDeclaration] -> ShowS)
-> Show JSImportDeclaration
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSImportDeclaration] -> ShowS
$cshowList :: [JSImportDeclaration] -> ShowS
show :: JSImportDeclaration -> String
$cshow :: JSImportDeclaration -> String
showsPrec :: Int -> JSImportDeclaration -> ShowS
$cshowsPrec :: Int -> JSImportDeclaration -> ShowS
Show, Typeable)
data JSImportClause
= JSImportClauseDefault !JSIdent
| JSImportClauseNameSpace !JSImportNameSpace
| JSImportClauseNamed !JSImportsNamed
| JSImportClauseDefaultNameSpace !JSIdent !JSAnnot !JSImportNameSpace
| JSImportClauseDefaultNamed !JSIdent !JSAnnot !JSImportsNamed
deriving (Typeable JSImportClause
Constr
DataType
Typeable JSImportClause =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportClause -> c JSImportClause)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportClause)
-> (JSImportClause -> Constr)
-> (JSImportClause -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportClause))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportClause))
-> ((forall b. Data b => b -> b)
-> JSImportClause -> JSImportClause)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSImportClause -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSImportClause -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause)
-> Data JSImportClause
JSImportClause -> Constr
JSImportClause -> DataType
(forall b. Data b => b -> b) -> JSImportClause -> JSImportClause
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportClause -> c JSImportClause
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportClause
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSImportClause -> u
forall u. (forall d. Data d => d -> u) -> JSImportClause -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportClause
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportClause -> c JSImportClause
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportClause)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportClause)
$cJSImportClauseDefaultNamed :: Constr
$cJSImportClauseDefaultNameSpace :: Constr
$cJSImportClauseNamed :: Constr
$cJSImportClauseNameSpace :: Constr
$cJSImportClauseDefault :: Constr
$tJSImportClause :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
gmapMp :: (forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
gmapM :: (forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportClause -> m JSImportClause
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportClause -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSImportClause -> u
gmapQ :: (forall d. Data d => d -> u) -> JSImportClause -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSImportClause -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportClause -> r
gmapT :: (forall b. Data b => b -> b) -> JSImportClause -> JSImportClause
$cgmapT :: (forall b. Data b => b -> b) -> JSImportClause -> JSImportClause
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportClause)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportClause)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSImportClause)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportClause)
dataTypeOf :: JSImportClause -> DataType
$cdataTypeOf :: JSImportClause -> DataType
toConstr :: JSImportClause -> Constr
$ctoConstr :: JSImportClause -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportClause
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportClause
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportClause -> c JSImportClause
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportClause -> c JSImportClause
$cp1Data :: Typeable JSImportClause
Data, JSImportClause -> JSImportClause -> Bool
(JSImportClause -> JSImportClause -> Bool)
-> (JSImportClause -> JSImportClause -> Bool) -> Eq JSImportClause
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSImportClause -> JSImportClause -> Bool
$c/= :: JSImportClause -> JSImportClause -> Bool
== :: JSImportClause -> JSImportClause -> Bool
$c== :: JSImportClause -> JSImportClause -> Bool
Eq, Int -> JSImportClause -> ShowS
[JSImportClause] -> ShowS
JSImportClause -> String
(Int -> JSImportClause -> ShowS)
-> (JSImportClause -> String)
-> ([JSImportClause] -> ShowS)
-> Show JSImportClause
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSImportClause] -> ShowS
$cshowList :: [JSImportClause] -> ShowS
show :: JSImportClause -> String
$cshow :: JSImportClause -> String
showsPrec :: Int -> JSImportClause -> ShowS
$cshowsPrec :: Int -> JSImportClause -> ShowS
Show, Typeable)
data JSFromClause
= JSFromClause !JSAnnot !JSAnnot !String
deriving (Typeable JSFromClause
Constr
DataType
Typeable JSFromClause =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSFromClause -> c JSFromClause)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSFromClause)
-> (JSFromClause -> Constr)
-> (JSFromClause -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSFromClause))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSFromClause))
-> ((forall b. Data b => b -> b) -> JSFromClause -> JSFromClause)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSFromClause -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSFromClause -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause)
-> Data JSFromClause
JSFromClause -> Constr
JSFromClause -> DataType
(forall b. Data b => b -> b) -> JSFromClause -> JSFromClause
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSFromClause -> c JSFromClause
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSFromClause
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSFromClause -> u
forall u. (forall d. Data d => d -> u) -> JSFromClause -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSFromClause
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSFromClause -> c JSFromClause
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSFromClause)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSFromClause)
$cJSFromClause :: Constr
$tJSFromClause :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
gmapMp :: (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
gmapM :: (forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSFromClause -> m JSFromClause
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSFromClause -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSFromClause -> u
gmapQ :: (forall d. Data d => d -> u) -> JSFromClause -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSFromClause -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSFromClause -> r
gmapT :: (forall b. Data b => b -> b) -> JSFromClause -> JSFromClause
$cgmapT :: (forall b. Data b => b -> b) -> JSFromClause -> JSFromClause
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSFromClause)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSFromClause)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSFromClause)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSFromClause)
dataTypeOf :: JSFromClause -> DataType
$cdataTypeOf :: JSFromClause -> DataType
toConstr :: JSFromClause -> Constr
$ctoConstr :: JSFromClause -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSFromClause
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSFromClause
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSFromClause -> c JSFromClause
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSFromClause -> c JSFromClause
$cp1Data :: Typeable JSFromClause
Data, JSFromClause -> JSFromClause -> Bool
(JSFromClause -> JSFromClause -> Bool)
-> (JSFromClause -> JSFromClause -> Bool) -> Eq JSFromClause
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSFromClause -> JSFromClause -> Bool
$c/= :: JSFromClause -> JSFromClause -> Bool
== :: JSFromClause -> JSFromClause -> Bool
$c== :: JSFromClause -> JSFromClause -> Bool
Eq, Int -> JSFromClause -> ShowS
[JSFromClause] -> ShowS
JSFromClause -> String
(Int -> JSFromClause -> ShowS)
-> (JSFromClause -> String)
-> ([JSFromClause] -> ShowS)
-> Show JSFromClause
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSFromClause] -> ShowS
$cshowList :: [JSFromClause] -> ShowS
show :: JSFromClause -> String
$cshow :: JSFromClause -> String
showsPrec :: Int -> JSFromClause -> ShowS
$cshowsPrec :: Int -> JSFromClause -> ShowS
Show, Typeable)
data JSImportNameSpace
= JSImportNameSpace !JSBinOp !JSAnnot !JSIdent
deriving (Typeable JSImportNameSpace
Constr
DataType
Typeable JSImportNameSpace =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportNameSpace
-> c JSImportNameSpace)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportNameSpace)
-> (JSImportNameSpace -> Constr)
-> (JSImportNameSpace -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportNameSpace))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportNameSpace))
-> ((forall b. Data b => b -> b)
-> JSImportNameSpace -> JSImportNameSpace)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSImportNameSpace -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSImportNameSpace -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace)
-> Data JSImportNameSpace
JSImportNameSpace -> Constr
JSImportNameSpace -> DataType
(forall b. Data b => b -> b)
-> JSImportNameSpace -> JSImportNameSpace
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportNameSpace -> c JSImportNameSpace
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportNameSpace
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSImportNameSpace -> u
forall u. (forall d. Data d => d -> u) -> JSImportNameSpace -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportNameSpace
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportNameSpace -> c JSImportNameSpace
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportNameSpace)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportNameSpace)
$cJSImportNameSpace :: Constr
$tJSImportNameSpace :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
gmapMp :: (forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
gmapM :: (forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportNameSpace -> m JSImportNameSpace
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportNameSpace -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSImportNameSpace -> u
gmapQ :: (forall d. Data d => d -> u) -> JSImportNameSpace -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSImportNameSpace -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportNameSpace -> r
gmapT :: (forall b. Data b => b -> b)
-> JSImportNameSpace -> JSImportNameSpace
$cgmapT :: (forall b. Data b => b -> b)
-> JSImportNameSpace -> JSImportNameSpace
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportNameSpace)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportNameSpace)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSImportNameSpace)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportNameSpace)
dataTypeOf :: JSImportNameSpace -> DataType
$cdataTypeOf :: JSImportNameSpace -> DataType
toConstr :: JSImportNameSpace -> Constr
$ctoConstr :: JSImportNameSpace -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportNameSpace
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportNameSpace
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportNameSpace -> c JSImportNameSpace
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportNameSpace -> c JSImportNameSpace
$cp1Data :: Typeable JSImportNameSpace
Data, JSImportNameSpace -> JSImportNameSpace -> Bool
(JSImportNameSpace -> JSImportNameSpace -> Bool)
-> (JSImportNameSpace -> JSImportNameSpace -> Bool)
-> Eq JSImportNameSpace
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSImportNameSpace -> JSImportNameSpace -> Bool
$c/= :: JSImportNameSpace -> JSImportNameSpace -> Bool
== :: JSImportNameSpace -> JSImportNameSpace -> Bool
$c== :: JSImportNameSpace -> JSImportNameSpace -> Bool
Eq, Int -> JSImportNameSpace -> ShowS
[JSImportNameSpace] -> ShowS
JSImportNameSpace -> String
(Int -> JSImportNameSpace -> ShowS)
-> (JSImportNameSpace -> String)
-> ([JSImportNameSpace] -> ShowS)
-> Show JSImportNameSpace
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSImportNameSpace] -> ShowS
$cshowList :: [JSImportNameSpace] -> ShowS
show :: JSImportNameSpace -> String
$cshow :: JSImportNameSpace -> String
showsPrec :: Int -> JSImportNameSpace -> ShowS
$cshowsPrec :: Int -> JSImportNameSpace -> ShowS
Show, Typeable)
data JSImportsNamed
= JSImportsNamed !JSAnnot !(JSCommaList JSImportSpecifier) !JSAnnot
deriving (Typeable JSImportsNamed
Constr
DataType
Typeable JSImportsNamed =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportsNamed)
-> (JSImportsNamed -> Constr)
-> (JSImportsNamed -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportsNamed))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportsNamed))
-> ((forall b. Data b => b -> b)
-> JSImportsNamed -> JSImportsNamed)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSImportsNamed -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSImportsNamed -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed)
-> Data JSImportsNamed
JSImportsNamed -> Constr
JSImportsNamed -> DataType
(forall b. Data b => b -> b) -> JSImportsNamed -> JSImportsNamed
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportsNamed
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSImportsNamed -> u
forall u. (forall d. Data d => d -> u) -> JSImportsNamed -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportsNamed
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportsNamed)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportsNamed)
$cJSImportsNamed :: Constr
$tJSImportsNamed :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
gmapMp :: (forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
gmapM :: (forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportsNamed -> m JSImportsNamed
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportsNamed -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSImportsNamed -> u
gmapQ :: (forall d. Data d => d -> u) -> JSImportsNamed -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSImportsNamed -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportsNamed -> r
gmapT :: (forall b. Data b => b -> b) -> JSImportsNamed -> JSImportsNamed
$cgmapT :: (forall b. Data b => b -> b) -> JSImportsNamed -> JSImportsNamed
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportsNamed)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportsNamed)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSImportsNamed)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportsNamed)
dataTypeOf :: JSImportsNamed -> DataType
$cdataTypeOf :: JSImportsNamed -> DataType
toConstr :: JSImportsNamed -> Constr
$ctoConstr :: JSImportsNamed -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportsNamed
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportsNamed
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportsNamed -> c JSImportsNamed
$cp1Data :: Typeable JSImportsNamed
Data, JSImportsNamed -> JSImportsNamed -> Bool
(JSImportsNamed -> JSImportsNamed -> Bool)
-> (JSImportsNamed -> JSImportsNamed -> Bool) -> Eq JSImportsNamed
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSImportsNamed -> JSImportsNamed -> Bool
$c/= :: JSImportsNamed -> JSImportsNamed -> Bool
== :: JSImportsNamed -> JSImportsNamed -> Bool
$c== :: JSImportsNamed -> JSImportsNamed -> Bool
Eq, Int -> JSImportsNamed -> ShowS
[JSImportsNamed] -> ShowS
JSImportsNamed -> String
(Int -> JSImportsNamed -> ShowS)
-> (JSImportsNamed -> String)
-> ([JSImportsNamed] -> ShowS)
-> Show JSImportsNamed
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSImportsNamed] -> ShowS
$cshowList :: [JSImportsNamed] -> ShowS
show :: JSImportsNamed -> String
$cshow :: JSImportsNamed -> String
showsPrec :: Int -> JSImportsNamed -> ShowS
$cshowsPrec :: Int -> JSImportsNamed -> ShowS
Show, Typeable)
data JSImportSpecifier
= JSImportSpecifier !JSIdent
| JSImportSpecifierAs !JSIdent !JSAnnot !JSIdent
deriving (Typeable JSImportSpecifier
Constr
DataType
Typeable JSImportSpecifier =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSImportSpecifier
-> c JSImportSpecifier)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportSpecifier)
-> (JSImportSpecifier -> Constr)
-> (JSImportSpecifier -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportSpecifier))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportSpecifier))
-> ((forall b. Data b => b -> b)
-> JSImportSpecifier -> JSImportSpecifier)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSImportSpecifier -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSImportSpecifier -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier)
-> Data JSImportSpecifier
JSImportSpecifier -> Constr
JSImportSpecifier -> DataType
(forall b. Data b => b -> b)
-> JSImportSpecifier -> JSImportSpecifier
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportSpecifier -> c JSImportSpecifier
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportSpecifier
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSImportSpecifier -> u
forall u. (forall d. Data d => d -> u) -> JSImportSpecifier -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportSpecifier
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportSpecifier -> c JSImportSpecifier
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportSpecifier)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportSpecifier)
$cJSImportSpecifierAs :: Constr
$cJSImportSpecifier :: Constr
$tJSImportSpecifier :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
gmapMp :: (forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
gmapM :: (forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSImportSpecifier -> m JSImportSpecifier
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSImportSpecifier -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSImportSpecifier -> u
gmapQ :: (forall d. Data d => d -> u) -> JSImportSpecifier -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSImportSpecifier -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSImportSpecifier -> r
gmapT :: (forall b. Data b => b -> b)
-> JSImportSpecifier -> JSImportSpecifier
$cgmapT :: (forall b. Data b => b -> b)
-> JSImportSpecifier -> JSImportSpecifier
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportSpecifier)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSImportSpecifier)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSImportSpecifier)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSImportSpecifier)
dataTypeOf :: JSImportSpecifier -> DataType
$cdataTypeOf :: JSImportSpecifier -> DataType
toConstr :: JSImportSpecifier -> Constr
$ctoConstr :: JSImportSpecifier -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportSpecifier
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSImportSpecifier
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportSpecifier -> c JSImportSpecifier
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSImportSpecifier -> c JSImportSpecifier
$cp1Data :: Typeable JSImportSpecifier
Data, JSImportSpecifier -> JSImportSpecifier -> Bool
(JSImportSpecifier -> JSImportSpecifier -> Bool)
-> (JSImportSpecifier -> JSImportSpecifier -> Bool)
-> Eq JSImportSpecifier
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSImportSpecifier -> JSImportSpecifier -> Bool
$c/= :: JSImportSpecifier -> JSImportSpecifier -> Bool
== :: JSImportSpecifier -> JSImportSpecifier -> Bool
$c== :: JSImportSpecifier -> JSImportSpecifier -> Bool
Eq, Int -> JSImportSpecifier -> ShowS
[JSImportSpecifier] -> ShowS
JSImportSpecifier -> String
(Int -> JSImportSpecifier -> ShowS)
-> (JSImportSpecifier -> String)
-> ([JSImportSpecifier] -> ShowS)
-> Show JSImportSpecifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSImportSpecifier] -> ShowS
$cshowList :: [JSImportSpecifier] -> ShowS
show :: JSImportSpecifier -> String
$cshow :: JSImportSpecifier -> String
showsPrec :: Int -> JSImportSpecifier -> ShowS
$cshowsPrec :: Int -> JSImportSpecifier -> ShowS
Show, Typeable)
data JSExportDeclaration
= JSExportFrom JSExportClause JSFromClause !JSSemi
| JSExportLocals JSExportClause !JSSemi
| JSExport !JSStatement !JSSemi
deriving (Typeable JSExportDeclaration
Constr
DataType
Typeable JSExportDeclaration =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportDeclaration
-> c JSExportDeclaration)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportDeclaration)
-> (JSExportDeclaration -> Constr)
-> (JSExportDeclaration -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportDeclaration))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportDeclaration))
-> ((forall b. Data b => b -> b)
-> JSExportDeclaration -> JSExportDeclaration)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSExportDeclaration -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSExportDeclaration -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration)
-> Data JSExportDeclaration
JSExportDeclaration -> Constr
JSExportDeclaration -> DataType
(forall b. Data b => b -> b)
-> JSExportDeclaration -> JSExportDeclaration
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportDeclaration
-> c JSExportDeclaration
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportDeclaration
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSExportDeclaration -> u
forall u.
(forall d. Data d => d -> u) -> JSExportDeclaration -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportDeclaration
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportDeclaration
-> c JSExportDeclaration
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportDeclaration)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportDeclaration)
$cJSExport :: Constr
$cJSExportLocals :: Constr
$cJSExportFrom :: Constr
$tJSExportDeclaration :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
gmapMp :: (forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
gmapM :: (forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportDeclaration -> m JSExportDeclaration
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportDeclaration -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSExportDeclaration -> u
gmapQ :: (forall d. Data d => d -> u) -> JSExportDeclaration -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> JSExportDeclaration -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportDeclaration -> r
gmapT :: (forall b. Data b => b -> b)
-> JSExportDeclaration -> JSExportDeclaration
$cgmapT :: (forall b. Data b => b -> b)
-> JSExportDeclaration -> JSExportDeclaration
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportDeclaration)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportDeclaration)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSExportDeclaration)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportDeclaration)
dataTypeOf :: JSExportDeclaration -> DataType
$cdataTypeOf :: JSExportDeclaration -> DataType
toConstr :: JSExportDeclaration -> Constr
$ctoConstr :: JSExportDeclaration -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportDeclaration
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportDeclaration
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportDeclaration
-> c JSExportDeclaration
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportDeclaration
-> c JSExportDeclaration
$cp1Data :: Typeable JSExportDeclaration
Data, JSExportDeclaration -> JSExportDeclaration -> Bool
(JSExportDeclaration -> JSExportDeclaration -> Bool)
-> (JSExportDeclaration -> JSExportDeclaration -> Bool)
-> Eq JSExportDeclaration
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSExportDeclaration -> JSExportDeclaration -> Bool
$c/= :: JSExportDeclaration -> JSExportDeclaration -> Bool
== :: JSExportDeclaration -> JSExportDeclaration -> Bool
$c== :: JSExportDeclaration -> JSExportDeclaration -> Bool
Eq, Int -> JSExportDeclaration -> ShowS
[JSExportDeclaration] -> ShowS
JSExportDeclaration -> String
(Int -> JSExportDeclaration -> ShowS)
-> (JSExportDeclaration -> String)
-> ([JSExportDeclaration] -> ShowS)
-> Show JSExportDeclaration
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSExportDeclaration] -> ShowS
$cshowList :: [JSExportDeclaration] -> ShowS
show :: JSExportDeclaration -> String
$cshow :: JSExportDeclaration -> String
showsPrec :: Int -> JSExportDeclaration -> ShowS
$cshowsPrec :: Int -> JSExportDeclaration -> ShowS
Show, Typeable)
data JSExportClause
= JSExportClause !JSAnnot !(JSCommaList JSExportSpecifier) !JSAnnot
deriving (Typeable JSExportClause
Constr
DataType
Typeable JSExportClause =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportClause -> c JSExportClause)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportClause)
-> (JSExportClause -> Constr)
-> (JSExportClause -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportClause))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportClause))
-> ((forall b. Data b => b -> b)
-> JSExportClause -> JSExportClause)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSExportClause -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSExportClause -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause)
-> Data JSExportClause
JSExportClause -> Constr
JSExportClause -> DataType
(forall b. Data b => b -> b) -> JSExportClause -> JSExportClause
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportClause -> c JSExportClause
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportClause
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSExportClause -> u
forall u. (forall d. Data d => d -> u) -> JSExportClause -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportClause
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportClause -> c JSExportClause
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportClause)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportClause)
$cJSExportClause :: Constr
$tJSExportClause :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
gmapMp :: (forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
gmapM :: (forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportClause -> m JSExportClause
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportClause -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSExportClause -> u
gmapQ :: (forall d. Data d => d -> u) -> JSExportClause -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSExportClause -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportClause -> r
gmapT :: (forall b. Data b => b -> b) -> JSExportClause -> JSExportClause
$cgmapT :: (forall b. Data b => b -> b) -> JSExportClause -> JSExportClause
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportClause)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportClause)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSExportClause)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportClause)
dataTypeOf :: JSExportClause -> DataType
$cdataTypeOf :: JSExportClause -> DataType
toConstr :: JSExportClause -> Constr
$ctoConstr :: JSExportClause -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportClause
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportClause
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportClause -> c JSExportClause
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportClause -> c JSExportClause
$cp1Data :: Typeable JSExportClause
Data, JSExportClause -> JSExportClause -> Bool
(JSExportClause -> JSExportClause -> Bool)
-> (JSExportClause -> JSExportClause -> Bool) -> Eq JSExportClause
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSExportClause -> JSExportClause -> Bool
$c/= :: JSExportClause -> JSExportClause -> Bool
== :: JSExportClause -> JSExportClause -> Bool
$c== :: JSExportClause -> JSExportClause -> Bool
Eq, Int -> JSExportClause -> ShowS
[JSExportClause] -> ShowS
JSExportClause -> String
(Int -> JSExportClause -> ShowS)
-> (JSExportClause -> String)
-> ([JSExportClause] -> ShowS)
-> Show JSExportClause
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSExportClause] -> ShowS
$cshowList :: [JSExportClause] -> ShowS
show :: JSExportClause -> String
$cshow :: JSExportClause -> String
showsPrec :: Int -> JSExportClause -> ShowS
$cshowsPrec :: Int -> JSExportClause -> ShowS
Show, Typeable)
data JSExportSpecifier
= JSExportSpecifier !JSIdent
| JSExportSpecifierAs !JSIdent !JSAnnot !JSIdent
deriving (Typeable JSExportSpecifier
Constr
DataType
Typeable JSExportSpecifier =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSExportSpecifier
-> c JSExportSpecifier)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportSpecifier)
-> (JSExportSpecifier -> Constr)
-> (JSExportSpecifier -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportSpecifier))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportSpecifier))
-> ((forall b. Data b => b -> b)
-> JSExportSpecifier -> JSExportSpecifier)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSExportSpecifier -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSExportSpecifier -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier)
-> Data JSExportSpecifier
JSExportSpecifier -> Constr
JSExportSpecifier -> DataType
(forall b. Data b => b -> b)
-> JSExportSpecifier -> JSExportSpecifier
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportSpecifier -> c JSExportSpecifier
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportSpecifier
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSExportSpecifier -> u
forall u. (forall d. Data d => d -> u) -> JSExportSpecifier -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportSpecifier
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportSpecifier -> c JSExportSpecifier
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportSpecifier)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportSpecifier)
$cJSExportSpecifierAs :: Constr
$cJSExportSpecifier :: Constr
$tJSExportSpecifier :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
gmapMp :: (forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
gmapM :: (forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSExportSpecifier -> m JSExportSpecifier
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExportSpecifier -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSExportSpecifier -> u
gmapQ :: (forall d. Data d => d -> u) -> JSExportSpecifier -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSExportSpecifier -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExportSpecifier -> r
gmapT :: (forall b. Data b => b -> b)
-> JSExportSpecifier -> JSExportSpecifier
$cgmapT :: (forall b. Data b => b -> b)
-> JSExportSpecifier -> JSExportSpecifier
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportSpecifier)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExportSpecifier)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSExportSpecifier)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExportSpecifier)
dataTypeOf :: JSExportSpecifier -> DataType
$cdataTypeOf :: JSExportSpecifier -> DataType
toConstr :: JSExportSpecifier -> Constr
$ctoConstr :: JSExportSpecifier -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportSpecifier
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExportSpecifier
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportSpecifier -> c JSExportSpecifier
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExportSpecifier -> c JSExportSpecifier
$cp1Data :: Typeable JSExportSpecifier
Data, JSExportSpecifier -> JSExportSpecifier -> Bool
(JSExportSpecifier -> JSExportSpecifier -> Bool)
-> (JSExportSpecifier -> JSExportSpecifier -> Bool)
-> Eq JSExportSpecifier
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSExportSpecifier -> JSExportSpecifier -> Bool
$c/= :: JSExportSpecifier -> JSExportSpecifier -> Bool
== :: JSExportSpecifier -> JSExportSpecifier -> Bool
$c== :: JSExportSpecifier -> JSExportSpecifier -> Bool
Eq, Int -> JSExportSpecifier -> ShowS
[JSExportSpecifier] -> ShowS
JSExportSpecifier -> String
(Int -> JSExportSpecifier -> ShowS)
-> (JSExportSpecifier -> String)
-> ([JSExportSpecifier] -> ShowS)
-> Show JSExportSpecifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSExportSpecifier] -> ShowS
$cshowList :: [JSExportSpecifier] -> ShowS
show :: JSExportSpecifier -> String
$cshow :: JSExportSpecifier -> String
showsPrec :: Int -> JSExportSpecifier -> ShowS
$cshowsPrec :: Int -> JSExportSpecifier -> ShowS
Show, Typeable)
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
deriving (Typeable JSStatement
Constr
DataType
Typeable JSStatement =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSStatement -> c JSStatement)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSStatement)
-> (JSStatement -> Constr)
-> (JSStatement -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSStatement))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSStatement))
-> ((forall b. Data b => b -> b) -> JSStatement -> JSStatement)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSStatement -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSStatement -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement)
-> Data JSStatement
JSStatement -> Constr
JSStatement -> DataType
(forall b. Data b => b -> b) -> JSStatement -> JSStatement
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSStatement -> c JSStatement
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSStatement
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSStatement -> u
forall u. (forall d. Data d => d -> u) -> JSStatement -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSStatement
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSStatement -> c JSStatement
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSStatement)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSStatement)
$cJSWith :: Constr
$cJSWhile :: Constr
$cJSVariable :: Constr
$cJSTry :: Constr
$cJSThrow :: Constr
$cJSSwitch :: Constr
$cJSReturn :: Constr
$cJSMethodCall :: Constr
$cJSAssignStatement :: Constr
$cJSExpressionStatement :: Constr
$cJSEmptyStatement :: Constr
$cJSLabelled :: Constr
$cJSIfElse :: Constr
$cJSIf :: Constr
$cJSGenerator :: Constr
$cJSFunction :: Constr
$cJSAsyncFunction :: Constr
$cJSForVarOf :: Constr
$cJSForOf :: Constr
$cJSForConstOf :: Constr
$cJSForConstIn :: Constr
$cJSForConst :: Constr
$cJSForLetOf :: Constr
$cJSForLetIn :: Constr
$cJSForLet :: Constr
$cJSForVarIn :: Constr
$cJSForVar :: Constr
$cJSForIn :: Constr
$cJSFor :: Constr
$cJSDoWhile :: Constr
$cJSContinue :: Constr
$cJSConstant :: Constr
$cJSClass :: Constr
$cJSLet :: Constr
$cJSBreak :: Constr
$cJSStatementBlock :: Constr
$tJSStatement :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
gmapMp :: (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
gmapM :: (forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSStatement -> m JSStatement
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSStatement -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSStatement -> u
gmapQ :: (forall d. Data d => d -> u) -> JSStatement -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSStatement -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSStatement -> r
gmapT :: (forall b. Data b => b -> b) -> JSStatement -> JSStatement
$cgmapT :: (forall b. Data b => b -> b) -> JSStatement -> JSStatement
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSStatement)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSStatement)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSStatement)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSStatement)
dataTypeOf :: JSStatement -> DataType
$cdataTypeOf :: JSStatement -> DataType
toConstr :: JSStatement -> Constr
$ctoConstr :: JSStatement -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSStatement
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSStatement
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSStatement -> c JSStatement
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSStatement -> c JSStatement
$cp1Data :: Typeable JSStatement
Data, JSStatement -> JSStatement -> Bool
(JSStatement -> JSStatement -> Bool)
-> (JSStatement -> JSStatement -> Bool) -> Eq JSStatement
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSStatement -> JSStatement -> Bool
$c/= :: JSStatement -> JSStatement -> Bool
== :: JSStatement -> JSStatement -> Bool
$c== :: JSStatement -> JSStatement -> Bool
Eq, Int -> JSStatement -> ShowS
[JSStatement] -> ShowS
JSStatement -> String
(Int -> JSStatement -> ShowS)
-> (JSStatement -> String)
-> ([JSStatement] -> ShowS)
-> Show JSStatement
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSStatement] -> ShowS
$cshowList :: [JSStatement] -> ShowS
show :: JSStatement -> String
$cshow :: JSStatement -> String
showsPrec :: Int -> JSStatement -> ShowS
$cshowsPrec :: Int -> JSStatement -> ShowS
Show, Typeable)
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
deriving (Typeable JSExpression
Constr
DataType
Typeable JSExpression =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExpression -> c JSExpression)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExpression)
-> (JSExpression -> Constr)
-> (JSExpression -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExpression))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExpression))
-> ((forall b. Data b => b -> b) -> JSExpression -> JSExpression)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSExpression -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSExpression -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression)
-> Data JSExpression
JSExpression -> Constr
JSExpression -> DataType
(forall b. Data b => b -> b) -> JSExpression -> JSExpression
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExpression -> c JSExpression
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExpression
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSExpression -> u
forall u. (forall d. Data d => d -> u) -> JSExpression -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExpression
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExpression -> c JSExpression
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExpression)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExpression)
$cJSYieldFromExpression :: Constr
$cJSYieldExpression :: Constr
$cJSVarInitExpression :: Constr
$cJSUnaryExpression :: Constr
$cJSTemplateLiteral :: Constr
$cJSSpreadExpression :: Constr
$cJSObjectLiteral :: Constr
$cJSNewExpression :: Constr
$cJSMemberSquare :: Constr
$cJSMemberNew :: Constr
$cJSMemberExpression :: Constr
$cJSMemberDot :: Constr
$cJSGeneratorExpression :: Constr
$cJSFunctionExpression :: Constr
$cJSArrowExpression :: Constr
$cJSExpressionTernary :: Constr
$cJSExpressionPostfix :: Constr
$cJSExpressionParen :: Constr
$cJSExpressionBinary :: Constr
$cJSCommaExpression :: Constr
$cJSClassExpression :: Constr
$cJSCallExpressionSquare :: Constr
$cJSCallExpressionDot :: Constr
$cJSCallExpression :: Constr
$cJSAwaitExpression :: Constr
$cJSAssignExpression :: Constr
$cJSArrayLiteral :: Constr
$cJSRegEx :: Constr
$cJSStringLiteral :: Constr
$cJSOctal :: Constr
$cJSHexInteger :: Constr
$cJSLiteral :: Constr
$cJSDecimal :: Constr
$cJSIdentifier :: Constr
$tJSExpression :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
gmapMp :: (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
gmapM :: (forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSExpression -> m JSExpression
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSExpression -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSExpression -> u
gmapQ :: (forall d. Data d => d -> u) -> JSExpression -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSExpression -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSExpression -> r
gmapT :: (forall b. Data b => b -> b) -> JSExpression -> JSExpression
$cgmapT :: (forall b. Data b => b -> b) -> JSExpression -> JSExpression
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExpression)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSExpression)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSExpression)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSExpression)
dataTypeOf :: JSExpression -> DataType
$cdataTypeOf :: JSExpression -> DataType
toConstr :: JSExpression -> Constr
$ctoConstr :: JSExpression -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExpression
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSExpression
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExpression -> c JSExpression
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSExpression -> c JSExpression
$cp1Data :: Typeable JSExpression
Data, JSExpression -> JSExpression -> Bool
(JSExpression -> JSExpression -> Bool)
-> (JSExpression -> JSExpression -> Bool) -> Eq JSExpression
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSExpression -> JSExpression -> Bool
$c/= :: JSExpression -> JSExpression -> Bool
== :: JSExpression -> JSExpression -> Bool
$c== :: JSExpression -> JSExpression -> Bool
Eq, Int -> JSExpression -> ShowS
[JSExpression] -> ShowS
JSExpression -> String
(Int -> JSExpression -> ShowS)
-> (JSExpression -> String)
-> ([JSExpression] -> ShowS)
-> Show JSExpression
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSExpression] -> ShowS
$cshowList :: [JSExpression] -> ShowS
show :: JSExpression -> String
$cshow :: JSExpression -> String
showsPrec :: Int -> JSExpression -> ShowS
$cshowsPrec :: Int -> JSExpression -> ShowS
Show, Typeable)
data JSArrowParameterList
= JSUnparenthesizedArrowParameter !JSIdent
| JSParenthesizedArrowParameterList !JSAnnot !(JSCommaList JSExpression) !JSAnnot
deriving (Typeable JSArrowParameterList
Constr
DataType
Typeable JSArrowParameterList =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSArrowParameterList
-> c JSArrowParameterList)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrowParameterList)
-> (JSArrowParameterList -> Constr)
-> (JSArrowParameterList -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrowParameterList))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrowParameterList))
-> ((forall b. Data b => b -> b)
-> JSArrowParameterList -> JSArrowParameterList)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSArrowParameterList -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSArrowParameterList -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList)
-> Data JSArrowParameterList
JSArrowParameterList -> Constr
JSArrowParameterList -> DataType
(forall b. Data b => b -> b)
-> JSArrowParameterList -> JSArrowParameterList
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSArrowParameterList
-> c JSArrowParameterList
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrowParameterList
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSArrowParameterList -> u
forall u.
(forall d. Data d => d -> u) -> JSArrowParameterList -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrowParameterList
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSArrowParameterList
-> c JSArrowParameterList
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrowParameterList)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrowParameterList)
$cJSParenthesizedArrowParameterList :: Constr
$cJSUnparenthesizedArrowParameter :: Constr
$tJSArrowParameterList :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
gmapMp :: (forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
gmapM :: (forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrowParameterList -> m JSArrowParameterList
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSArrowParameterList -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSArrowParameterList -> u
gmapQ :: (forall d. Data d => d -> u) -> JSArrowParameterList -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> JSArrowParameterList -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrowParameterList -> r
gmapT :: (forall b. Data b => b -> b)
-> JSArrowParameterList -> JSArrowParameterList
$cgmapT :: (forall b. Data b => b -> b)
-> JSArrowParameterList -> JSArrowParameterList
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrowParameterList)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrowParameterList)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSArrowParameterList)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrowParameterList)
dataTypeOf :: JSArrowParameterList -> DataType
$cdataTypeOf :: JSArrowParameterList -> DataType
toConstr :: JSArrowParameterList -> Constr
$ctoConstr :: JSArrowParameterList -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrowParameterList
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrowParameterList
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSArrowParameterList
-> c JSArrowParameterList
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSArrowParameterList
-> c JSArrowParameterList
$cp1Data :: Typeable JSArrowParameterList
Data, JSArrowParameterList -> JSArrowParameterList -> Bool
(JSArrowParameterList -> JSArrowParameterList -> Bool)
-> (JSArrowParameterList -> JSArrowParameterList -> Bool)
-> Eq JSArrowParameterList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSArrowParameterList -> JSArrowParameterList -> Bool
$c/= :: JSArrowParameterList -> JSArrowParameterList -> Bool
== :: JSArrowParameterList -> JSArrowParameterList -> Bool
$c== :: JSArrowParameterList -> JSArrowParameterList -> Bool
Eq, Int -> JSArrowParameterList -> ShowS
[JSArrowParameterList] -> ShowS
JSArrowParameterList -> String
(Int -> JSArrowParameterList -> ShowS)
-> (JSArrowParameterList -> String)
-> ([JSArrowParameterList] -> ShowS)
-> Show JSArrowParameterList
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSArrowParameterList] -> ShowS
$cshowList :: [JSArrowParameterList] -> ShowS
show :: JSArrowParameterList -> String
$cshow :: JSArrowParameterList -> String
showsPrec :: Int -> JSArrowParameterList -> ShowS
$cshowsPrec :: Int -> JSArrowParameterList -> ShowS
Show, Typeable)
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
deriving (Typeable JSBinOp
Constr
DataType
Typeable JSBinOp =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBinOp -> c JSBinOp)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBinOp)
-> (JSBinOp -> Constr)
-> (JSBinOp -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBinOp))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBinOp))
-> ((forall b. Data b => b -> b) -> JSBinOp -> JSBinOp)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSBinOp -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSBinOp -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp)
-> Data JSBinOp
JSBinOp -> Constr
JSBinOp -> DataType
(forall b. Data b => b -> b) -> JSBinOp -> JSBinOp
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBinOp -> c JSBinOp
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBinOp
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSBinOp -> u
forall u. (forall d. Data d => d -> u) -> JSBinOp -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBinOp
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBinOp -> c JSBinOp
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBinOp)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBinOp)
$cJSBinOpUrsh :: Constr
$cJSBinOpTimes :: Constr
$cJSBinOpStrictNeq :: Constr
$cJSBinOpStrictEq :: Constr
$cJSBinOpRsh :: Constr
$cJSBinOpPlus :: Constr
$cJSBinOpOr :: Constr
$cJSBinOpOf :: Constr
$cJSBinOpNeq :: Constr
$cJSBinOpMod :: Constr
$cJSBinOpMinus :: Constr
$cJSBinOpLt :: Constr
$cJSBinOpLsh :: Constr
$cJSBinOpLe :: Constr
$cJSBinOpInstanceOf :: Constr
$cJSBinOpIn :: Constr
$cJSBinOpGt :: Constr
$cJSBinOpGe :: Constr
$cJSBinOpEq :: Constr
$cJSBinOpDivide :: Constr
$cJSBinOpBitXor :: Constr
$cJSBinOpBitOr :: Constr
$cJSBinOpBitAnd :: Constr
$cJSBinOpAnd :: Constr
$tJSBinOp :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
gmapMp :: (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
gmapM :: (forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBinOp -> m JSBinOp
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSBinOp -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSBinOp -> u
gmapQ :: (forall d. Data d => d -> u) -> JSBinOp -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSBinOp -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBinOp -> r
gmapT :: (forall b. Data b => b -> b) -> JSBinOp -> JSBinOp
$cgmapT :: (forall b. Data b => b -> b) -> JSBinOp -> JSBinOp
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBinOp)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBinOp)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSBinOp)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBinOp)
dataTypeOf :: JSBinOp -> DataType
$cdataTypeOf :: JSBinOp -> DataType
toConstr :: JSBinOp -> Constr
$ctoConstr :: JSBinOp -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBinOp
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBinOp
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBinOp -> c JSBinOp
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBinOp -> c JSBinOp
$cp1Data :: Typeable JSBinOp
Data, JSBinOp -> JSBinOp -> Bool
(JSBinOp -> JSBinOp -> Bool)
-> (JSBinOp -> JSBinOp -> Bool) -> Eq JSBinOp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSBinOp -> JSBinOp -> Bool
$c/= :: JSBinOp -> JSBinOp -> Bool
== :: JSBinOp -> JSBinOp -> Bool
$c== :: JSBinOp -> JSBinOp -> Bool
Eq, Int -> JSBinOp -> ShowS
[JSBinOp] -> ShowS
JSBinOp -> String
(Int -> JSBinOp -> ShowS)
-> (JSBinOp -> String) -> ([JSBinOp] -> ShowS) -> Show JSBinOp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSBinOp] -> ShowS
$cshowList :: [JSBinOp] -> ShowS
show :: JSBinOp -> String
$cshow :: JSBinOp -> String
showsPrec :: Int -> JSBinOp -> ShowS
$cshowsPrec :: Int -> JSBinOp -> ShowS
Show, Typeable)
data JSUnaryOp
= JSUnaryOpDecr !JSAnnot
| JSUnaryOpDelete !JSAnnot
| JSUnaryOpIncr !JSAnnot
| JSUnaryOpMinus !JSAnnot
| JSUnaryOpNot !JSAnnot
| JSUnaryOpPlus !JSAnnot
| JSUnaryOpTilde !JSAnnot
| JSUnaryOpTypeof !JSAnnot
| JSUnaryOpVoid !JSAnnot
deriving (Typeable JSUnaryOp
Constr
DataType
Typeable JSUnaryOp =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSUnaryOp)
-> (JSUnaryOp -> Constr)
-> (JSUnaryOp -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSUnaryOp))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSUnaryOp))
-> ((forall b. Data b => b -> b) -> JSUnaryOp -> JSUnaryOp)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSUnaryOp -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSUnaryOp -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp)
-> Data JSUnaryOp
JSUnaryOp -> Constr
JSUnaryOp -> DataType
(forall b. Data b => b -> b) -> JSUnaryOp -> JSUnaryOp
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSUnaryOp
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSUnaryOp -> u
forall u. (forall d. Data d => d -> u) -> JSUnaryOp -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSUnaryOp
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSUnaryOp)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSUnaryOp)
$cJSUnaryOpVoid :: Constr
$cJSUnaryOpTypeof :: Constr
$cJSUnaryOpTilde :: Constr
$cJSUnaryOpPlus :: Constr
$cJSUnaryOpNot :: Constr
$cJSUnaryOpMinus :: Constr
$cJSUnaryOpIncr :: Constr
$cJSUnaryOpDelete :: Constr
$cJSUnaryOpDecr :: Constr
$tJSUnaryOp :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
gmapMp :: (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
gmapM :: (forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSUnaryOp -> m JSUnaryOp
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSUnaryOp -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSUnaryOp -> u
gmapQ :: (forall d. Data d => d -> u) -> JSUnaryOp -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSUnaryOp -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSUnaryOp -> r
gmapT :: (forall b. Data b => b -> b) -> JSUnaryOp -> JSUnaryOp
$cgmapT :: (forall b. Data b => b -> b) -> JSUnaryOp -> JSUnaryOp
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSUnaryOp)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSUnaryOp)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSUnaryOp)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSUnaryOp)
dataTypeOf :: JSUnaryOp -> DataType
$cdataTypeOf :: JSUnaryOp -> DataType
toConstr :: JSUnaryOp -> Constr
$ctoConstr :: JSUnaryOp -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSUnaryOp
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSUnaryOp
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSUnaryOp -> c JSUnaryOp
$cp1Data :: Typeable JSUnaryOp
Data, JSUnaryOp -> JSUnaryOp -> Bool
(JSUnaryOp -> JSUnaryOp -> Bool)
-> (JSUnaryOp -> JSUnaryOp -> Bool) -> Eq JSUnaryOp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSUnaryOp -> JSUnaryOp -> Bool
$c/= :: JSUnaryOp -> JSUnaryOp -> Bool
== :: JSUnaryOp -> JSUnaryOp -> Bool
$c== :: JSUnaryOp -> JSUnaryOp -> Bool
Eq, Int -> JSUnaryOp -> ShowS
[JSUnaryOp] -> ShowS
JSUnaryOp -> String
(Int -> JSUnaryOp -> ShowS)
-> (JSUnaryOp -> String)
-> ([JSUnaryOp] -> ShowS)
-> Show JSUnaryOp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSUnaryOp] -> ShowS
$cshowList :: [JSUnaryOp] -> ShowS
show :: JSUnaryOp -> String
$cshow :: JSUnaryOp -> String
showsPrec :: Int -> JSUnaryOp -> ShowS
$cshowsPrec :: Int -> JSUnaryOp -> ShowS
Show, Typeable)
data JSSemi
= JSSemi !JSAnnot
| JSSemiAuto
deriving (Typeable JSSemi
Constr
DataType
Typeable JSSemi =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSemi -> c JSSemi)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSemi)
-> (JSSemi -> Constr)
-> (JSSemi -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSemi))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSemi))
-> ((forall b. Data b => b -> b) -> JSSemi -> JSSemi)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSSemi -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSSemi -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSSemi -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSSemi -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi)
-> Data JSSemi
JSSemi -> Constr
JSSemi -> DataType
(forall b. Data b => b -> b) -> JSSemi -> JSSemi
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSemi -> c JSSemi
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSemi
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSSemi -> u
forall u. (forall d. Data d => d -> u) -> JSSemi -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSemi
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSemi -> c JSSemi
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSemi)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSemi)
$cJSSemiAuto :: Constr
$cJSSemi :: Constr
$tJSSemi :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
gmapMp :: (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
gmapM :: (forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSemi -> m JSSemi
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSSemi -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSSemi -> u
gmapQ :: (forall d. Data d => d -> u) -> JSSemi -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSSemi -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JSSemi -> r
gmapT :: (forall b. Data b => b -> b) -> JSSemi -> JSSemi
$cgmapT :: (forall b. Data b => b -> b) -> JSSemi -> JSSemi
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSemi)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSSemi)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSSemi)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSemi)
dataTypeOf :: JSSemi -> DataType
$cdataTypeOf :: JSSemi -> DataType
toConstr :: JSSemi -> Constr
$ctoConstr :: JSSemi -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSemi
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSemi
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSemi -> c JSSemi
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSemi -> c JSSemi
$cp1Data :: Typeable JSSemi
Data, JSSemi -> JSSemi -> Bool
(JSSemi -> JSSemi -> Bool)
-> (JSSemi -> JSSemi -> Bool) -> Eq JSSemi
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSSemi -> JSSemi -> Bool
$c/= :: JSSemi -> JSSemi -> Bool
== :: JSSemi -> JSSemi -> Bool
$c== :: JSSemi -> JSSemi -> Bool
Eq, Int -> JSSemi -> ShowS
[JSSemi] -> ShowS
JSSemi -> String
(Int -> JSSemi -> ShowS)
-> (JSSemi -> String) -> ([JSSemi] -> ShowS) -> Show JSSemi
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSSemi] -> ShowS
$cshowList :: [JSSemi] -> ShowS
show :: JSSemi -> String
$cshow :: JSSemi -> String
showsPrec :: Int -> JSSemi -> ShowS
$cshowsPrec :: Int -> JSSemi -> ShowS
Show, Typeable)
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
deriving (Typeable JSAssignOp
Constr
DataType
Typeable JSAssignOp =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAssignOp)
-> (JSAssignOp -> Constr)
-> (JSAssignOp -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAssignOp))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSAssignOp))
-> ((forall b. Data b => b -> b) -> JSAssignOp -> JSAssignOp)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSAssignOp -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSAssignOp -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp)
-> Data JSAssignOp
JSAssignOp -> Constr
JSAssignOp -> DataType
(forall b. Data b => b -> b) -> JSAssignOp -> JSAssignOp
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAssignOp
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSAssignOp -> u
forall u. (forall d. Data d => d -> u) -> JSAssignOp -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAssignOp
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAssignOp)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAssignOp)
$cJSBwOrAssign :: Constr
$cJSBwXorAssign :: Constr
$cJSBwAndAssign :: Constr
$cJSUrshAssign :: Constr
$cJSRshAssign :: Constr
$cJSLshAssign :: Constr
$cJSMinusAssign :: Constr
$cJSPlusAssign :: Constr
$cJSModAssign :: Constr
$cJSDivideAssign :: Constr
$cJSTimesAssign :: Constr
$cJSAssign :: Constr
$tJSAssignOp :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
gmapMp :: (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
gmapM :: (forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAssignOp -> m JSAssignOp
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAssignOp -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSAssignOp -> u
gmapQ :: (forall d. Data d => d -> u) -> JSAssignOp -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSAssignOp -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAssignOp -> r
gmapT :: (forall b. Data b => b -> b) -> JSAssignOp -> JSAssignOp
$cgmapT :: (forall b. Data b => b -> b) -> JSAssignOp -> JSAssignOp
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAssignOp)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAssignOp)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSAssignOp)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAssignOp)
dataTypeOf :: JSAssignOp -> DataType
$cdataTypeOf :: JSAssignOp -> DataType
toConstr :: JSAssignOp -> Constr
$ctoConstr :: JSAssignOp -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAssignOp
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAssignOp
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAssignOp -> c JSAssignOp
$cp1Data :: Typeable JSAssignOp
Data, JSAssignOp -> JSAssignOp -> Bool
(JSAssignOp -> JSAssignOp -> Bool)
-> (JSAssignOp -> JSAssignOp -> Bool) -> Eq JSAssignOp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSAssignOp -> JSAssignOp -> Bool
$c/= :: JSAssignOp -> JSAssignOp -> Bool
== :: JSAssignOp -> JSAssignOp -> Bool
$c== :: JSAssignOp -> JSAssignOp -> Bool
Eq, Int -> JSAssignOp -> ShowS
[JSAssignOp] -> ShowS
JSAssignOp -> String
(Int -> JSAssignOp -> ShowS)
-> (JSAssignOp -> String)
-> ([JSAssignOp] -> ShowS)
-> Show JSAssignOp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSAssignOp] -> ShowS
$cshowList :: [JSAssignOp] -> ShowS
show :: JSAssignOp -> String
$cshow :: JSAssignOp -> String
showsPrec :: Int -> JSAssignOp -> ShowS
$cshowsPrec :: Int -> JSAssignOp -> ShowS
Show, Typeable)
data JSTryCatch
= JSCatch !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSBlock
| JSCatchIf !JSAnnot !JSAnnot !JSExpression !JSAnnot !JSExpression !JSAnnot !JSBlock
deriving (Typeable JSTryCatch
Constr
DataType
Typeable JSTryCatch =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryCatch)
-> (JSTryCatch -> Constr)
-> (JSTryCatch -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryCatch))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTryCatch))
-> ((forall b. Data b => b -> b) -> JSTryCatch -> JSTryCatch)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSTryCatch -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSTryCatch -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch)
-> Data JSTryCatch
JSTryCatch -> Constr
JSTryCatch -> DataType
(forall b. Data b => b -> b) -> JSTryCatch -> JSTryCatch
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryCatch
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSTryCatch -> u
forall u. (forall d. Data d => d -> u) -> JSTryCatch -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryCatch
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryCatch)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTryCatch)
$cJSCatchIf :: Constr
$cJSCatch :: Constr
$tJSTryCatch :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
gmapMp :: (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
gmapM :: (forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryCatch -> m JSTryCatch
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTryCatch -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSTryCatch -> u
gmapQ :: (forall d. Data d => d -> u) -> JSTryCatch -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSTryCatch -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryCatch -> r
gmapT :: (forall b. Data b => b -> b) -> JSTryCatch -> JSTryCatch
$cgmapT :: (forall b. Data b => b -> b) -> JSTryCatch -> JSTryCatch
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTryCatch)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSTryCatch)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSTryCatch)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryCatch)
dataTypeOf :: JSTryCatch -> DataType
$cdataTypeOf :: JSTryCatch -> DataType
toConstr :: JSTryCatch -> Constr
$ctoConstr :: JSTryCatch -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryCatch
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryCatch
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryCatch -> c JSTryCatch
$cp1Data :: Typeable JSTryCatch
Data, JSTryCatch -> JSTryCatch -> Bool
(JSTryCatch -> JSTryCatch -> Bool)
-> (JSTryCatch -> JSTryCatch -> Bool) -> Eq JSTryCatch
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSTryCatch -> JSTryCatch -> Bool
$c/= :: JSTryCatch -> JSTryCatch -> Bool
== :: JSTryCatch -> JSTryCatch -> Bool
$c== :: JSTryCatch -> JSTryCatch -> Bool
Eq, Int -> JSTryCatch -> ShowS
[JSTryCatch] -> ShowS
JSTryCatch -> String
(Int -> JSTryCatch -> ShowS)
-> (JSTryCatch -> String)
-> ([JSTryCatch] -> ShowS)
-> Show JSTryCatch
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSTryCatch] -> ShowS
$cshowList :: [JSTryCatch] -> ShowS
show :: JSTryCatch -> String
$cshow :: JSTryCatch -> String
showsPrec :: Int -> JSTryCatch -> ShowS
$cshowsPrec :: Int -> JSTryCatch -> ShowS
Show, Typeable)
data JSTryFinally
= JSFinally !JSAnnot !JSBlock
| JSNoFinally
deriving (Typeable JSTryFinally
Constr
DataType
Typeable JSTryFinally =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryFinally)
-> (JSTryFinally -> Constr)
-> (JSTryFinally -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryFinally))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTryFinally))
-> ((forall b. Data b => b -> b) -> JSTryFinally -> JSTryFinally)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSTryFinally -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSTryFinally -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally)
-> Data JSTryFinally
JSTryFinally -> Constr
JSTryFinally -> DataType
(forall b. Data b => b -> b) -> JSTryFinally -> JSTryFinally
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryFinally
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSTryFinally -> u
forall u. (forall d. Data d => d -> u) -> JSTryFinally -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryFinally
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryFinally)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTryFinally)
$cJSNoFinally :: Constr
$cJSFinally :: Constr
$tJSTryFinally :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
gmapMp :: (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
gmapM :: (forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSTryFinally -> m JSTryFinally
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTryFinally -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSTryFinally -> u
gmapQ :: (forall d. Data d => d -> u) -> JSTryFinally -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSTryFinally -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTryFinally -> r
gmapT :: (forall b. Data b => b -> b) -> JSTryFinally -> JSTryFinally
$cgmapT :: (forall b. Data b => b -> b) -> JSTryFinally -> JSTryFinally
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTryFinally)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTryFinally)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSTryFinally)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTryFinally)
dataTypeOf :: JSTryFinally -> DataType
$cdataTypeOf :: JSTryFinally -> DataType
toConstr :: JSTryFinally -> Constr
$ctoConstr :: JSTryFinally -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryFinally
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTryFinally
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTryFinally -> c JSTryFinally
$cp1Data :: Typeable JSTryFinally
Data, JSTryFinally -> JSTryFinally -> Bool
(JSTryFinally -> JSTryFinally -> Bool)
-> (JSTryFinally -> JSTryFinally -> Bool) -> Eq JSTryFinally
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSTryFinally -> JSTryFinally -> Bool
$c/= :: JSTryFinally -> JSTryFinally -> Bool
== :: JSTryFinally -> JSTryFinally -> Bool
$c== :: JSTryFinally -> JSTryFinally -> Bool
Eq, Int -> JSTryFinally -> ShowS
[JSTryFinally] -> ShowS
JSTryFinally -> String
(Int -> JSTryFinally -> ShowS)
-> (JSTryFinally -> String)
-> ([JSTryFinally] -> ShowS)
-> Show JSTryFinally
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSTryFinally] -> ShowS
$cshowList :: [JSTryFinally] -> ShowS
show :: JSTryFinally -> String
$cshow :: JSTryFinally -> String
showsPrec :: Int -> JSTryFinally -> ShowS
$cshowsPrec :: Int -> JSTryFinally -> ShowS
Show, Typeable)
data JSBlock
= JSBlock !JSAnnot ![JSStatement] !JSAnnot
deriving (Typeable JSBlock
Constr
DataType
Typeable JSBlock =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBlock -> c JSBlock)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBlock)
-> (JSBlock -> Constr)
-> (JSBlock -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBlock))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBlock))
-> ((forall b. Data b => b -> b) -> JSBlock -> JSBlock)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSBlock -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSBlock -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock)
-> Data JSBlock
JSBlock -> Constr
JSBlock -> DataType
(forall b. Data b => b -> b) -> JSBlock -> JSBlock
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBlock -> c JSBlock
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBlock
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSBlock -> u
forall u. (forall d. Data d => d -> u) -> JSBlock -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBlock
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBlock -> c JSBlock
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBlock)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBlock)
$cJSBlock :: Constr
$tJSBlock :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
gmapMp :: (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
gmapM :: (forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSBlock -> m JSBlock
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSBlock -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSBlock -> u
gmapQ :: (forall d. Data d => d -> u) -> JSBlock -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSBlock -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSBlock -> r
gmapT :: (forall b. Data b => b -> b) -> JSBlock -> JSBlock
$cgmapT :: (forall b. Data b => b -> b) -> JSBlock -> JSBlock
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBlock)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSBlock)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSBlock)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSBlock)
dataTypeOf :: JSBlock -> DataType
$cdataTypeOf :: JSBlock -> DataType
toConstr :: JSBlock -> Constr
$ctoConstr :: JSBlock -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBlock
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSBlock
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBlock -> c JSBlock
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSBlock -> c JSBlock
$cp1Data :: Typeable JSBlock
Data, JSBlock -> JSBlock -> Bool
(JSBlock -> JSBlock -> Bool)
-> (JSBlock -> JSBlock -> Bool) -> Eq JSBlock
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSBlock -> JSBlock -> Bool
$c/= :: JSBlock -> JSBlock -> Bool
== :: JSBlock -> JSBlock -> Bool
$c== :: JSBlock -> JSBlock -> Bool
Eq, Int -> JSBlock -> ShowS
[JSBlock] -> ShowS
JSBlock -> String
(Int -> JSBlock -> ShowS)
-> (JSBlock -> String) -> ([JSBlock] -> ShowS) -> Show JSBlock
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSBlock] -> ShowS
$cshowList :: [JSBlock] -> ShowS
show :: JSBlock -> String
$cshow :: JSBlock -> String
showsPrec :: Int -> JSBlock -> ShowS
$cshowsPrec :: Int -> JSBlock -> ShowS
Show, Typeable)
data JSSwitchParts
= JSCase !JSAnnot !JSExpression !JSAnnot ![JSStatement]
| JSDefault !JSAnnot !JSAnnot ![JSStatement]
deriving (Typeable JSSwitchParts
Constr
DataType
Typeable JSSwitchParts =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSwitchParts)
-> (JSSwitchParts -> Constr)
-> (JSSwitchParts -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSwitchParts))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSSwitchParts))
-> ((forall b. Data b => b -> b) -> JSSwitchParts -> JSSwitchParts)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSSwitchParts -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSSwitchParts -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts)
-> Data JSSwitchParts
JSSwitchParts -> Constr
JSSwitchParts -> DataType
(forall b. Data b => b -> b) -> JSSwitchParts -> JSSwitchParts
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSwitchParts
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSSwitchParts -> u
forall u. (forall d. Data d => d -> u) -> JSSwitchParts -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSwitchParts
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSwitchParts)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSSwitchParts)
$cJSDefault :: Constr
$cJSCase :: Constr
$tJSSwitchParts :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
gmapMp :: (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
gmapM :: (forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSSwitchParts -> m JSSwitchParts
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSSwitchParts -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSSwitchParts -> u
gmapQ :: (forall d. Data d => d -> u) -> JSSwitchParts -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSSwitchParts -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSSwitchParts -> r
gmapT :: (forall b. Data b => b -> b) -> JSSwitchParts -> JSSwitchParts
$cgmapT :: (forall b. Data b => b -> b) -> JSSwitchParts -> JSSwitchParts
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSSwitchParts)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSSwitchParts)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSSwitchParts)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSSwitchParts)
dataTypeOf :: JSSwitchParts -> DataType
$cdataTypeOf :: JSSwitchParts -> DataType
toConstr :: JSSwitchParts -> Constr
$ctoConstr :: JSSwitchParts -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSwitchParts
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSSwitchParts
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSSwitchParts -> c JSSwitchParts
$cp1Data :: Typeable JSSwitchParts
Data, JSSwitchParts -> JSSwitchParts -> Bool
(JSSwitchParts -> JSSwitchParts -> Bool)
-> (JSSwitchParts -> JSSwitchParts -> Bool) -> Eq JSSwitchParts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSSwitchParts -> JSSwitchParts -> Bool
$c/= :: JSSwitchParts -> JSSwitchParts -> Bool
== :: JSSwitchParts -> JSSwitchParts -> Bool
$c== :: JSSwitchParts -> JSSwitchParts -> Bool
Eq, Int -> JSSwitchParts -> ShowS
[JSSwitchParts] -> ShowS
JSSwitchParts -> String
(Int -> JSSwitchParts -> ShowS)
-> (JSSwitchParts -> String)
-> ([JSSwitchParts] -> ShowS)
-> Show JSSwitchParts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSSwitchParts] -> ShowS
$cshowList :: [JSSwitchParts] -> ShowS
show :: JSSwitchParts -> String
$cshow :: JSSwitchParts -> String
showsPrec :: Int -> JSSwitchParts -> ShowS
$cshowsPrec :: Int -> JSSwitchParts -> ShowS
Show, Typeable)
data JSVarInitializer
= JSVarInit !JSAnnot !JSExpression
| JSVarInitNone
deriving (Typeable JSVarInitializer
Constr
DataType
Typeable JSVarInitializer =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSVarInitializer)
-> (JSVarInitializer -> Constr)
-> (JSVarInitializer -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSVarInitializer))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSVarInitializer))
-> ((forall b. Data b => b -> b)
-> JSVarInitializer -> JSVarInitializer)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSVarInitializer -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSVarInitializer -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer)
-> Data JSVarInitializer
JSVarInitializer -> Constr
JSVarInitializer -> DataType
(forall b. Data b => b -> b)
-> JSVarInitializer -> JSVarInitializer
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSVarInitializer
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSVarInitializer -> u
forall u. (forall d. Data d => d -> u) -> JSVarInitializer -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSVarInitializer
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSVarInitializer)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSVarInitializer)
$cJSVarInitNone :: Constr
$cJSVarInit :: Constr
$tJSVarInitializer :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
gmapMp :: (forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
gmapM :: (forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSVarInitializer -> m JSVarInitializer
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSVarInitializer -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSVarInitializer -> u
gmapQ :: (forall d. Data d => d -> u) -> JSVarInitializer -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSVarInitializer -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSVarInitializer -> r
gmapT :: (forall b. Data b => b -> b)
-> JSVarInitializer -> JSVarInitializer
$cgmapT :: (forall b. Data b => b -> b)
-> JSVarInitializer -> JSVarInitializer
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSVarInitializer)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSVarInitializer)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSVarInitializer)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSVarInitializer)
dataTypeOf :: JSVarInitializer -> DataType
$cdataTypeOf :: JSVarInitializer -> DataType
toConstr :: JSVarInitializer -> Constr
$ctoConstr :: JSVarInitializer -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSVarInitializer
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSVarInitializer
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSVarInitializer -> c JSVarInitializer
$cp1Data :: Typeable JSVarInitializer
Data, JSVarInitializer -> JSVarInitializer -> Bool
(JSVarInitializer -> JSVarInitializer -> Bool)
-> (JSVarInitializer -> JSVarInitializer -> Bool)
-> Eq JSVarInitializer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSVarInitializer -> JSVarInitializer -> Bool
$c/= :: JSVarInitializer -> JSVarInitializer -> Bool
== :: JSVarInitializer -> JSVarInitializer -> Bool
$c== :: JSVarInitializer -> JSVarInitializer -> Bool
Eq, Int -> JSVarInitializer -> ShowS
[JSVarInitializer] -> ShowS
JSVarInitializer -> String
(Int -> JSVarInitializer -> ShowS)
-> (JSVarInitializer -> String)
-> ([JSVarInitializer] -> ShowS)
-> Show JSVarInitializer
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSVarInitializer] -> ShowS
$cshowList :: [JSVarInitializer] -> ShowS
show :: JSVarInitializer -> String
$cshow :: JSVarInitializer -> String
showsPrec :: Int -> JSVarInitializer -> ShowS
$cshowsPrec :: Int -> JSVarInitializer -> ShowS
Show, Typeable)
data JSObjectProperty
= JSPropertyNameandValue !JSPropertyName !JSAnnot ![JSExpression]
| JSPropertyIdentRef !JSAnnot !String
| JSObjectMethod !JSMethodDefinition
deriving (Typeable JSObjectProperty
Constr
DataType
Typeable JSObjectProperty =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSObjectProperty)
-> (JSObjectProperty -> Constr)
-> (JSObjectProperty -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSObjectProperty))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSObjectProperty))
-> ((forall b. Data b => b -> b)
-> JSObjectProperty -> JSObjectProperty)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSObjectProperty -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSObjectProperty -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty)
-> Data JSObjectProperty
JSObjectProperty -> Constr
JSObjectProperty -> DataType
(forall b. Data b => b -> b)
-> JSObjectProperty -> JSObjectProperty
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSObjectProperty
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSObjectProperty -> u
forall u. (forall d. Data d => d -> u) -> JSObjectProperty -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSObjectProperty
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSObjectProperty)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSObjectProperty)
$cJSObjectMethod :: Constr
$cJSPropertyIdentRef :: Constr
$cJSPropertyNameandValue :: Constr
$tJSObjectProperty :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
gmapMp :: (forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
gmapM :: (forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSObjectProperty -> m JSObjectProperty
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSObjectProperty -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSObjectProperty -> u
gmapQ :: (forall d. Data d => d -> u) -> JSObjectProperty -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSObjectProperty -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSObjectProperty -> r
gmapT :: (forall b. Data b => b -> b)
-> JSObjectProperty -> JSObjectProperty
$cgmapT :: (forall b. Data b => b -> b)
-> JSObjectProperty -> JSObjectProperty
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSObjectProperty)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSObjectProperty)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSObjectProperty)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSObjectProperty)
dataTypeOf :: JSObjectProperty -> DataType
$cdataTypeOf :: JSObjectProperty -> DataType
toConstr :: JSObjectProperty -> Constr
$ctoConstr :: JSObjectProperty -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSObjectProperty
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSObjectProperty
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSObjectProperty -> c JSObjectProperty
$cp1Data :: Typeable JSObjectProperty
Data, JSObjectProperty -> JSObjectProperty -> Bool
(JSObjectProperty -> JSObjectProperty -> Bool)
-> (JSObjectProperty -> JSObjectProperty -> Bool)
-> Eq JSObjectProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSObjectProperty -> JSObjectProperty -> Bool
$c/= :: JSObjectProperty -> JSObjectProperty -> Bool
== :: JSObjectProperty -> JSObjectProperty -> Bool
$c== :: JSObjectProperty -> JSObjectProperty -> Bool
Eq, Int -> JSObjectProperty -> ShowS
[JSObjectProperty] -> ShowS
JSObjectProperty -> String
(Int -> JSObjectProperty -> ShowS)
-> (JSObjectProperty -> String)
-> ([JSObjectProperty] -> ShowS)
-> Show JSObjectProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSObjectProperty] -> ShowS
$cshowList :: [JSObjectProperty] -> ShowS
show :: JSObjectProperty -> String
$cshow :: JSObjectProperty -> String
showsPrec :: Int -> JSObjectProperty -> ShowS
$cshowsPrec :: Int -> JSObjectProperty -> ShowS
Show, Typeable)
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
deriving (Typeable JSMethodDefinition
Constr
DataType
Typeable JSMethodDefinition =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSMethodDefinition
-> c JSMethodDefinition)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSMethodDefinition)
-> (JSMethodDefinition -> Constr)
-> (JSMethodDefinition -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSMethodDefinition))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSMethodDefinition))
-> ((forall b. Data b => b -> b)
-> JSMethodDefinition -> JSMethodDefinition)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSMethodDefinition -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSMethodDefinition -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition)
-> Data JSMethodDefinition
JSMethodDefinition -> Constr
JSMethodDefinition -> DataType
(forall b. Data b => b -> b)
-> JSMethodDefinition -> JSMethodDefinition
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSMethodDefinition
-> c JSMethodDefinition
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSMethodDefinition
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSMethodDefinition -> u
forall u. (forall d. Data d => d -> u) -> JSMethodDefinition -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSMethodDefinition
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSMethodDefinition
-> c JSMethodDefinition
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSMethodDefinition)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSMethodDefinition)
$cJSPropertyAccessor :: Constr
$cJSGeneratorMethodDefinition :: Constr
$cJSMethodDefinition :: Constr
$tJSMethodDefinition :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
gmapMp :: (forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
gmapM :: (forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSMethodDefinition -> m JSMethodDefinition
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSMethodDefinition -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSMethodDefinition -> u
gmapQ :: (forall d. Data d => d -> u) -> JSMethodDefinition -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSMethodDefinition -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSMethodDefinition -> r
gmapT :: (forall b. Data b => b -> b)
-> JSMethodDefinition -> JSMethodDefinition
$cgmapT :: (forall b. Data b => b -> b)
-> JSMethodDefinition -> JSMethodDefinition
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSMethodDefinition)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSMethodDefinition)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSMethodDefinition)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSMethodDefinition)
dataTypeOf :: JSMethodDefinition -> DataType
$cdataTypeOf :: JSMethodDefinition -> DataType
toConstr :: JSMethodDefinition -> Constr
$ctoConstr :: JSMethodDefinition -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSMethodDefinition
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSMethodDefinition
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSMethodDefinition
-> c JSMethodDefinition
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSMethodDefinition
-> c JSMethodDefinition
$cp1Data :: Typeable JSMethodDefinition
Data, JSMethodDefinition -> JSMethodDefinition -> Bool
(JSMethodDefinition -> JSMethodDefinition -> Bool)
-> (JSMethodDefinition -> JSMethodDefinition -> Bool)
-> Eq JSMethodDefinition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSMethodDefinition -> JSMethodDefinition -> Bool
$c/= :: JSMethodDefinition -> JSMethodDefinition -> Bool
== :: JSMethodDefinition -> JSMethodDefinition -> Bool
$c== :: JSMethodDefinition -> JSMethodDefinition -> Bool
Eq, Int -> JSMethodDefinition -> ShowS
[JSMethodDefinition] -> ShowS
JSMethodDefinition -> String
(Int -> JSMethodDefinition -> ShowS)
-> (JSMethodDefinition -> String)
-> ([JSMethodDefinition] -> ShowS)
-> Show JSMethodDefinition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSMethodDefinition] -> ShowS
$cshowList :: [JSMethodDefinition] -> ShowS
show :: JSMethodDefinition -> String
$cshow :: JSMethodDefinition -> String
showsPrec :: Int -> JSMethodDefinition -> ShowS
$cshowsPrec :: Int -> JSMethodDefinition -> ShowS
Show, Typeable)
data JSPropertyName
= JSPropertyIdent !JSAnnot !String
| JSPropertyString !JSAnnot !String
| JSPropertyNumber !JSAnnot !String
| JSPropertyComputed !JSAnnot !JSExpression !JSAnnot
deriving (Typeable JSPropertyName
Constr
DataType
Typeable JSPropertyName =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSPropertyName)
-> (JSPropertyName -> Constr)
-> (JSPropertyName -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSPropertyName))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSPropertyName))
-> ((forall b. Data b => b -> b)
-> JSPropertyName -> JSPropertyName)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSPropertyName -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSPropertyName -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName)
-> Data JSPropertyName
JSPropertyName -> Constr
JSPropertyName -> DataType
(forall b. Data b => b -> b) -> JSPropertyName -> JSPropertyName
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSPropertyName
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSPropertyName -> u
forall u. (forall d. Data d => d -> u) -> JSPropertyName -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSPropertyName
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSPropertyName)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSPropertyName)
$cJSPropertyComputed :: Constr
$cJSPropertyNumber :: Constr
$cJSPropertyString :: Constr
$cJSPropertyIdent :: Constr
$tJSPropertyName :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
gmapMp :: (forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
gmapM :: (forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSPropertyName -> m JSPropertyName
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSPropertyName -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSPropertyName -> u
gmapQ :: (forall d. Data d => d -> u) -> JSPropertyName -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSPropertyName -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSPropertyName -> r
gmapT :: (forall b. Data b => b -> b) -> JSPropertyName -> JSPropertyName
$cgmapT :: (forall b. Data b => b -> b) -> JSPropertyName -> JSPropertyName
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSPropertyName)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSPropertyName)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSPropertyName)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSPropertyName)
dataTypeOf :: JSPropertyName -> DataType
$cdataTypeOf :: JSPropertyName -> DataType
toConstr :: JSPropertyName -> Constr
$ctoConstr :: JSPropertyName -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSPropertyName
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSPropertyName
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSPropertyName -> c JSPropertyName
$cp1Data :: Typeable JSPropertyName
Data, JSPropertyName -> JSPropertyName -> Bool
(JSPropertyName -> JSPropertyName -> Bool)
-> (JSPropertyName -> JSPropertyName -> Bool) -> Eq JSPropertyName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSPropertyName -> JSPropertyName -> Bool
$c/= :: JSPropertyName -> JSPropertyName -> Bool
== :: JSPropertyName -> JSPropertyName -> Bool
$c== :: JSPropertyName -> JSPropertyName -> Bool
Eq, Int -> JSPropertyName -> ShowS
[JSPropertyName] -> ShowS
JSPropertyName -> String
(Int -> JSPropertyName -> ShowS)
-> (JSPropertyName -> String)
-> ([JSPropertyName] -> ShowS)
-> Show JSPropertyName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSPropertyName] -> ShowS
$cshowList :: [JSPropertyName] -> ShowS
show :: JSPropertyName -> String
$cshow :: JSPropertyName -> String
showsPrec :: Int -> JSPropertyName -> ShowS
$cshowsPrec :: Int -> JSPropertyName -> ShowS
Show, Typeable)
type JSObjectPropertyList = JSCommaTrailingList JSObjectProperty
data JSAccessor
= JSAccessorGet !JSAnnot
| JSAccessorSet !JSAnnot
deriving (Typeable JSAccessor
Constr
DataType
Typeable JSAccessor =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAccessor -> c JSAccessor)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAccessor)
-> (JSAccessor -> Constr)
-> (JSAccessor -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAccessor))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSAccessor))
-> ((forall b. Data b => b -> b) -> JSAccessor -> JSAccessor)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSAccessor -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSAccessor -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor)
-> Data JSAccessor
JSAccessor -> Constr
JSAccessor -> DataType
(forall b. Data b => b -> b) -> JSAccessor -> JSAccessor
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAccessor -> c JSAccessor
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAccessor
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSAccessor -> u
forall u. (forall d. Data d => d -> u) -> JSAccessor -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAccessor
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAccessor -> c JSAccessor
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAccessor)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAccessor)
$cJSAccessorSet :: Constr
$cJSAccessorGet :: Constr
$tJSAccessor :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
gmapMp :: (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
gmapM :: (forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSAccessor -> m JSAccessor
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSAccessor -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSAccessor -> u
gmapQ :: (forall d. Data d => d -> u) -> JSAccessor -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSAccessor -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSAccessor -> r
gmapT :: (forall b. Data b => b -> b) -> JSAccessor -> JSAccessor
$cgmapT :: (forall b. Data b => b -> b) -> JSAccessor -> JSAccessor
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAccessor)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSAccessor)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSAccessor)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSAccessor)
dataTypeOf :: JSAccessor -> DataType
$cdataTypeOf :: JSAccessor -> DataType
toConstr :: JSAccessor -> Constr
$ctoConstr :: JSAccessor -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAccessor
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSAccessor
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAccessor -> c JSAccessor
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSAccessor -> c JSAccessor
$cp1Data :: Typeable JSAccessor
Data, JSAccessor -> JSAccessor -> Bool
(JSAccessor -> JSAccessor -> Bool)
-> (JSAccessor -> JSAccessor -> Bool) -> Eq JSAccessor
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSAccessor -> JSAccessor -> Bool
$c/= :: JSAccessor -> JSAccessor -> Bool
== :: JSAccessor -> JSAccessor -> Bool
$c== :: JSAccessor -> JSAccessor -> Bool
Eq, Int -> JSAccessor -> ShowS
[JSAccessor] -> ShowS
JSAccessor -> String
(Int -> JSAccessor -> ShowS)
-> (JSAccessor -> String)
-> ([JSAccessor] -> ShowS)
-> Show JSAccessor
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSAccessor] -> ShowS
$cshowList :: [JSAccessor] -> ShowS
show :: JSAccessor -> String
$cshow :: JSAccessor -> String
showsPrec :: Int -> JSAccessor -> ShowS
$cshowsPrec :: Int -> JSAccessor -> ShowS
Show, Typeable)
data JSIdent
= JSIdentName !JSAnnot !String
| JSIdentNone
deriving (Typeable JSIdent
Constr
DataType
Typeable JSIdent =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSIdent -> c JSIdent)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSIdent)
-> (JSIdent -> Constr)
-> (JSIdent -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSIdent))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSIdent))
-> ((forall b. Data b => b -> b) -> JSIdent -> JSIdent)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSIdent -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> JSIdent -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent)
-> Data JSIdent
JSIdent -> Constr
JSIdent -> DataType
(forall b. Data b => b -> b) -> JSIdent -> JSIdent
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSIdent -> c JSIdent
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSIdent
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSIdent -> u
forall u. (forall d. Data d => d -> u) -> JSIdent -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSIdent
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSIdent -> c JSIdent
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSIdent)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSIdent)
$cJSIdentNone :: Constr
$cJSIdentName :: Constr
$tJSIdent :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
gmapMp :: (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
gmapM :: (forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> JSIdent -> m JSIdent
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSIdent -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JSIdent -> u
gmapQ :: (forall d. Data d => d -> u) -> JSIdent -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSIdent -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSIdent -> r
gmapT :: (forall b. Data b => b -> b) -> JSIdent -> JSIdent
$cgmapT :: (forall b. Data b => b -> b) -> JSIdent -> JSIdent
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSIdent)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JSIdent)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSIdent)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSIdent)
dataTypeOf :: JSIdent -> DataType
$cdataTypeOf :: JSIdent -> DataType
toConstr :: JSIdent -> Constr
$ctoConstr :: JSIdent -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSIdent
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSIdent
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSIdent -> c JSIdent
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSIdent -> c JSIdent
$cp1Data :: Typeable JSIdent
Data, JSIdent -> JSIdent -> Bool
(JSIdent -> JSIdent -> Bool)
-> (JSIdent -> JSIdent -> Bool) -> Eq JSIdent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSIdent -> JSIdent -> Bool
$c/= :: JSIdent -> JSIdent -> Bool
== :: JSIdent -> JSIdent -> Bool
$c== :: JSIdent -> JSIdent -> Bool
Eq, Int -> JSIdent -> ShowS
[JSIdent] -> ShowS
JSIdent -> String
(Int -> JSIdent -> ShowS)
-> (JSIdent -> String) -> ([JSIdent] -> ShowS) -> Show JSIdent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSIdent] -> ShowS
$cshowList :: [JSIdent] -> ShowS
show :: JSIdent -> String
$cshow :: JSIdent -> String
showsPrec :: Int -> JSIdent -> ShowS
$cshowsPrec :: Int -> JSIdent -> ShowS
Show, Typeable)
data JSArrayElement
= JSArrayElement !JSExpression
| JSArrayComma !JSAnnot
deriving (Typeable JSArrayElement
Constr
DataType
Typeable JSArrayElement =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrayElement)
-> (JSArrayElement -> Constr)
-> (JSArrayElement -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrayElement))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrayElement))
-> ((forall b. Data b => b -> b)
-> JSArrayElement -> JSArrayElement)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSArrayElement -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSArrayElement -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement)
-> Data JSArrayElement
JSArrayElement -> Constr
JSArrayElement -> DataType
(forall b. Data b => b -> b) -> JSArrayElement -> JSArrayElement
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrayElement
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSArrayElement -> u
forall u. (forall d. Data d => d -> u) -> JSArrayElement -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrayElement
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrayElement)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrayElement)
$cJSArrayComma :: Constr
$cJSArrayElement :: Constr
$tJSArrayElement :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
gmapMp :: (forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
gmapM :: (forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSArrayElement -> m JSArrayElement
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSArrayElement -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSArrayElement -> u
gmapQ :: (forall d. Data d => d -> u) -> JSArrayElement -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSArrayElement -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSArrayElement -> r
gmapT :: (forall b. Data b => b -> b) -> JSArrayElement -> JSArrayElement
$cgmapT :: (forall b. Data b => b -> b) -> JSArrayElement -> JSArrayElement
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrayElement)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSArrayElement)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSArrayElement)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSArrayElement)
dataTypeOf :: JSArrayElement -> DataType
$cdataTypeOf :: JSArrayElement -> DataType
toConstr :: JSArrayElement -> Constr
$ctoConstr :: JSArrayElement -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrayElement
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSArrayElement
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSArrayElement -> c JSArrayElement
$cp1Data :: Typeable JSArrayElement
Data, JSArrayElement -> JSArrayElement -> Bool
(JSArrayElement -> JSArrayElement -> Bool)
-> (JSArrayElement -> JSArrayElement -> Bool) -> Eq JSArrayElement
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSArrayElement -> JSArrayElement -> Bool
$c/= :: JSArrayElement -> JSArrayElement -> Bool
== :: JSArrayElement -> JSArrayElement -> Bool
$c== :: JSArrayElement -> JSArrayElement -> Bool
Eq, Int -> JSArrayElement -> ShowS
[JSArrayElement] -> ShowS
JSArrayElement -> String
(Int -> JSArrayElement -> ShowS)
-> (JSArrayElement -> String)
-> ([JSArrayElement] -> ShowS)
-> Show JSArrayElement
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSArrayElement] -> ShowS
$cshowList :: [JSArrayElement] -> ShowS
show :: JSArrayElement -> String
$cshow :: JSArrayElement -> String
showsPrec :: Int -> JSArrayElement -> ShowS
$cshowsPrec :: Int -> JSArrayElement -> ShowS
Show, Typeable)
data JSCommaList a
= JSLCons !(JSCommaList a) !JSAnnot !a
| JSLOne !a
| JSLNil
deriving (Typeable (JSCommaList a)
Constr
DataType
Typeable (JSCommaList a) =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a))
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a))
-> (JSCommaList a -> Constr)
-> (JSCommaList a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaList a)))
-> ((forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r)
-> (forall u. (forall d. Data d => d -> u) -> JSCommaList a -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a))
-> Data (JSCommaList a)
JSCommaList a -> Constr
JSCommaList a -> DataType
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a))
(forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a)
forall a. Data a => Typeable (JSCommaList a)
forall a. Data a => JSCommaList a -> Constr
forall a. Data a => JSCommaList a -> DataType
forall a.
Data a =>
(forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a
forall a u.
Data a =>
Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u
forall a u.
Data a =>
(forall d. Data d => d -> u) -> JSCommaList a -> [u]
forall a r r'.
Data a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
forall a r r'.
Data a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
forall a (m :: * -> *).
(Data a, Monad m) =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
forall a (c :: * -> *).
Data a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a)
forall a (c :: * -> *).
Data a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a)
forall a (t :: * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a))
forall a (t :: * -> * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaList a))
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u
forall u. (forall d. Data d => d -> u) -> JSCommaList a -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaList a))
$cJSLNil :: Constr
$cJSLOne :: Constr
$cJSLCons :: Constr
$tJSCommaList :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
$cgmapMo :: forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
gmapMp :: (forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
$cgmapMp :: forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
gmapM :: (forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
$cgmapM :: forall a (m :: * -> *).
(Data a, Monad m) =>
(forall d. Data d => d -> m d)
-> JSCommaList a -> m (JSCommaList a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u
$cgmapQi :: forall a u.
Data a =>
Int -> (forall d. Data d => d -> u) -> JSCommaList a -> u
gmapQ :: (forall d. Data d => d -> u) -> JSCommaList a -> [u]
$cgmapQ :: forall a u.
Data a =>
(forall d. Data d => d -> u) -> JSCommaList a -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
$cgmapQr :: forall a r r'.
Data a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
$cgmapQl :: forall a r r'.
Data a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaList a -> r
gmapT :: (forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a
$cgmapT :: forall a.
Data a =>
(forall b. Data b => b -> b) -> JSCommaList a -> JSCommaList a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaList a))
$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaList a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a))
$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaList a))
dataTypeOf :: JSCommaList a -> DataType
$cdataTypeOf :: forall a. Data a => JSCommaList a -> DataType
toConstr :: JSCommaList a -> Constr
$ctoConstr :: forall a. Data a => JSCommaList a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a)
$cgunfold :: forall a (c :: * -> *).
Data a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaList a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a)
$cgfoldl :: forall a (c :: * -> *).
Data a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSCommaList a -> c (JSCommaList a)
$cp1Data :: forall a. Data a => Typeable (JSCommaList a)
Data, JSCommaList a -> JSCommaList a -> Bool
(JSCommaList a -> JSCommaList a -> Bool)
-> (JSCommaList a -> JSCommaList a -> Bool) -> Eq (JSCommaList a)
forall a. Eq a => JSCommaList a -> JSCommaList a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSCommaList a -> JSCommaList a -> Bool
$c/= :: forall a. Eq a => JSCommaList a -> JSCommaList a -> Bool
== :: JSCommaList a -> JSCommaList a -> Bool
$c== :: forall a. Eq a => JSCommaList a -> JSCommaList a -> Bool
Eq, Int -> JSCommaList a -> ShowS
[JSCommaList a] -> ShowS
JSCommaList a -> String
(Int -> JSCommaList a -> ShowS)
-> (JSCommaList a -> String)
-> ([JSCommaList a] -> ShowS)
-> Show (JSCommaList a)
forall a. Show a => Int -> JSCommaList a -> ShowS
forall a. Show a => [JSCommaList a] -> ShowS
forall a. Show a => JSCommaList a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSCommaList a] -> ShowS
$cshowList :: forall a. Show a => [JSCommaList a] -> ShowS
show :: JSCommaList a -> String
$cshow :: forall a. Show a => JSCommaList a -> String
showsPrec :: Int -> JSCommaList a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> JSCommaList a -> ShowS
Show, Typeable)
data JSCommaTrailingList a
= JSCTLComma !(JSCommaList a) !JSAnnot
| JSCTLNone !(JSCommaList a)
deriving (Typeable (JSCommaTrailingList a)
Constr
DataType
Typeable (JSCommaTrailingList a) =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a))
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a))
-> (JSCommaTrailingList a -> Constr)
-> (JSCommaTrailingList a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaTrailingList a)))
-> ((forall b. Data b => b -> b)
-> JSCommaTrailingList a -> JSCommaTrailingList a)
-> (forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> JSCommaTrailingList a
-> r)
-> (forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> JSCommaTrailingList a
-> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a))
-> Data (JSCommaTrailingList a)
JSCommaTrailingList a -> Constr
JSCommaTrailingList a -> DataType
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a))
(forall b. Data b => b -> b)
-> JSCommaTrailingList a -> JSCommaTrailingList a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a)
forall a. Data a => Typeable (JSCommaTrailingList a)
forall a. Data a => JSCommaTrailingList a -> Constr
forall a. Data a => JSCommaTrailingList a -> DataType
forall a.
Data a =>
(forall b. Data b => b -> b)
-> JSCommaTrailingList a -> JSCommaTrailingList a
forall a u.
Data a =>
Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u
forall a u.
Data a =>
(forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u]
forall a r r'.
Data a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
forall a r r'.
Data a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
forall a (m :: * -> *).
(Data a, Monad m) =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
forall a (c :: * -> *).
Data a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a)
forall a (c :: * -> *).
Data a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a)
forall a (t :: * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a))
forall a (t :: * -> * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaTrailingList a))
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u
forall u.
(forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaTrailingList a))
$cJSCTLNone :: Constr
$cJSCTLComma :: Constr
$tJSCommaTrailingList :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
$cgmapMo :: forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
gmapMp :: (forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
$cgmapMp :: forall a (m :: * -> *).
(Data a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
gmapM :: (forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
$cgmapM :: forall a (m :: * -> *).
(Data a, Monad m) =>
(forall d. Data d => d -> m d)
-> JSCommaTrailingList a -> m (JSCommaTrailingList a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u
$cgmapQi :: forall a u.
Data a =>
Int -> (forall d. Data d => d -> u) -> JSCommaTrailingList a -> u
gmapQ :: (forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u]
$cgmapQ :: forall a u.
Data a =>
(forall d. Data d => d -> u) -> JSCommaTrailingList a -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
$cgmapQr :: forall a r r'.
Data a =>
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
$cgmapQl :: forall a r r'.
Data a =>
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSCommaTrailingList a -> r
gmapT :: (forall b. Data b => b -> b)
-> JSCommaTrailingList a -> JSCommaTrailingList a
$cgmapT :: forall a.
Data a =>
(forall b. Data b => b -> b)
-> JSCommaTrailingList a -> JSCommaTrailingList a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaTrailingList a))
$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (JSCommaTrailingList a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a))
$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
(Data a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (JSCommaTrailingList a))
dataTypeOf :: JSCommaTrailingList a -> DataType
$cdataTypeOf :: forall a. Data a => JSCommaTrailingList a -> DataType
toConstr :: JSCommaTrailingList a -> Constr
$ctoConstr :: forall a. Data a => JSCommaTrailingList a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a)
$cgunfold :: forall a (c :: * -> *).
Data a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (JSCommaTrailingList a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a)
$cgfoldl :: forall a (c :: * -> *).
Data a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> JSCommaTrailingList a
-> c (JSCommaTrailingList a)
$cp1Data :: forall a. Data a => Typeable (JSCommaTrailingList a)
Data, JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
(JSCommaTrailingList a -> JSCommaTrailingList a -> Bool)
-> (JSCommaTrailingList a -> JSCommaTrailingList a -> Bool)
-> Eq (JSCommaTrailingList a)
forall a.
Eq a =>
JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
$c/= :: forall a.
Eq a =>
JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
== :: JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
$c== :: forall a.
Eq a =>
JSCommaTrailingList a -> JSCommaTrailingList a -> Bool
Eq, Int -> JSCommaTrailingList a -> ShowS
[JSCommaTrailingList a] -> ShowS
JSCommaTrailingList a -> String
(Int -> JSCommaTrailingList a -> ShowS)
-> (JSCommaTrailingList a -> String)
-> ([JSCommaTrailingList a] -> ShowS)
-> Show (JSCommaTrailingList a)
forall a. Show a => Int -> JSCommaTrailingList a -> ShowS
forall a. Show a => [JSCommaTrailingList a] -> ShowS
forall a. Show a => JSCommaTrailingList a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSCommaTrailingList a] -> ShowS
$cshowList :: forall a. Show a => [JSCommaTrailingList a] -> ShowS
show :: JSCommaTrailingList a -> String
$cshow :: forall a. Show a => JSCommaTrailingList a -> String
showsPrec :: Int -> JSCommaTrailingList a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> JSCommaTrailingList a -> ShowS
Show, Typeable)
data JSTemplatePart
= JSTemplatePart !JSExpression !JSAnnot !String
deriving (Typeable JSTemplatePart
Constr
DataType
Typeable JSTemplatePart =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTemplatePart)
-> (JSTemplatePart -> Constr)
-> (JSTemplatePart -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTemplatePart))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTemplatePart))
-> ((forall b. Data b => b -> b)
-> JSTemplatePart -> JSTemplatePart)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSTemplatePart -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSTemplatePart -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart)
-> Data JSTemplatePart
JSTemplatePart -> Constr
JSTemplatePart -> DataType
(forall b. Data b => b -> b) -> JSTemplatePart -> JSTemplatePart
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTemplatePart
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSTemplatePart -> u
forall u. (forall d. Data d => d -> u) -> JSTemplatePart -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTemplatePart
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTemplatePart)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTemplatePart)
$cJSTemplatePart :: Constr
$tJSTemplatePart :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
gmapMp :: (forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
gmapM :: (forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSTemplatePart -> m JSTemplatePart
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSTemplatePart -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSTemplatePart -> u
gmapQ :: (forall d. Data d => d -> u) -> JSTemplatePart -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSTemplatePart -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSTemplatePart -> r
gmapT :: (forall b. Data b => b -> b) -> JSTemplatePart -> JSTemplatePart
$cgmapT :: (forall b. Data b => b -> b) -> JSTemplatePart -> JSTemplatePart
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTemplatePart)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSTemplatePart)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSTemplatePart)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSTemplatePart)
dataTypeOf :: JSTemplatePart -> DataType
$cdataTypeOf :: JSTemplatePart -> DataType
toConstr :: JSTemplatePart -> Constr
$ctoConstr :: JSTemplatePart -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTemplatePart
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSTemplatePart
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSTemplatePart -> c JSTemplatePart
$cp1Data :: Typeable JSTemplatePart
Data, JSTemplatePart -> JSTemplatePart -> Bool
(JSTemplatePart -> JSTemplatePart -> Bool)
-> (JSTemplatePart -> JSTemplatePart -> Bool) -> Eq JSTemplatePart
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSTemplatePart -> JSTemplatePart -> Bool
$c/= :: JSTemplatePart -> JSTemplatePart -> Bool
== :: JSTemplatePart -> JSTemplatePart -> Bool
$c== :: JSTemplatePart -> JSTemplatePart -> Bool
Eq, Int -> JSTemplatePart -> ShowS
[JSTemplatePart] -> ShowS
JSTemplatePart -> String
(Int -> JSTemplatePart -> ShowS)
-> (JSTemplatePart -> String)
-> ([JSTemplatePart] -> ShowS)
-> Show JSTemplatePart
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSTemplatePart] -> ShowS
$cshowList :: [JSTemplatePart] -> ShowS
show :: JSTemplatePart -> String
$cshow :: JSTemplatePart -> String
showsPrec :: Int -> JSTemplatePart -> ShowS
$cshowsPrec :: Int -> JSTemplatePart -> ShowS
Show, Typeable)
data JSClassHeritage
= JSExtends !JSAnnot !JSExpression
| JSExtendsNone
deriving (Typeable JSClassHeritage
Constr
DataType
Typeable JSClassHeritage =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassHeritage)
-> (JSClassHeritage -> Constr)
-> (JSClassHeritage -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassHeritage))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassHeritage))
-> ((forall b. Data b => b -> b)
-> JSClassHeritage -> JSClassHeritage)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSClassHeritage -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSClassHeritage -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage)
-> Data JSClassHeritage
JSClassHeritage -> Constr
JSClassHeritage -> DataType
(forall b. Data b => b -> b) -> JSClassHeritage -> JSClassHeritage
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassHeritage
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSClassHeritage -> u
forall u. (forall d. Data d => d -> u) -> JSClassHeritage -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassHeritage
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassHeritage)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassHeritage)
$cJSExtendsNone :: Constr
$cJSExtends :: Constr
$tJSClassHeritage :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
gmapMp :: (forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
gmapM :: (forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassHeritage -> m JSClassHeritage
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSClassHeritage -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSClassHeritage -> u
gmapQ :: (forall d. Data d => d -> u) -> JSClassHeritage -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSClassHeritage -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassHeritage -> r
gmapT :: (forall b. Data b => b -> b) -> JSClassHeritage -> JSClassHeritage
$cgmapT :: (forall b. Data b => b -> b) -> JSClassHeritage -> JSClassHeritage
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassHeritage)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassHeritage)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSClassHeritage)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassHeritage)
dataTypeOf :: JSClassHeritage -> DataType
$cdataTypeOf :: JSClassHeritage -> DataType
toConstr :: JSClassHeritage -> Constr
$ctoConstr :: JSClassHeritage -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassHeritage
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassHeritage
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassHeritage -> c JSClassHeritage
$cp1Data :: Typeable JSClassHeritage
Data, JSClassHeritage -> JSClassHeritage -> Bool
(JSClassHeritage -> JSClassHeritage -> Bool)
-> (JSClassHeritage -> JSClassHeritage -> Bool)
-> Eq JSClassHeritage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSClassHeritage -> JSClassHeritage -> Bool
$c/= :: JSClassHeritage -> JSClassHeritage -> Bool
== :: JSClassHeritage -> JSClassHeritage -> Bool
$c== :: JSClassHeritage -> JSClassHeritage -> Bool
Eq, Int -> JSClassHeritage -> ShowS
[JSClassHeritage] -> ShowS
JSClassHeritage -> String
(Int -> JSClassHeritage -> ShowS)
-> (JSClassHeritage -> String)
-> ([JSClassHeritage] -> ShowS)
-> Show JSClassHeritage
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSClassHeritage] -> ShowS
$cshowList :: [JSClassHeritage] -> ShowS
show :: JSClassHeritage -> String
$cshow :: JSClassHeritage -> String
showsPrec :: Int -> JSClassHeritage -> ShowS
$cshowsPrec :: Int -> JSClassHeritage -> ShowS
Show, Typeable)
data JSClassElement
= JSClassInstanceMethod !JSMethodDefinition
| JSClassStaticMethod !JSAnnot !JSMethodDefinition
| JSClassSemi !JSAnnot
deriving (Typeable JSClassElement
Constr
DataType
Typeable JSClassElement =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassElement -> c JSClassElement)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassElement)
-> (JSClassElement -> Constr)
-> (JSClassElement -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassElement))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassElement))
-> ((forall b. Data b => b -> b)
-> JSClassElement -> JSClassElement)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r)
-> (forall u.
(forall d. Data d => d -> u) -> JSClassElement -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> JSClassElement -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement)
-> Data JSClassElement
JSClassElement -> Constr
JSClassElement -> DataType
(forall b. Data b => b -> b) -> JSClassElement -> JSClassElement
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassElement -> c JSClassElement
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassElement
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> JSClassElement -> u
forall u. (forall d. Data d => d -> u) -> JSClassElement -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassElement
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassElement -> c JSClassElement
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassElement)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassElement)
$cJSClassSemi :: Constr
$cJSClassStaticMethod :: Constr
$cJSClassInstanceMethod :: Constr
$tJSClassElement :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
gmapMp :: (forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
gmapM :: (forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> JSClassElement -> m JSClassElement
gmapQi :: Int -> (forall d. Data d => d -> u) -> JSClassElement -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> JSClassElement -> u
gmapQ :: (forall d. Data d => d -> u) -> JSClassElement -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JSClassElement -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> JSClassElement -> r
gmapT :: (forall b. Data b => b -> b) -> JSClassElement -> JSClassElement
$cgmapT :: (forall b. Data b => b -> b) -> JSClassElement -> JSClassElement
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassElement)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c JSClassElement)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c JSClassElement)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c JSClassElement)
dataTypeOf :: JSClassElement -> DataType
$cdataTypeOf :: JSClassElement -> DataType
toConstr :: JSClassElement -> Constr
$ctoConstr :: JSClassElement -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassElement
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c JSClassElement
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassElement -> c JSClassElement
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> JSClassElement -> c JSClassElement
$cp1Data :: Typeable JSClassElement
Data, JSClassElement -> JSClassElement -> Bool
(JSClassElement -> JSClassElement -> Bool)
-> (JSClassElement -> JSClassElement -> Bool) -> Eq JSClassElement
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JSClassElement -> JSClassElement -> Bool
$c/= :: JSClassElement -> JSClassElement -> Bool
== :: JSClassElement -> JSClassElement -> Bool
$c== :: JSClassElement -> JSClassElement -> Bool
Eq, Int -> JSClassElement -> ShowS
[JSClassElement] -> ShowS
JSClassElement -> String
(Int -> JSClassElement -> ShowS)
-> (JSClassElement -> String)
-> ([JSClassElement] -> ShowS)
-> Show JSClassElement
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JSClassElement] -> ShowS
$cshowList :: [JSClassElement] -> ShowS
show :: JSClassElement -> String
$cshow :: JSClassElement -> String
showsPrec :: Int -> JSClassElement -> ShowS
$cshowsPrec :: Int -> JSClassElement -> ShowS
Show, Typeable)
showStripped :: JSAST -> String
showStripped :: JSAST -> String
showStripped (JSAstProgram xs :: [JSStatement]
xs _) = "JSAstProgram " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSStatement] -> String
forall a. ShowStripped a => a -> String
ss [JSStatement]
xs
showStripped (JSAstModule xs :: [JSModuleItem]
xs _) = "JSAstModule " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSModuleItem] -> String
forall a. ShowStripped a => a -> String
ss [JSModuleItem]
xs
showStripped (JSAstStatement s :: JSStatement
s _) = "JSAstStatement (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
showStripped (JSAstExpression e :: JSExpression
e _) = "JSAstExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
showStripped (JSAstLiteral s :: JSExpression
s _) = "JSAstLiteral (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
class ShowStripped a where
ss :: a -> String
instance ShowStripped JSStatement where
ss :: JSStatement -> String
ss (JSStatementBlock _ xs :: [JSStatement]
xs _ _) = "JSStatementBlock " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSStatement] -> String
forall a. ShowStripped a => a -> String
ss [JSStatement]
xs
ss (JSBreak _ JSIdentNone s :: JSSemi
s) = "JSBreak" String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
commaIf (JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s)
ss (JSBreak _ (JSIdentName _ n :: String
n) s :: JSSemi
s) = "JSBreak " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
commaIf (JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s)
ss (JSClass _ n :: JSIdent
n h :: JSClassHeritage
h _lb :: JSAnnot
_lb xs :: [JSClassElement]
xs _rb :: JSAnnot
_rb _) = "JSClass " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSClassHeritage -> String
forall a. ShowStripped a => a -> String
ss JSClassHeritage
h String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSClassElement] -> String
forall a. ShowStripped a => a -> String
ss [JSClassElement]
xs
ss (JSContinue _ JSIdentNone s :: JSSemi
s) = "JSContinue" String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
commaIf (JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s)
ss (JSContinue _ (JSIdentName _ n :: String
n) s :: JSSemi
s) = "JSContinue " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
commaIf (JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s)
ss (JSConstant _ xs :: JSCommaList JSExpression
xs _as :: JSSemi
_as) = "JSConstant " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
xs
ss (JSDoWhile _d :: JSAnnot
_d x1 :: JSStatement
x1 _w :: JSAnnot
_w _lb :: JSAnnot
_lb x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSSemi
x3) = "JSDoWhile (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSFor _ _lb :: JSAnnot
_lb x1s :: JSCommaList JSExpression
x1s _s1 :: JSAnnot
_s1 x2s :: JSCommaList JSExpression
x2s _s2 :: JSAnnot
_s2 x3s :: JSCommaList JSExpression
x3s _rb :: JSAnnot
_rb x4 :: JSStatement
x4) = "JSFor " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x3s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x4 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForIn _ _lb :: JSAnnot
_lb x1s :: JSExpression
x1s _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForIn " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForVar _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1s :: JSCommaList JSExpression
x1s _s1 :: JSAnnot
_s1 x2s :: JSCommaList JSExpression
x2s _s2 :: JSAnnot
_s2 x3s :: JSCommaList JSExpression
x3s _rb :: JSAnnot
_rb x4 :: JSStatement
x4) = "JSForVar " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x3s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x4 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForVarIn _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForVarIn (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForLet _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1s :: JSCommaList JSExpression
x1s _s1 :: JSAnnot
_s1 x2s :: JSCommaList JSExpression
x2s _s2 :: JSAnnot
_s2 x3s :: JSCommaList JSExpression
x3s _rb :: JSAnnot
_rb x4 :: JSStatement
x4) = "JSForLet " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x3s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x4 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForLetIn _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForLetIn (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForLetOf _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForLetOf (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForConst _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1s :: JSCommaList JSExpression
x1s _s1 :: JSAnnot
_s1 x2s :: JSCommaList JSExpression
x2s _s2 :: JSAnnot
_s2 x3s :: JSCommaList JSExpression
x3s _rb :: JSAnnot
_rb x4 :: JSStatement
x4) = "JSForConst " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x3s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x4 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForConstIn _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForConstIn (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForConstOf _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForConstOf (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForOf _ _lb :: JSAnnot
_lb x1s :: JSExpression
x1s _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForOf " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSForVarOf _ _lb :: JSAnnot
_lb _v :: JSAnnot
_v x1 :: JSExpression
x1 _i :: JSBinOp
_i x2 :: JSExpression
x2 _rb :: JSAnnot
_rb x3 :: JSStatement
x3) = "JSForVarOf (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSFunction _ n :: JSIdent
n _lb :: JSAnnot
_lb pl :: JSCommaList JSExpression
pl _rb :: JSAnnot
_rb x3 :: JSBlock
x3 _) = "JSFunction " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
pl String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSAsyncFunction _ _ n :: JSIdent
n _lb :: JSAnnot
_lb pl :: JSCommaList JSExpression
pl _rb :: JSAnnot
_rb x3 :: JSBlock
x3 _) = "JSAsyncFunction " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
pl String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSGenerator _ _ n :: JSIdent
n _lb :: JSAnnot
_lb pl :: JSCommaList JSExpression
pl _rb :: JSAnnot
_rb x3 :: JSBlock
x3 _) = "JSGenerator " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
pl String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSIf _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _rb :: JSAnnot
_rb x2 :: JSStatement
x2) = "JSIf (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSIfElse _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _rb :: JSAnnot
_rb x2 :: JSStatement
x2 _e :: JSAnnot
_e x3 :: JSStatement
x3) = "JSIfElse (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSLabelled x1 :: JSIdent
x1 _c :: JSAnnot
_c x2 :: JSStatement
x2) = "JSLabelled (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSLet _ xs :: JSCommaList JSExpression
xs _as :: JSSemi
_as) = "JSLet " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
xs
ss (JSEmptyStatement _) = "JSEmptyStatement"
ss (JSExpressionStatement l :: JSExpression
l s :: JSSemi
s) = JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
l String -> ShowS
forall a. [a] -> [a] -> [a]
++ (let x :: String
x = JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s in if Bool -> Bool
not (String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null String
x) then ','Char -> ShowS
forall a. a -> [a] -> [a]
:String
x else "")
ss (JSAssignStatement lhs :: JSExpression
lhs op :: JSAssignOp
op rhs :: JSExpression
rhs s :: JSSemi
s) ="JSOpAssign (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSAssignOp -> String
forall a. ShowStripped a => a -> String
ss JSAssignOp
op String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
lhs String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
rhs String -> ShowS
forall a. [a] -> [a] -> [a]
++ (let x :: String
x = JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s in if Bool -> Bool
not (String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null String
x) then "),"String -> ShowS
forall a. [a] -> [a] -> [a]
++String
x else ")")
ss (JSMethodCall e :: JSExpression
e _ a :: JSCommaList JSExpression
a _ s :: JSSemi
s) = "JSMethodCall (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e String -> ShowS
forall a. [a] -> [a] -> [a]
++ ",JSArguments " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
a String -> ShowS
forall a. [a] -> [a] -> [a]
++ (let x :: String
x = JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s in if Bool -> Bool
not (String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null String
x) then "),"String -> ShowS
forall a. [a] -> [a] -> [a]
++String
x else ")")
ss (JSReturn _ (Just me :: JSExpression
me) s :: JSSemi
s) = "JSReturn " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
me String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s
ss (JSReturn _ Nothing s :: JSSemi
s) = "JSReturn " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSSemi -> String
forall a. ShowStripped a => a -> String
ss JSSemi
s
ss (JSSwitch _ _lp :: JSAnnot
_lp x :: JSExpression
x _rp :: JSAnnot
_rp _lb :: JSAnnot
_lb x2 :: [JSSwitchParts]
x2 _rb :: JSAnnot
_rb _) = "JSSwitch (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSSwitchParts] -> String
forall a. ShowStripped a => a -> String
ss [JSSwitchParts]
x2
ss (JSThrow _ x :: JSExpression
x _) = "JSThrow (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSTry _ xt1 :: JSBlock
xt1 xtc :: [JSTryCatch]
xtc xtf :: JSTryFinally
xtf) = "JSTry (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
xt1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSTryCatch] -> String
forall a. ShowStripped a => a -> String
ss [JSTryCatch]
xtc String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSTryFinally -> String
forall a. ShowStripped a => a -> String
ss JSTryFinally
xtf String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSVariable _ xs :: JSCommaList JSExpression
xs _as :: JSSemi
_as) = "JSVariable " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
xs
ss (JSWhile _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _rb :: JSAnnot
_rb x2 :: JSStatement
x2) = "JSWhile (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSWith _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _rb :: JSAnnot
_rb x :: JSStatement
x _) = "JSWith (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSExpression where
ss :: JSExpression -> String
ss (JSArrayLiteral _lb :: JSAnnot
_lb xs :: [JSArrayElement]
xs _rb :: JSAnnot
_rb) = "JSArrayLiteral " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSArrayElement] -> String
forall a. ShowStripped a => a -> String
ss [JSArrayElement]
xs
ss (JSAssignExpression lhs :: JSExpression
lhs op :: JSAssignOp
op rhs :: JSExpression
rhs) = "JSOpAssign (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSAssignOp -> String
forall a. ShowStripped a => a -> String
ss JSAssignOp
op String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
lhs String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
rhs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSAwaitExpression _ e :: JSExpression
e) = "JSAwaitExpresson " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e
ss (JSCallExpression ex :: JSExpression
ex _ xs :: JSCommaList JSExpression
xs _) = "JSCallExpression ("String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
ex String -> ShowS
forall a. [a] -> [a] -> [a]
++ ",JSArguments " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSCallExpressionDot ex :: JSExpression
ex _os :: JSAnnot
_os xs :: JSExpression
xs) = "JSCallExpressionDot (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
ex String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSCallExpressionSquare ex :: JSExpression
ex _os :: JSAnnot
_os xs :: JSExpression
xs _cs :: JSAnnot
_cs) = "JSCallExpressionSquare (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
ex String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSClassExpression _ n :: JSIdent
n h :: JSClassHeritage
h _lb :: JSAnnot
_lb xs :: [JSClassElement]
xs _rb :: JSAnnot
_rb) = "JSClassExpression " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSClassHeritage -> String
forall a. ShowStripped a => a -> String
ss JSClassHeritage
h String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSClassElement] -> String
forall a. ShowStripped a => a -> String
ss [JSClassElement]
xs
ss (JSDecimal _ s :: String
s) = "JSDecimal " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSCommaExpression l :: JSExpression
l _ r :: JSExpression
r) = "JSExpression [" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
l String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
r String -> ShowS
forall a. [a] -> [a] -> [a]
++ "]"
ss (JSExpressionBinary x2 :: JSExpression
x2 op :: JSBinOp
op x3 :: JSExpression
x3) = "JSExpressionBinary (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBinOp -> String
forall a. ShowStripped a => a -> String
ss JSBinOp
op String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExpressionParen _lp :: JSAnnot
_lp x :: JSExpression
x _rp :: JSAnnot
_rp) = "JSExpressionParen (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExpressionPostfix xs :: JSExpression
xs op :: JSUnaryOp
op) = "JSExpressionPostfix (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSUnaryOp -> String
forall a. ShowStripped a => a -> String
ss JSUnaryOp
op String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExpressionTernary x1 :: JSExpression
x1 _q :: JSAnnot
_q x2 :: JSExpression
x2 _c :: JSAnnot
_c x3 :: JSExpression
x3) = "JSExpressionTernary (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSArrowExpression ps :: JSArrowParameterList
ps _ e :: JSStatement
e) = "JSArrowExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSArrowParameterList -> String
forall a. ShowStripped a => a -> String
ss JSArrowParameterList
ps String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") => " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
e
ss (JSFunctionExpression _ n :: JSIdent
n _lb :: JSAnnot
_lb pl :: JSCommaList JSExpression
pl _rb :: JSAnnot
_rb x3 :: JSBlock
x3) = "JSFunctionExpression " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
pl String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSGeneratorExpression _ _ n :: JSIdent
n _lb :: JSAnnot
_lb pl :: JSCommaList JSExpression
pl _rb :: JSAnnot
_rb x3 :: JSBlock
x3) = "JSGeneratorExpression " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
ssid JSIdent
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ " " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
pl String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSHexInteger _ s :: String
s) = "JSHexInteger " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSOctal _ s :: String
s) = "JSOctal " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSIdentifier _ s :: String
s) = "JSIdentifier " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSLiteral _ []) = "JSLiteral ''"
ss (JSLiteral _ s :: String
s) = "JSLiteral " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSMemberDot x1s :: JSExpression
x1s _d :: JSAnnot
_d x2 :: JSExpression
x2 ) = "JSMemberDot (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSMemberExpression e :: JSExpression
e _ a :: JSCommaList JSExpression
a _) = "JSMemberExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e String -> ShowS
forall a. [a] -> [a] -> [a]
++ ",JSArguments " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
a String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSMemberNew _a :: JSAnnot
_a n :: JSExpression
n _ s :: JSCommaList JSExpression
s _) = "JSMemberNew (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ ",JSArguments " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSMemberSquare x1s :: JSExpression
x1s _lb :: JSAnnot
_lb x2 :: JSExpression
x2 _rb :: JSAnnot
_rb) = "JSMemberSquare (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1s String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSNewExpression _n :: JSAnnot
_n e :: JSExpression
e) = "JSNewExpression " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e
ss (JSObjectLiteral _lb :: JSAnnot
_lb xs :: JSObjectPropertyList
xs _rb :: JSAnnot
_rb) = "JSObjectLiteral " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSObjectPropertyList -> String
forall a. ShowStripped a => a -> String
ss JSObjectPropertyList
xs
ss (JSRegEx _ s :: String
s) = "JSRegEx " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSStringLiteral _ s :: String
s) = "JSStringLiteral " String -> ShowS
forall a. [a] -> [a] -> [a]
++ String
s
ss (JSUnaryExpression op :: JSUnaryOp
op x :: JSExpression
x) = "JSUnaryExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSUnaryOp -> String
forall a. ShowStripped a => a -> String
ss JSUnaryOp
op String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSVarInitExpression x1 :: JSExpression
x1 x2 :: JSVarInitializer
x2) = "JSVarInitExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSVarInitializer -> String
forall a. ShowStripped a => a -> String
ss JSVarInitializer
x2
ss (JSYieldExpression _ Nothing) = "JSYieldExpression ()"
ss (JSYieldExpression _ (Just x :: JSExpression
x)) = "JSYieldExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSYieldFromExpression _ _ x :: JSExpression
x) = "JSYieldFromExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSSpreadExpression _ x1 :: JSExpression
x1) = "JSSpreadExpression (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSTemplateLiteral Nothing _ s :: String
s ps :: [JSTemplatePart]
ps) = "JSTemplateLiteral (()," String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSTemplatePart] -> String
forall a. ShowStripped a => a -> String
ss [JSTemplatePart]
ps String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSTemplateLiteral (Just t :: JSExpression
t) _ s :: String
s ps :: [JSTemplatePart]
ps) = "JSTemplateLiteral ((" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
t String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")," String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSTemplatePart] -> String
forall a. ShowStripped a => a -> String
ss [JSTemplatePart]
ps String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSArrowParameterList where
ss :: JSArrowParameterList -> String
ss (JSUnparenthesizedArrowParameter x :: JSIdent
x) = JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x
ss (JSParenthesizedArrowParameterList _ xs :: JSCommaList JSExpression
xs _) = JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
xs
instance ShowStripped JSModuleItem where
ss :: JSModuleItem -> String
ss (JSModuleExportDeclaration _ x1 :: JSExportDeclaration
x1) = "JSModuleExportDeclaration (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExportDeclaration -> String
forall a. ShowStripped a => a -> String
ss JSExportDeclaration
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSModuleImportDeclaration _ x1 :: JSImportDeclaration
x1) = "JSModuleImportDeclaration (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportDeclaration -> String
forall a. ShowStripped a => a -> String
ss JSImportDeclaration
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSModuleStatementListItem x1 :: JSStatement
x1) = "JSModuleStatementListItem (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSImportDeclaration where
ss :: JSImportDeclaration -> String
ss (JSImportDeclaration imp :: JSImportClause
imp from :: JSFromClause
from _) = "JSImportDeclaration (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportClause -> String
forall a. ShowStripped a => a -> String
ss JSImportClause
imp String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSFromClause -> String
forall a. ShowStripped a => a -> String
ss JSFromClause
from String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportDeclarationBare _ m :: String
m _) = "JSImportDeclarationBare (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
m String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSImportClause where
ss :: JSImportClause -> String
ss (JSImportClauseDefault x :: JSIdent
x) = "JSImportClauseDefault (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportClauseNameSpace x :: JSImportNameSpace
x) = "JSImportClauseNameSpace (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportNameSpace -> String
forall a. ShowStripped a => a -> String
ss JSImportNameSpace
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportClauseNamed x :: JSImportsNamed
x) = "JSImportClauseNameSpace (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportsNamed -> String
forall a. ShowStripped a => a -> String
ss JSImportsNamed
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportClauseDefaultNameSpace x1 :: JSIdent
x1 _ x2 :: JSImportNameSpace
x2) = "JSImportClauseDefaultNameSpace (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportNameSpace -> String
forall a. ShowStripped a => a -> String
ss JSImportNameSpace
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportClauseDefaultNamed x1 :: JSIdent
x1 _ x2 :: JSImportsNamed
x2) = "JSImportClauseDefaultNamed (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSImportsNamed -> String
forall a. ShowStripped a => a -> String
ss JSImportsNamed
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSFromClause where
ss :: JSFromClause -> String
ss (JSFromClause _ _ m :: String
m) = "JSFromClause " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
m
instance ShowStripped JSImportNameSpace where
ss :: JSImportNameSpace -> String
ss (JSImportNameSpace _ _ x :: JSIdent
x) = "JSImportNameSpace (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSImportsNamed where
ss :: JSImportsNamed -> String
ss (JSImportsNamed _ xs :: JSCommaList JSImportSpecifier
xs _) = "JSImportsNamed (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSImportSpecifier -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSImportSpecifier
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSImportSpecifier where
ss :: JSImportSpecifier -> String
ss (JSImportSpecifier x1 :: JSIdent
x1) = "JSImportSpecifier (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSImportSpecifierAs x1 :: JSIdent
x1 _ x2 :: JSIdent
x2) = "JSImportSpecifierAs (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSExportDeclaration where
ss :: JSExportDeclaration -> String
ss (JSExportFrom xs :: JSExportClause
xs from :: JSFromClause
from _) = "JSExportFrom (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExportClause -> String
forall a. ShowStripped a => a -> String
ss JSExportClause
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSFromClause -> String
forall a. ShowStripped a => a -> String
ss JSFromClause
from String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExportLocals xs :: JSExportClause
xs _) = "JSExportLocals (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExportClause -> String
forall a. ShowStripped a => a -> String
ss JSExportClause
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExport x1 :: JSStatement
x1 _) = "JSExport (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSStatement -> String
forall a. ShowStripped a => a -> String
ss JSStatement
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSExportClause where
ss :: JSExportClause -> String
ss (JSExportClause _ xs :: JSCommaList JSExportSpecifier
xs _) = "JSExportClause (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExportSpecifier -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExportSpecifier
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSExportSpecifier where
ss :: JSExportSpecifier -> String
ss (JSExportSpecifier x1 :: JSIdent
x1) = "JSExportSpecifier (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSExportSpecifierAs x1 :: JSIdent
x1 _ x2 :: JSIdent
x2) = "JSExportSpecifierAs (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSIdent -> String
forall a. ShowStripped a => a -> String
ss JSIdent
x2 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSTryCatch where
ss :: JSTryCatch -> String
ss (JSCatch _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _rb :: JSAnnot
_rb x3 :: JSBlock
x3) = "JSCatch (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSCatchIf _ _lb :: JSAnnot
_lb x1 :: JSExpression
x1 _ ex :: JSExpression
ex _rb :: JSAnnot
_rb x3 :: JSBlock
x3) = "JSCatch (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") if " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
ex String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSTryFinally where
ss :: JSTryFinally -> String
ss (JSFinally _ x :: JSBlock
x) = "JSFinally (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss JSNoFinally = "JSFinally ()"
instance ShowStripped JSIdent where
ss :: JSIdent -> String
ss (JSIdentName _ s :: String
s) = "JSIdentifier " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss JSIdentNone = "JSIdentNone"
instance ShowStripped JSObjectProperty where
ss :: JSObjectProperty -> String
ss (JSPropertyNameandValue x1 :: JSPropertyName
x1 _colon :: JSAnnot
_colon x2s :: [JSExpression]
x2s) = "JSPropertyNameandValue (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSPropertyName -> String
forall a. ShowStripped a => a -> String
ss JSPropertyName
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSExpression] -> String
forall a. ShowStripped a => a -> String
ss [JSExpression]
x2s
ss (JSPropertyIdentRef _ s :: String
s) = "JSPropertyIdentRef " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSObjectMethod m :: JSMethodDefinition
m) = JSMethodDefinition -> String
forall a. ShowStripped a => a -> String
ss JSMethodDefinition
m
instance ShowStripped JSMethodDefinition where
ss :: JSMethodDefinition -> String
ss (JSMethodDefinition x1 :: JSPropertyName
x1 _lb1 :: JSAnnot
_lb1 x2s :: JSCommaList JSExpression
x2s _rb1 :: JSAnnot
_rb1 x3 :: JSBlock
x3) = "JSMethodDefinition (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSPropertyName -> String
forall a. ShowStripped a => a -> String
ss JSPropertyName
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSPropertyAccessor s :: JSAccessor
s x1 :: JSPropertyName
x1 _lb1 :: JSAnnot
_lb1 x2s :: JSCommaList JSExpression
x2s _rb1 :: JSAnnot
_rb1 x3 :: JSBlock
x3) = "JSPropertyAccessor " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSAccessor -> String
forall a. ShowStripped a => a -> String
ss JSAccessor
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSPropertyName -> String
forall a. ShowStripped a => a -> String
ss JSPropertyName
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSGeneratorMethodDefinition _ x1 :: JSPropertyName
x1 _lb1 :: JSAnnot
_lb1 x2s :: JSCommaList JSExpression
x2s _rb1 :: JSAnnot
_rb1 x3 :: JSBlock
x3) = "JSGeneratorMethodDefinition (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSPropertyName -> String
forall a. ShowStripped a => a -> String
ss JSPropertyName
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") " String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSCommaList JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSCommaList JSExpression
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ " (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSBlock -> String
forall a. ShowStripped a => a -> String
ss JSBlock
x3 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSPropertyName where
ss :: JSPropertyName -> String
ss (JSPropertyIdent _ s :: String
s) = "JSIdentifier " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSPropertyString _ s :: String
s) = "JSIdentifier " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSPropertyNumber _ s :: String
s) = "JSIdentifier " String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s
ss (JSPropertyComputed _ x :: JSExpression
x _) = "JSPropertyComputed (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSAccessor where
ss :: JSAccessor -> String
ss (JSAccessorGet _) = "JSAccessorGet"
ss (JSAccessorSet _) = "JSAccessorSet"
instance ShowStripped JSBlock where
ss :: JSBlock -> String
ss (JSBlock _ xs :: [JSStatement]
xs _) = "JSBlock " String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSStatement] -> String
forall a. ShowStripped a => a -> String
ss [JSStatement]
xs
instance ShowStripped JSSwitchParts where
ss :: JSSwitchParts -> String
ss (JSCase _ x1 :: JSExpression
x1 _c :: JSAnnot
_c x2s :: [JSStatement]
x2s) = "JSCase (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x1 String -> ShowS
forall a. [a] -> [a] -> [a]
++ ") (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSStatement] -> String
forall a. ShowStripped a => a -> String
ss [JSStatement]
x2s String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSDefault _ _c :: JSAnnot
_c xs :: [JSStatement]
xs) = "JSDefault (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [JSStatement] -> String
forall a. ShowStripped a => a -> String
ss [JSStatement]
xs String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSBinOp where
ss :: JSBinOp -> String
ss (JSBinOpAnd _) = "'&&'"
ss (JSBinOpBitAnd _) = "'&'"
ss (JSBinOpBitOr _) = "'|'"
ss (JSBinOpBitXor _) = "'^'"
ss (JSBinOpDivide _) = "'/'"
ss (JSBinOpEq _) = "'=='"
ss (JSBinOpGe _) = "'>='"
ss (JSBinOpGt _) = "'>'"
ss (JSBinOpIn _) = "'in'"
ss (JSBinOpInstanceOf _) = "'instanceof'"
ss (JSBinOpLe _) = "'<='"
ss (JSBinOpLsh _) = "'<<'"
ss (JSBinOpLt _) = "'<'"
ss (JSBinOpMinus _) = "'-'"
ss (JSBinOpMod _) = "'%'"
ss (JSBinOpNeq _) = "'!='"
ss (JSBinOpOf _) = "'of'"
ss (JSBinOpOr _) = "'||'"
ss (JSBinOpPlus _) = "'+'"
ss (JSBinOpRsh _) = "'>>'"
ss (JSBinOpStrictEq _) = "'==='"
ss (JSBinOpStrictNeq _) = "'!=='"
ss (JSBinOpTimes _) = "'*'"
ss (JSBinOpUrsh _) = "'>>>'"
instance ShowStripped JSUnaryOp where
ss :: JSUnaryOp -> String
ss (JSUnaryOpDecr _) = "'--'"
ss (JSUnaryOpDelete _) = "'delete'"
ss (JSUnaryOpIncr _) = "'++'"
ss (JSUnaryOpMinus _) = "'-'"
ss (JSUnaryOpNot _) = "'!'"
ss (JSUnaryOpPlus _) = "'+'"
ss (JSUnaryOpTilde _) = "'~'"
ss (JSUnaryOpTypeof _) = "'typeof'"
ss (JSUnaryOpVoid _) = "'void'"
instance ShowStripped JSAssignOp where
ss :: JSAssignOp -> String
ss (JSAssign _) = "'='"
ss (JSTimesAssign _) = "'*='"
ss (JSDivideAssign _) = "'/='"
ss (JSModAssign _) = "'%='"
ss (JSPlusAssign _) = "'+='"
ss (JSMinusAssign _) = "'-='"
ss (JSLshAssign _) = "'<<='"
ss (JSRshAssign _) = "'>>='"
ss (JSUrshAssign _) = "'>>>='"
ss (JSBwAndAssign _) = "'&='"
ss (JSBwXorAssign _) = "'^='"
ss (JSBwOrAssign _) = "'|='"
instance ShowStripped JSVarInitializer where
ss :: JSVarInitializer -> String
ss (JSVarInit _ n :: JSExpression
n) = "[" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
n String -> ShowS
forall a. [a] -> [a] -> [a]
++ "]"
ss JSVarInitNone = ""
instance ShowStripped JSSemi where
ss :: JSSemi -> String
ss (JSSemi _) = "JSSemicolon"
ss JSSemiAuto = ""
instance ShowStripped JSArrayElement where
ss :: JSArrayElement -> String
ss (JSArrayElement e :: JSExpression
e) = JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e
ss (JSArrayComma _) = "JSComma"
instance ShowStripped JSTemplatePart where
ss :: JSTemplatePart -> String
ss (JSTemplatePart e :: JSExpression
e _ s :: String
s) = "(" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
e String -> ShowS
forall a. [a] -> [a] -> [a]
++ "," String -> ShowS
forall a. [a] -> [a] -> [a]
++ ShowS
singleQuote String
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped JSClassHeritage where
ss :: JSClassHeritage -> String
ss JSExtendsNone = ""
ss (JSExtends _ x :: JSExpression
x) = JSExpression -> String
forall a. ShowStripped a => a -> String
ss JSExpression
x
instance ShowStripped JSClassElement where
ss :: JSClassElement -> String
ss (JSClassInstanceMethod m :: JSMethodDefinition
m) = JSMethodDefinition -> String
forall a. ShowStripped a => a -> String
ss JSMethodDefinition
m
ss (JSClassStaticMethod _ m :: JSMethodDefinition
m) = "JSClassStaticMethod (" String -> ShowS
forall a. [a] -> [a] -> [a]
++ JSMethodDefinition -> String
forall a. ShowStripped a => a -> String
ss JSMethodDefinition
m String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
ss (JSClassSemi _) = "JSClassSemi"
instance ShowStripped a => ShowStripped (JSCommaList a) where
ss :: JSCommaList a -> String
ss xs :: JSCommaList a
xs = "(" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
commaJoin ((a -> String) -> [a] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map a -> String
forall a. ShowStripped a => a -> String
ss ([a] -> [String]) -> [a] -> [String]
forall a b. (a -> b) -> a -> b
$ JSCommaList a -> [a]
forall a. JSCommaList a -> [a]
fromCommaList JSCommaList a
xs) String -> ShowS
forall a. [a] -> [a] -> [a]
++ ")"
instance ShowStripped a => ShowStripped (JSCommaTrailingList a) where
ss :: JSCommaTrailingList a -> String
ss (JSCTLComma xs :: JSCommaList a
xs _) = "[" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
commaJoin ((a -> String) -> [a] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map a -> String
forall a. ShowStripped a => a -> String
ss ([a] -> [String]) -> [a] -> [String]
forall a b. (a -> b) -> a -> b
$ JSCommaList a -> [a]
forall a. JSCommaList a -> [a]
fromCommaList JSCommaList a
xs) String -> ShowS
forall a. [a] -> [a] -> [a]
++ ",JSComma]"
ss (JSCTLNone xs :: JSCommaList a
xs) = "[" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
commaJoin ((a -> String) -> [a] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map a -> String
forall a. ShowStripped a => a -> String
ss ([a] -> [String]) -> [a] -> [String]
forall a b. (a -> b) -> a -> b
$ JSCommaList a -> [a]
forall a. JSCommaList a -> [a]
fromCommaList JSCommaList a
xs) String -> ShowS
forall a. [a] -> [a] -> [a]
++ "]"
instance ShowStripped a => ShowStripped [a] where
ss :: [a] -> String
ss xs :: [a]
xs = "[" String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
commaJoin ((a -> String) -> [a] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map a -> String
forall a. ShowStripped a => a -> String
ss [a]
xs) String -> ShowS
forall a. [a] -> [a] -> [a]
++ "]"
commaJoin :: [String] -> String
commaJoin :: [String] -> String
commaJoin s :: [String]
s = String -> [String] -> String
forall a. [a] -> [[a]] -> [a]
intercalate "," ([String] -> String) -> [String] -> String
forall a b. (a -> b) -> a -> b
$ (String -> Bool) -> [String] -> [String]
forall a. (a -> Bool) -> [a] -> [a]
filter (Bool -> Bool
not (Bool -> Bool) -> (String -> Bool) -> String -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null) [String]
s
fromCommaList :: JSCommaList a -> [a]
fromCommaList :: JSCommaList a -> [a]
fromCommaList (JSLCons l :: JSCommaList a
l _ i :: a
i) = JSCommaList a -> [a]
forall a. JSCommaList a -> [a]
fromCommaList JSCommaList a
l [a] -> [a] -> [a]
forall a. [a] -> [a] -> [a]
++ [a
i]
fromCommaList (JSLOne i :: a
i) = [a
i]
fromCommaList JSLNil = []
singleQuote :: String -> String
singleQuote :: ShowS
singleQuote s :: String
s = '\'' Char -> ShowS
forall a. a -> [a] -> [a]
: (String
s String -> ShowS
forall a. [a] -> [a] -> [a]
++ "'")
ssid :: JSIdent -> String
ssid :: JSIdent -> String
ssid (JSIdentName _ s :: String
s) = ShowS
singleQuote String
s
ssid JSIdentNone = "''"
commaIf :: String -> String
commaIf :: ShowS
commaIf "" = ""
commaIf xs :: String
xs = ',' Char -> ShowS
forall a. a -> [a] -> [a]
: String
xs
deAnnot :: JSBinOp -> JSBinOp
deAnnot :: JSBinOp -> JSBinOp
deAnnot (JSBinOpAnd _) = JSAnnot -> JSBinOp
JSBinOpAnd JSAnnot
JSNoAnnot
deAnnot (JSBinOpBitAnd _) = JSAnnot -> JSBinOp
JSBinOpBitAnd JSAnnot
JSNoAnnot
deAnnot (JSBinOpBitOr _) = JSAnnot -> JSBinOp
JSBinOpBitOr JSAnnot
JSNoAnnot
deAnnot (JSBinOpBitXor _) = JSAnnot -> JSBinOp
JSBinOpBitXor JSAnnot
JSNoAnnot
deAnnot (JSBinOpDivide _) = JSAnnot -> JSBinOp
JSBinOpDivide JSAnnot
JSNoAnnot
deAnnot (JSBinOpEq _) = JSAnnot -> JSBinOp
JSBinOpEq JSAnnot
JSNoAnnot
deAnnot (JSBinOpGe _) = JSAnnot -> JSBinOp
JSBinOpGe JSAnnot
JSNoAnnot
deAnnot (JSBinOpGt _) = JSAnnot -> JSBinOp
JSBinOpGt JSAnnot
JSNoAnnot
deAnnot (JSBinOpIn _) = JSAnnot -> JSBinOp
JSBinOpIn JSAnnot
JSNoAnnot
deAnnot (JSBinOpInstanceOf _) = JSAnnot -> JSBinOp
JSBinOpInstanceOf JSAnnot
JSNoAnnot
deAnnot (JSBinOpLe _) = JSAnnot -> JSBinOp
JSBinOpLe JSAnnot
JSNoAnnot
deAnnot (JSBinOpLsh _) = JSAnnot -> JSBinOp
JSBinOpLsh JSAnnot
JSNoAnnot
deAnnot (JSBinOpLt _) = JSAnnot -> JSBinOp
JSBinOpLt JSAnnot
JSNoAnnot
deAnnot (JSBinOpMinus _) = JSAnnot -> JSBinOp
JSBinOpMinus JSAnnot
JSNoAnnot
deAnnot (JSBinOpMod _) = JSAnnot -> JSBinOp
JSBinOpMod JSAnnot
JSNoAnnot
deAnnot (JSBinOpNeq _) = JSAnnot -> JSBinOp
JSBinOpNeq JSAnnot
JSNoAnnot
deAnnot (JSBinOpOf _) = JSAnnot -> JSBinOp
JSBinOpOf JSAnnot
JSNoAnnot
deAnnot (JSBinOpOr _) = JSAnnot -> JSBinOp
JSBinOpOr JSAnnot
JSNoAnnot
deAnnot (JSBinOpPlus _) = JSAnnot -> JSBinOp
JSBinOpPlus JSAnnot
JSNoAnnot
deAnnot (JSBinOpRsh _) = JSAnnot -> JSBinOp
JSBinOpRsh JSAnnot
JSNoAnnot
deAnnot (JSBinOpStrictEq _) = JSAnnot -> JSBinOp
JSBinOpStrictEq JSAnnot
JSNoAnnot
deAnnot (JSBinOpStrictNeq _) = JSAnnot -> JSBinOp
JSBinOpStrictNeq JSAnnot
JSNoAnnot
deAnnot (JSBinOpTimes _) = JSAnnot -> JSBinOp
JSBinOpTimes JSAnnot
JSNoAnnot
deAnnot (JSBinOpUrsh _) = JSAnnot -> JSBinOp
JSBinOpUrsh JSAnnot
JSNoAnnot
binOpEq :: JSBinOp -> JSBinOp -> Bool
binOpEq :: JSBinOp -> JSBinOp -> Bool
binOpEq a :: JSBinOp
a b :: JSBinOp
b = JSBinOp -> JSBinOp
deAnnot JSBinOp
a JSBinOp -> JSBinOp -> Bool
forall a. Eq a => a -> a -> Bool
== JSBinOp -> JSBinOp
deAnnot JSBinOp
b