dhscanner-ast-0.1.0.2: abstract syntax tree for multiple programming languages
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ast

Description

  • The abstract ayntax tree (ast) aims to be a data structure able to represent multiple abstract syntax trees from various programming languages.
  • Its main purpose is to serve as the first step for static code analysis, as part of the dhscanner framework for CI/CD container security checks.
  • As part of that framework, it targets mostly languages used for cloud native applications: Python, Ruby, Php, Javascript, Typescript, Java and Golang.
  • Typically, a file is first parsed with the corresponding native parser of the language it's written in (see Python's native parser for example). The native ast is then dumped (as JSON, or plain text) and sent to a Happy + Alex Haskell parser which accommodates the natively parsed content into the ast.
  • Geared towards static code analysis, the ast design abstracts away details that are normally ignored anyway. For example, it does not distinguish between try and catch blocks, and models both of them as plain sequential code blocks.
  • Every file has exactly one ast that represents it.
  • Non Haskell parogrammers note: The ast is immutable (like everything else in Haskell ...)

Documentation

data Root Source #

Constructors

Root 

Fields

Instances

Instances details
FromJSON Root Source # 
Instance details

Defined in Ast

ToJSON Root Source # 
Instance details

Defined in Ast

Generic Root Source # 
Instance details

Defined in Ast

Associated Types

type Rep Root :: Type -> Type

Methods

from :: Root -> Rep Root x

to :: Rep Root x -> Root

Show Root Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Root -> ShowS

show :: Root -> String

showList :: [Root] -> ShowS

Eq Root Source # 
Instance details

Defined in Ast

Methods

(==) :: Root -> Root -> Bool

(/=) :: Root -> Root -> Bool

Ord Root Source # 
Instance details

Defined in Ast

Methods

compare :: Root -> Root -> Ordering

(<) :: Root -> Root -> Bool

(<=) :: Root -> Root -> Bool

(>) :: Root -> Root -> Bool

(>=) :: Root -> Root -> Bool

max :: Root -> Root -> Root

min :: Root -> Root -> Root

type Rep Root Source # 
Instance details

Defined in Ast

type Rep Root = D1 ('MetaData "Root" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "Root" 'PrefixI 'True) (S1 ('MetaSel ('Just "filename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "decs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Dec]) :*: S1 ('MetaSel ('Just "stmts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]))))

data Dec Source #

Instances

Instances details
FromJSON Dec Source # 
Instance details

Defined in Ast

ToJSON Dec Source # 
Instance details

Defined in Ast

Generic Dec Source # 
Instance details

Defined in Ast

Associated Types

type Rep Dec :: Type -> Type

Methods

from :: Dec -> Rep Dec x

to :: Rep Dec x -> Dec

Show Dec Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Dec -> ShowS

show :: Dec -> String

showList :: [Dec] -> ShowS

Eq Dec Source # 
Instance details

Defined in Ast

Methods

(==) :: Dec -> Dec -> Bool

(/=) :: Dec -> Dec -> Bool

Ord Dec Source # 
Instance details

Defined in Ast

Methods

compare :: Dec -> Dec -> Ordering

(<) :: Dec -> Dec -> Bool

(<=) :: Dec -> Dec -> Bool

(>) :: Dec -> Dec -> Bool

(>=) :: Dec -> Dec -> Bool

max :: Dec -> Dec -> Dec

min :: Dec -> Dec -> Dec

type Rep Dec Source # 
Instance details

Defined in Ast

type Rep Dec = D1 ('MetaData "Dec" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DecVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DecVarContent)) :+: (C1 ('MetaCons "DecClass" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DecClassContent)) :+: C1 ('MetaCons "DecMethod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DecMethodContent))))

data Exp Source #

Instances

Instances details
FromJSON Exp Source # 
Instance details

Defined in Ast

ToJSON Exp Source # 
Instance details

Defined in Ast

Generic Exp Source # 
Instance details

Defined in Ast

Associated Types

type Rep Exp :: Type -> Type

Methods

from :: Exp -> Rep Exp x

to :: Rep Exp x -> Exp

Show Exp Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Exp -> ShowS

show :: Exp -> String

showList :: [Exp] -> ShowS

Eq Exp Source # 
Instance details

Defined in Ast

Methods

(==) :: Exp -> Exp -> Bool

(/=) :: Exp -> Exp -> Bool

Ord Exp Source # 
Instance details

Defined in Ast

Methods

compare :: Exp -> Exp -> Ordering

(<) :: Exp -> Exp -> Bool

(<=) :: Exp -> Exp -> Bool

(>) :: Exp -> Exp -> Bool

(>=) :: Exp -> Exp -> Bool

max :: Exp -> Exp -> Exp

min :: Exp -> Exp -> Exp

type Rep Exp Source # 
Instance details

Defined in Ast

type Rep Exp = D1 ('MetaData "Exp" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) ((C1 ('MetaCons "ExpInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpIntContent)) :+: (C1 ('MetaCons "ExpStr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpStrContent)) :+: C1 ('MetaCons "ExpVar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpVarContent)))) :+: ((C1 ('MetaCons "ExpBool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpBoolContent)) :+: C1 ('MetaCons "ExpCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpCallContent))) :+: (C1 ('MetaCons "ExpBinop" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpBinopContent)) :+: C1 ('MetaCons "ExpLambda" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpLambdaContent)))))

