dhscanner-ast-0.1.0.3: 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 ( native ) ast kinds
    • from various programming languages
  • Its main purpose is to serve as the:

    • first step for static code analysis
    • part of the dhscanner framework for CI/CD container security checks 🔒 and PII leaks detection 🪪
  • As part of the dhscanner framework:

    • targets mostly languages used for cloud native applications ☁️
    • Python, Ruby 💎, Php, Javascript, Typescript, Java ☕️, C# and Golang.
  • Typical flow:

    • a file is parsed with the corresponding native parser of the language it's written in

    • the native ast is dumped (as JSON, or plain text)
    • dumped content is sent to a Happy + Alex Haskell parser
    • the Haskell parser organizes the natively parsed content into an 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
    • it models both of them as plain sequential code blocks.
  • Every file has exactly one ast ( Root ) that represents it
  • Non Haskell parogrammers note:

    • The ast is immutable ( like everything else in Haskell ... )
Synopsis

Documentation

data Root Source #

  • every file has exactly one root 🌱
  • classes, functions and methods are organized as statements ( not declarations )
  • this enables a simpler view for modules, namespaces, nested classes etc.

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.3-inplace" 'False) (C1 ('MetaCons "Root" 'PrefixI 'True) (S1 ('MetaSel ('Just "filename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "stmts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt])))

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.3-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.3-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 "StmtClass" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtClassContent)) :+: (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 "StmtMethod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StmtMethodContent)) :+: 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 

Fields

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.3-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.3-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.3-inplace" 'False) (C1 ('MetaCons "DataMembers" 'PrefixI 'True) (S1 ('MetaSel ('Just "actualDataMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map MembrName DataMember))))

data StmtMethodContent Source #

Instances

Instances details
FromJSON StmtMethodContent Source # 
Instance details

Defined in Ast

ToJSON StmtMethodContent Source # 
Instance details

Defined in Ast

Generic StmtMethodContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtMethodContent :: Type -> Type

Show StmtMethodContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtMethodContent -> ShowS

show :: StmtMethodContent -> String

showList :: [StmtMethodContent] -> ShowS

Eq StmtMethodContent Source # 
Instance details

Defined in Ast

Ord StmtMethodContent Source # 
Instance details

Defined in Ast

type Rep StmtMethodContent Source # 
Instance details

Defined in Ast

type Rep StmtMethodContent = D1 ('MetaData "StmtMethodContent" "Ast" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "StmtMethodContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stmtMethodReturnType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NominalTy) :*: (S1 ('MetaSel ('Just "stmtMethodName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MethdName) :*: S1 ('MetaSel ('Just "stmtMethodParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Param]))) :*: ((S1 ('MetaSel ('Just "stmtMethodBody") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Stmt]) :*: S1 ('MetaSel ('Just "stmtMethodLocation") '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.3-inplace" 'False) (C1 ('MetaCons "Methods" 'PrefixI 'True) (S1 ('MetaSel ('Just "actualMethods") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map MethdName StmtMethodContent))))

data StmtClassContent Source #

Instances

Instances details
FromJSON StmtClassContent Source # 
Instance details

Defined in Ast

ToJSON StmtClassContent Source # 
Instance details

Defined in Ast

Generic StmtClassContent Source # 
Instance details

Defined in Ast

Associated Types

type Rep StmtClassContent :: Type -> Type

Show StmtClassContent Source # 
Instance details

Defined in Ast

Methods

showsPrec :: Int -> StmtClassContent -> ShowS

show :: StmtClassContent -> String

showList :: [StmtClassContent] -> ShowS

Eq StmtClassContent Source # 
Instance details

Defined in Ast

Ord StmtClassContent Source # 
Instance details

Defined in Ast

type Rep StmtClassContent Source # 
Instance details

Defined in Ast

type Rep StmtClassContent = D1 ('MetaData "StmtClassContent" "Ast" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "StmtClassContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "stmtClassName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClassName) :*: S1 ('MetaSel ('Just "stmtClassSupers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SuperName])) :*: (S1 ('MetaSel ('Just "stmtClassDataMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataMembers) :*: S1 ('MetaSel ('Just "stmtClassMethods") '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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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.3-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))))