data Stmt Source #

Instances

Instances details
FromJSON Stmt Source # 
Instance details

Defined in Ast

ToJSON Stmt Source # 
Instance details

Defined in Ast

Generic Stmt Source # 
Instance details

Defined in Ast

Associated Types

type Rep Stmt :: Type -> Type

Methods

from :: Stmt -> Rep Stmt x

to :: Rep Stmt x -> Stmt

Show Stmt Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Stmt -> ShowS

show :: Stmt -> String

showList :: [Stmt] -> ShowS

Eq Stmt Source # 
Instance details

Defined in Ast

Methods

(==) :: Stmt -> Stmt -> Bool

(/=) :: Stmt -> Stmt -> Bool

Ord Stmt Source # 
Instance details

Defined in Ast

Methods

compare :: Stmt -> Stmt -> Ordering

(<) :: Stmt -> Stmt -> Bool

(<=) :: Stmt -> Stmt -> Bool

(>) :: Stmt -> Stmt -> Bool

(>=) :: Stmt -> Stmt -> Bool

max :: Stmt -> Stmt -> Stmt

min :: Stmt -> Stmt -> Stmt

type Rep Stmt Source # 
Instance details

Defined in Ast

type Rep Stmt = D1 ('MetaData "Stmt" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (((C1 ('MetaCons "StmtExp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :+: (C1 ('MetaCons "StmtIf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtIfContent)) :+: C1 ('MetaCons "StmtTry" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtTryContent)))) :+: (C1 ('MetaCons "StmtCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExpCallContent)) :+: (C1 ('MetaCons "StmtFunc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtFuncContent)) :+: C1 ('MetaCons "StmtDecvar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DecVarContent))))) :+: ((C1 ('MetaCons "StmtBreak" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtBreakContent)) :+: (C1 ('MetaCons "StmtWhile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtWhileContent)) :+: C1 ('MetaCons "StmtImport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtImportContent)))) :+: (C1 ('MetaCons "StmtAssign" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtAssignContent)) :+: (C1 ('MetaCons "StmtReturn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtReturnContent)) :+: C1 ('MetaCons "StmtContinue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtContinueContent))))))

data Param Source #

Constructors

Param 

Instances

Instances details
FromJSON Param Source # 
Instance details

Defined in Ast

ToJSON Param Source # 
Instance details

Defined in Ast

Generic Param Source # 
Instance details

Defined in Ast

Associated Types

type Rep Param :: Type -> Type

Methods

from :: Param -> Rep Param x

to :: Rep Param x -> Param

Show Param Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Param -> ShowS

show :: Param -> String

showList :: [Param] -> ShowS

Eq Param Source # 
Instance details

Defined in Ast

Methods

(==) :: Param -> Param -> Bool

(/=) :: Param -> Param -> Bool

Ord Param Source # 
Instance details

Defined in Ast

Methods

compare :: Param -> Param -> Ordering

(<) :: Param -> Param -> Bool

(<=) :: Param -> Param -> Bool

(>) :: Param -> Param -> Bool

(>=) :: Param -> Param -> Bool

max :: Param -> Param -> Param

min :: Param -> Param -> Param

type Rep Param Source # 
Instance details

Defined in Ast

type Rep Param = D1 ('MetaData "Param" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "Param" 'PrefixI 'True) (S1 ('MetaSel ('Just "paramName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ParamName) :*: (S1 ('MetaSel ('Just "paramNominalType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: S1 ('MetaSel ('Just "paramSerialIdx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))))

data DataMember Source #

Instances

Instances details
FromJSON DataMember Source # 
Instance details

Defined in Ast

ToJSON DataMember Source # 
Instance details

Defined in Ast

Generic DataMember Source # 
Instance details

Defined in Ast

Associated Types

type Rep DataMember :: Type -> Type

Methods

from :: DataMember -> Rep DataMember x

to :: Rep DataMember x -> DataMember

Show DataMember Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DataMember -> ShowS

show :: DataMember -> String

showList :: [DataMember] -> ShowS

Eq DataMember Source # 
Instance details

Defined in Ast

Methods

(==) :: DataMember -> DataMember -> Bool

(/=) :: DataMember -> DataMember -> Bool

Ord DataMember Source # 
Instance details

Defined in Ast

type Rep DataMember Source # 
Instance details

Defined in Ast

type Rep DataMember = D1 ('MetaData "DataMember" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DataMember" 'PrefixI 'True) (S1 ('MetaSel ('Just "dataMemberName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MembrName) :*: (S1 ('MetaSel ('Just "dataMemberNominalType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: S1 ('MetaSel ('Just "dataMemberInitValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)))))

data DataMembers Source #

Instances

Instances details
FromJSON DataMembers Source # 
Instance details

Defined in Ast

ToJSON DataMembers Source # 
Instance details

Defined in Ast

Generic DataMembers Source # 
Instance details

Defined in Ast

Associated Types

type Rep DataMembers :: Type -> Type

Methods

from :: DataMembers -> Rep DataMembers x

to :: Rep DataMembers x -> DataMembers

Show DataMembers Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DataMembers -> ShowS

show :: DataMembers -> String

showList :: [DataMembers] -> ShowS

Eq DataMembers Source # 
Instance details

Defined in Ast

Methods

(==) :: DataMembers -> DataMembers -> Bool

(/=) :: DataMembers -> DataMembers -> Bool

Ord DataMembers Source # 
Instance details

Defined in Ast

type Rep DataMembers Source # 
Instance details

Defined in Ast

type Rep DataMembers = D1 ('MetaData "DataMembers" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DataMembers" 'PrefixI 'True) (S1 ('MetaSel ('Just "actualDataMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map MembrName DataMember))))

data DecMethodContent Source #

Instances

Instances details
FromJSON DecMethodContent Source # 
Instance details

Defined in Ast

ToJSON DecMethodContent Source # 
Instance details

Defined in Ast

Generic DecMethodContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep DecMethodContent :: Type -> Type

Show DecMethodContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DecMethodContent -> ShowS

show :: DecMethodContent -> String

showList :: [DecMethodContent] -> ShowS

Eq DecMethodContent Source # 
Instance details

Defined in Ast

Ord DecMethodContent Source # 
Instance details

Defined in Ast

type Rep DecMethodContent Source # 
Instance details

Defined in Ast

type Rep DecMethodContent = D1 ('MetaData "DecMethodContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DecMethodContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "decMethodReturnType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: (S1 ('MetaSel ('Just "decMethodName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MethdName) :*: S1 ('MetaSel ('Just "decMethodParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Param]))) :*: ((S1 ('MetaSel ('Just "decMethodBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "decMethodLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)) :*: (S1 ('MetaSel ('Just "hostingClassName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClassName) :*: S1 ('MetaSel ('Just "hostingClassSupers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SuperName])))))

data Methods Source #

Constructors

Methods 

Instances

Instances details
FromJSON Methods Source # 
Instance details

Defined in Ast

ToJSON Methods Source # 
Instance details

Defined in Ast

Generic Methods Source # 
Instance details

Defined in Ast

Associated Types

type Rep Methods :: Type -> Type

Methods

from :: Methods -> Rep Methods x

to :: Rep Methods x -> Methods

Show Methods Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Methods -> ShowS

show :: Methods -> String

showList :: [Methods] -> ShowS

Eq Methods Source # 
Instance details

Defined in Ast

Methods

(==) :: Methods -> Methods -> Bool

(/=) :: Methods -> Methods -> Bool

Ord Methods Source # 
Instance details

Defined in Ast

Methods

compare :: Methods -> Methods -> Ordering

(<) :: Methods -> Methods -> Bool

(<=) :: Methods -> Methods -> Bool

(>) :: Methods -> Methods -> Bool

(>=) :: Methods -> Methods -> Bool

max :: Methods -> Methods -> Methods

min :: Methods -> Methods -> Methods

type Rep Methods Source # 
Instance details

Defined in Ast

type Rep Methods = D1 ('MetaData "Methods" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "Methods" 'PrefixI 'True) (S1 ('MetaSel ('Just "actualMethods") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map MethdName DecMethodContent))))

data DecClassContent Source #

Instances

Instances details
FromJSON DecClassContent Source # 
Instance details

Defined in Ast

ToJSON DecClassContent Source # 
Instance details

Defined in Ast

Generic DecClassContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep DecClassContent :: Type -> Type

Show DecClassContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DecClassContent -> ShowS

show :: DecClassContent -> String

showList :: [DecClassContent] -> ShowS

Eq DecClassContent Source # 
Instance details

Defined in Ast

Ord DecClassContent Source # 
Instance details

Defined in Ast

type Rep DecClassContent Source # 
Instance details

Defined in Ast

type Rep DecClassContent = D1 ('MetaData "DecClassContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DecClassContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "decClassName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClassName) :*: S1 ('MetaSel ('Just "decClassSupers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SuperName])) :*: (S1 ('MetaSel ('Just "decClassDataMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataMembers) :*: S1 ('MetaSel ('Just "decClassMethods") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Methods))))

data StmtFuncContent Source #

Instances

Instances details
FromJSON StmtFuncContent Source # 
Instance details

Defined in Ast

ToJSON StmtFuncContent Source # 
Instance details

Defined in Ast

Generic StmtFuncContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtFuncContent :: Type -> Type

Show StmtFuncContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtFuncContent -> ShowS

show :: StmtFuncContent -> String

showList :: [StmtFuncContent] -> ShowS

Eq StmtFuncContent Source # 
Instance details

Defined in Ast

Ord StmtFuncContent Source # 
Instance details

Defined in Ast

type Rep StmtFuncContent Source # 
Instance details

Defined in Ast

type Rep StmtFuncContent = D1 ('MetaData "StmtFuncContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtFuncContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stmtFuncReturnType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: (S1 ('MetaSel ('Just "stmtFuncName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FuncName) :*: S1 ('MetaSel ('Just "stmtFuncParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Param]))) :*: (S1 ('MetaSel ('Just "stmtFuncBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: (S1 ('MetaSel ('Just "stmtFuncAnnotations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp]) :*: S1 ('MetaSel ('Just "stmtFuncLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))))

data DecPackageContent Source #

Constructors

DecPackageContent 

Instances

Instances details
FromJSON DecPackageContent Source # 
Instance details

Defined in Ast

ToJSON DecPackageContent Source # 
Instance details

Defined in Ast

Generic DecPackageContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep DecPackageContent :: Type -> Type

Show DecPackageContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DecPackageContent -> ShowS

show :: DecPackageContent -> String

showList :: [DecPackageContent] -> ShowS

Eq DecPackageContent Source # 
Instance details

Defined in Ast

Ord DecPackageContent Source # 
Instance details

Defined in Ast

type Rep DecPackageContent Source # 
Instance details

Defined in Ast

type Rep DecPackageContent = D1 ('MetaData "DecPackageContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DecPackageContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "decPackageName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PkgName)))

data DecVarContent Source #

Instances

Instances details
FromJSON DecVarContent Source # 
Instance details

Defined in Ast

ToJSON DecVarContent Source # 
Instance details

Defined in Ast

Generic DecVarContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep DecVarContent :: Type -> Type

Show DecVarContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> DecVarContent -> ShowS

show :: DecVarContent -> String

showList :: [DecVarContent] -> ShowS

Eq DecVarContent Source # 
Instance details

Defined in Ast

Ord DecVarContent Source # 
Instance details

Defined in Ast

type Rep DecVarContent Source # 
Instance details

Defined in Ast

type Rep DecVarContent = D1 ('MetaData "DecVarContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "DecVarContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "decVarName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarName) :*: (S1 ('MetaSel ('Just "decVarNominalType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: S1 ('MetaSel ('Just "decVarInitValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)))))

data ExpIntContent Source #

Constructors

ExpIntContent 

Instances

Instances details
FromJSON ExpIntContent Source # 
Instance details

Defined in Ast

ToJSON ExpIntContent Source # 
Instance details

Defined in Ast

Generic ExpIntContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpIntContent :: Type -> Type

Show ExpIntContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpIntContent -> ShowS

show :: ExpIntContent -> String

showList :: [ExpIntContent] -> ShowS

Eq ExpIntContent Source # 
Instance details

Defined in Ast

Ord ExpIntContent Source # 
Instance details

Defined in Ast

type Rep ExpIntContent Source # 
Instance details

Defined in Ast

type Rep ExpIntContent = D1 ('MetaData "ExpIntContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpIntContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "expIntValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstInt)))

data ExpStrContent Source #

Constructors

ExpStrContent 

Instances

Instances details
FromJSON ExpStrContent Source # 
Instance details

Defined in Ast

ToJSON ExpStrContent Source # 
Instance details

Defined in Ast

Generic ExpStrContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpStrContent :: Type -> Type

Show ExpStrContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpStrContent -> ShowS

show :: ExpStrContent -> String

showList :: [ExpStrContent] -> ShowS

Eq ExpStrContent Source # 
Instance details

Defined in Ast

Ord ExpStrContent Source # 
Instance details

Defined in Ast

type Rep ExpStrContent Source # 
Instance details

Defined in Ast

type Rep ExpStrContent = D1 ('MetaData "ExpStrContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpStrContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "expStrValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstStr)))

data ExpBoolContent Source #

Constructors

ExpBoolContent 

Instances

Instances details
FromJSON ExpBoolContent Source # 
Instance details

Defined in Ast

ToJSON ExpBoolContent Source # 
Instance details

Defined in Ast

Generic ExpBoolContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpBoolContent :: Type -> Type

Show ExpBoolContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpBoolContent -> ShowS

show :: ExpBoolContent -> String

showList :: [ExpBoolContent] -> ShowS

Eq ExpBoolContent Source # 
Instance details

Defined in Ast

Ord ExpBoolContent Source # 
Instance details

Defined in Ast

type Rep ExpBoolContent Source # 
Instance details

Defined in Ast

type Rep ExpBoolContent = D1 ('MetaData "ExpBoolContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpBoolContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "expBoolValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstBool)))

data Operator Source #

Constructors

PLUS 
MINUS 
TIMES 
DIVIDE 
PERCENT 

Instances

Instances details
FromJSON Operator Source # 
Instance details

Defined in Ast

ToJSON Operator Source # 
Instance details

Defined in Ast

Generic Operator Source # 
Instance details

Defined in Ast

Associated Types

type Rep Operator :: Type -> Type

Methods

from :: Operator -> Rep Operator x

to :: Rep Operator x -> Operator

Show Operator Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Operator -> ShowS

show :: Operator -> String

showList :: [Operator] -> ShowS

Eq Operator Source # 
Instance details

Defined in Ast

Methods

(==) :: Operator -> Operator -> Bool

(/=) :: Operator -> Operator -> Bool

Ord Operator Source # 
Instance details

Defined in Ast

Methods

compare :: Operator -> Operator -> Ordering

(<) :: Operator -> Operator -> Bool

(<=) :: Operator -> Operator -> Bool

(>) :: Operator -> Operator -> Bool

(>=) :: Operator -> Operator -> Bool

max :: Operator -> Operator -> Operator

min :: Operator -> Operator -> Operator

type Rep Operator Source # 
Instance details

Defined in Ast

type Rep Operator = D1 ('MetaData "Operator" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) ((C1 ('MetaCons "PLUS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MINUS" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TIMES" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DIVIDE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PERCENT" 'PrefixI 'False) (U1 :: Type -> Type))))

data ExpLambdaContent Source #

Instances

Instances details
FromJSON ExpLambdaContent Source # 
Instance details

Defined in Ast

ToJSON ExpLambdaContent Source # 
Instance details

Defined in Ast

Generic ExpLambdaContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpLambdaContent :: Type -> Type

Show ExpLambdaContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpLambdaContent -> ShowS

show :: ExpLambdaContent -> String

showList :: [ExpLambdaContent] -> ShowS

Eq ExpLambdaContent Source # 
Instance details

Defined in Ast

Ord ExpLambdaContent Source # 
Instance details

Defined in Ast

type Rep ExpLambdaContent Source # 
Instance details

Defined in Ast

type Rep ExpLambdaContent = D1 ('MetaData "ExpLambdaContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpLambdaContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "expLambdaParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Param]) :*: (S1 ('MetaSel ('Just "expLambdaBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "expLambdaLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data ExpBinopContent Source #

Instances

Instances details
FromJSON ExpBinopContent Source # 
Instance details

Defined in Ast

ToJSON ExpBinopContent Source # 
Instance details

Defined in Ast

Generic ExpBinopContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpBinopContent :: Type -> Type

Show ExpBinopContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpBinopContent -> ShowS

show :: ExpBinopContent -> String

showList :: [ExpBinopContent] -> ShowS

Eq ExpBinopContent Source # 
Instance details

Defined in Ast

Ord ExpBinopContent Source # 
Instance details

Defined in Ast

type Rep ExpBinopContent Source # 
Instance details

Defined in Ast

type Rep ExpBinopContent = D1 ('MetaData "ExpBinopContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpBinopContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "expBinopLeft") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Just "expBinopRight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)) :*: (S1 ('MetaSel ('Just "expBinopOperator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Operator) :*: S1 ('MetaSel ('Just "expBinopLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data ExpVarContent Source #

Constructors

ExpVarContent 

Fields

Instances

Instances details
FromJSON ExpVarContent Source # 
Instance details

Defined in Ast

ToJSON ExpVarContent Source # 
Instance details

Defined in Ast

Generic ExpVarContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpVarContent :: Type -> Type

Show ExpVarContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpVarContent -> ShowS

show :: ExpVarContent -> String

showList :: [ExpVarContent] -> ShowS

Eq ExpVarContent Source # 
Instance details

Defined in Ast

Ord ExpVarContent Source # 
Instance details

Defined in Ast

type Rep ExpVarContent Source # 
Instance details

Defined in Ast

type Rep ExpVarContent = D1 ('MetaData "ExpVarContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpVarContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "actualExpVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Var)))

data StmtAssignContent Source #

Instances

Instances details
FromJSON StmtAssignContent Source # 
Instance details

Defined in Ast

ToJSON StmtAssignContent Source # 
Instance details

Defined in Ast

Generic StmtAssignContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtAssignContent :: Type -> Type

Show StmtAssignContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtAssignContent -> ShowS

show :: StmtAssignContent -> String

showList :: [StmtAssignContent] -> ShowS

Eq StmtAssignContent Source # 
Instance details

Defined in Ast

Ord StmtAssignContent Source # 
Instance details

Defined in Ast

type Rep StmtAssignContent Source # 
Instance details

Defined in Ast

type Rep StmtAssignContent = D1 ('MetaData "StmtAssignContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtAssignContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtAssignLhs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Var) :*: S1 ('MetaSel ('Just "stmtAssignRhs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp)))

data StmtTryContent Source #

Instances

Instances details
FromJSON StmtTryContent Source # 
Instance details

Defined in Ast

ToJSON StmtTryContent Source # 
Instance details

Defined in Ast

Generic StmtTryContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtTryContent :: Type -> Type

Show StmtTryContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtTryContent -> ShowS

show :: StmtTryContent -> String

showList :: [StmtTryContent] -> ShowS

Eq StmtTryContent Source # 
Instance details

Defined in Ast

Ord StmtTryContent Source # 
Instance details

Defined in Ast

type Rep StmtTryContent Source # 
Instance details

Defined in Ast

type Rep StmtTryContent = D1 ('MetaData "StmtTryContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtTryContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtTryPart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: (S1 ('MetaSel ('Just "stmtCatchPart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "stmtTryLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data StmtBreakContent Source #

Instances

Instances details
FromJSON StmtBreakContent Source # 
Instance details

Defined in Ast

ToJSON StmtBreakContent Source # 
Instance details

Defined in Ast

Generic StmtBreakContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtBreakContent :: Type -> Type

Show StmtBreakContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtBreakContent -> ShowS

show :: StmtBreakContent -> String

showList :: [StmtBreakContent] -> ShowS

Eq StmtBreakContent Source # 
Instance details

Defined in Ast

Ord StmtBreakContent Source # 
Instance details

Defined in Ast

type Rep StmtBreakContent Source # 
Instance details

Defined in Ast

type Rep StmtBreakContent = D1 ('MetaData "StmtBreakContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtBreakContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtBreakLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data StmtImportContent Source #

Constructors

StmtImportContent 

Instances

Instances details
FromJSON StmtImportContent Source # 
Instance details

Defined in Ast

ToJSON StmtImportContent Source # 
Instance details

Defined in Ast

Generic StmtImportContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtImportContent :: Type -> Type

Show StmtImportContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtImportContent -> ShowS

show :: StmtImportContent -> String

showList :: [StmtImportContent] -> ShowS

Eq StmtImportContent Source # 
Instance details

Defined in Ast

Ord StmtImportContent Source # 
Instance details

Defined in Ast

type Rep StmtImportContent Source # 
Instance details

Defined in Ast

type Rep StmtImportContent = D1 ('MetaData "StmtImportContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtImportContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtImportName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "stmtImportAlias") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "stmtImportLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data StmtContinueContent Source #

Instances

Instances details
FromJSON StmtContinueContent Source # 
Instance details

Defined in Ast

ToJSON StmtContinueContent Source # 
Instance details

Defined in Ast

Generic StmtContinueContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtContinueContent :: Type -> Type

Show StmtContinueContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtContinueContent -> ShowS

show :: StmtContinueContent -> String

showList :: [StmtContinueContent] -> ShowS

Eq StmtContinueContent Source # 
Instance details

Defined in Ast

Ord StmtContinueContent Source # 
Instance details

Defined in Ast

type Rep StmtContinueContent Source # 
Instance details

Defined in Ast

type Rep StmtContinueContent = D1 ('MetaData "StmtContinueContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtContinueContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtContinueLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data StmtIfContent Source #

Instances

Instances details
FromJSON StmtIfContent Source # 
Instance details

Defined in Ast

ToJSON StmtIfContent Source # 
Instance details

Defined in Ast

Generic StmtIfContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtIfContent :: Type -> Type

Show StmtIfContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtIfContent -> ShowS

show :: StmtIfContent -> String

showList :: [StmtIfContent] -> ShowS

Eq StmtIfContent Source # 
Instance details

Defined in Ast

Ord StmtIfContent Source # 
Instance details

Defined in Ast

type Rep StmtIfContent Source # 
Instance details

Defined in Ast

type Rep StmtIfContent = D1 ('MetaData "StmtIfContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtIfContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stmtIfCond") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Just "stmtIfBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])) :*: (S1 ('MetaSel ('Just "stmtElseBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "stmtIfLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data StmtWhileContent Source #

Instances

Instances details
FromJSON StmtWhileContent Source # 
Instance details

Defined in Ast

ToJSON StmtWhileContent Source # 
Instance details

Defined in Ast

Generic StmtWhileContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtWhileContent :: Type -> Type

Show StmtWhileContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtWhileContent -> ShowS

show :: StmtWhileContent -> String

showList :: [StmtWhileContent] -> ShowS

Eq StmtWhileContent Source # 
Instance details

Defined in Ast

Ord StmtWhileContent Source # 
Instance details

Defined in Ast

type Rep StmtWhileContent Source # 
Instance details

Defined in Ast

type Rep StmtWhileContent = D1 ('MetaData "StmtWhileContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtWhileContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtWhileCond") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Just "stmtWhileBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "stmtWhileLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data StmtReturnContent Source #

Instances

Instances details
FromJSON StmtReturnContent Source # 
Instance details

Defined in Ast

ToJSON StmtReturnContent Source # 
Instance details

Defined in Ast

Generic StmtReturnContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtReturnContent :: Type -> Type

Show StmtReturnContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtReturnContent -> ShowS

show :: StmtReturnContent -> String

showList :: [StmtReturnContent] -> ShowS

Eq StmtReturnContent Source # 
Instance details

Defined in Ast

Ord StmtReturnContent Source # 
Instance details

Defined in Ast

type Rep StmtReturnContent Source # 
Instance details

Defined in Ast

type Rep StmtReturnContent = D1 ('MetaData "StmtReturnContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "StmtReturnContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "stmtReturnValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Exp)) :*: S1 ('MetaSel ('Just "stmtReturnLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data ExpCallContent Source #

Constructors

ExpCallContent 

Fields

Instances

Instances details
FromJSON ExpCallContent Source # 
Instance details

Defined in Ast

ToJSON ExpCallContent Source # 
Instance details

Defined in Ast

Generic ExpCallContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep ExpCallContent :: Type -> Type

Show ExpCallContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> ExpCallContent -> ShowS

show :: ExpCallContent -> String

showList :: [ExpCallContent] -> ShowS

Eq ExpCallContent Source # 
Instance details

Defined in Ast

Ord ExpCallContent Source # 
Instance details

Defined in Ast

type Rep ExpCallContent Source # 
Instance details

Defined in Ast

type Rep ExpCallContent = D1 ('MetaData "ExpCallContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "ExpCallContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "callee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Just "args") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Exp]) :*: S1 ('MetaSel ('Just "expCallLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data VarFieldContent Source #

Instances

Instances details
FromJSON VarFieldContent Source # 
Instance details

Defined in Ast

ToJSON VarFieldContent Source # 
Instance details

Defined in Ast

Generic VarFieldContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep VarFieldContent :: Type -> Type

Show VarFieldContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> VarFieldContent -> ShowS

show :: VarFieldContent -> String

showList :: [VarFieldContent] -> ShowS

Eq VarFieldContent Source # 
Instance details

Defined in Ast

Ord VarFieldContent Source # 
Instance details

Defined in Ast

type Rep VarFieldContent Source # 
Instance details

Defined in Ast

type Rep VarFieldContent = D1 ('MetaData "VarFieldContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "VarFieldContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "varFieldLhs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Just "varFieldName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FieldName) :*: S1 ('MetaSel ('Just "varFieldLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data VarSimpleContent Source #

Constructors

VarSimpleContent 

Fields

Instances

Instances details
FromJSON VarSimpleContent Source # 
Instance details

Defined in Ast

ToJSON VarSimpleContent Source # 
Instance details

Defined in Ast

Generic VarSimpleContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep VarSimpleContent :: Type -> Type

Show VarSimpleContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> VarSimpleContent -> ShowS

show :: VarSimpleContent -> String

showList :: [VarSimpleContent] -> ShowS

Eq VarSimpleContent Source # 
Instance details

Defined in Ast

Ord VarSimpleContent Source # 
Instance details

Defined in Ast

type Rep VarSimpleContent Source # 
Instance details

Defined in Ast

type Rep VarSimpleContent = D1 ('MetaData "VarSimpleContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "VarSimpleContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "varName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarName)))

data VarSubscriptContent Source #

Instances

Instances details
FromJSON VarSubscriptContent Source # 
Instance details

Defined in Ast

ToJSON VarSubscriptContent Source # 
Instance details

Defined in Ast

Generic VarSubscriptContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep VarSubscriptContent :: Type -> Type

Show VarSubscriptContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> VarSubscriptContent -> ShowS

show :: VarSubscriptContent -> String

showList :: [VarSubscriptContent] -> ShowS

Eq VarSubscriptContent Source # 
Instance details

Defined in Ast

Ord VarSubscriptContent Source # 
Instance details

Defined in Ast

type Rep VarSubscriptContent Source # 
Instance details

Defined in Ast

type Rep VarSubscriptContent = D1 ('MetaData "VarSubscriptContent" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "VarSubscriptContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "varSubscriptLhs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: (S1 ('MetaSel ('Just "varSubscriptIdx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Exp) :*: S1 ('MetaSel ('Just "varSubscriptLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location))))

data Var Source #

Instances

Instances details
FromJSON Var Source # 
Instance details

Defined in Ast

ToJSON Var Source # 
Instance details

Defined in Ast

Generic Var Source # 
Instance details

Defined in Ast

Associated Types

type Rep Var :: Type -> Type

Methods

from :: Var -> Rep Var x

to :: Rep Var x -> Var

Show Var Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> Var -> ShowS

show :: Var -> String

showList :: [Var] -> ShowS

Eq Var Source # 
Instance details

Defined in Ast

Methods

(==) :: Var -> Var -> Bool

(/=) :: Var -> Var -> Bool

Ord Var Source # 
Instance details

Defined in Ast

Methods

compare :: Var -> Var -> Ordering

(<) :: Var -> Var -> Bool

(<=) :: Var -> Var -> Bool

(>) :: Var -> Var -> Bool

(>=) :: Var -> Var -> Bool

max :: Var -> Var -> Var

min :: Var -> Var -> Var

type Rep Var Source # 
Instance details

Defined in Ast

type Rep Var = D1 ('MetaData "Var" "Ast" "dhscanner-ast-0.1.0.2-inplace" 'False) (C1 ('MetaCons "VarSimple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarSimpleContent)) :+: (C1 ('MetaCons "VarField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarFieldContent)) :+: C1 ('MetaCons "VarSubscript" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarSubscriptContent))))