| Safe Haskell | Safe-Inferred |
|---|
Language.Go.Syntax.AST
Description
This module defines the nodes of Go syntax tree.
- data GoSource = GoSource {
- getPackage :: GoId
- getTopLevelPrel :: [GoPrel]
- getTopLevelDecl :: [GoDecl]
- data GoPrel = GoImportDecl [GoImpSpec]
- data GoDecl
- = GoConst [GoCVSpec]
- | GoType [GoTypeSpec]
- | GoVar [GoCVSpec]
- | GoFunc GoFuncDecl
- | GoMeth GoMethDecl
- data GoImpSpec = GoImpSpec GoImpType String
- data GoImpType
- data GoCVSpec = GoCVSpec [GoId] (Maybe GoType) [GoExpr]
- data GoTypeSpec = GoTypeSpec GoId GoType
- data GoFuncExpr = GoFuncExpr GoSig GoBlock
- data GoFuncDecl = GoFuncDecl GoId GoSig GoBlock
- data GoMethDecl = GoMethDecl GoRec GoId GoSig GoBlock
- data GoMethSpec
- = GoMethSpec GoId GoSig
- | GoIfaceName (Maybe GoId) GoId
- data GoId = GoId String
- data GoOp = GoOp String
- data GoRec = GoRec Bool (Maybe GoId) GoType
- data GoSig = GoSig [GoParam] [GoParam]
- data GoParam = GoParam [GoId] GoType
- data GoType
- data GoChanKind
- data GoFieldType
- = GoFieldType {
- getFieldTag :: Maybe GoLit
- getFieldId :: [GoId]
- getFieldType :: GoType
- | GoFieldAnon { }
- = GoFieldType {
- data GoExpr
- data GoPrim
- data GoLit
- data GoComp = GoComp [GoElement]
- data GoElement = GoElement GoKey GoValue
- data GoKey
- = GoKeyNone
- | GoKeyField GoId
- | GoKeyIndex GoExpr
- data GoValue
- data GoBlock
- data GoForClause
- = GoForWhile (Maybe GoExpr)
- | GoForThree GoSimp (Maybe GoExpr) GoSimp
- | GoForRange [GoExpr] GoExpr Bool
- data GoStmt
- = GoStmtDecl GoDecl
- | GoStmtLabeled GoId GoStmt
- | GoStmtSimple GoSimp
- | GoStmtGo GoExpr
- | GoStmtReturn [GoExpr]
- | GoStmtBreak (Maybe GoId)
- | GoStmtContinue (Maybe GoId)
- | GoStmtGoto GoId
- | GoStmtFallthrough
- | GoStmtBlock GoBlock
- | GoStmtIf GoCond GoBlock (Maybe GoStmt)
- | GoStmtSelect [GoCase GoChan]
- | GoStmtSwitch GoCond [GoCase GoExpr]
- | GoStmtTypeSwitch GoCond [GoCase GoType] (Maybe GoId)
- | GoStmtFor GoForClause GoBlock
- | GoStmtDefer GoExpr
- data GoSimp
- data GoChan
- = GoChanRecv (Maybe (GoExpr, Maybe GoExpr, GoOp)) GoExpr
- | GoChanSend GoExpr GoExpr
- data GoCond = GoCond (Maybe GoSimp) (Maybe GoExpr)
- data GoCase a
Documentation
Go Language source start
Constructors
| GoSource | |
Fields
| |
Constructors
| GoImportDecl [GoImpSpec] |
Constructors
| GoConst [GoCVSpec] | |
| GoType [GoTypeSpec] | |
| GoVar [GoCVSpec] | |
| GoFunc GoFuncDecl | |
| GoMeth GoMethDecl |
data GoChanKind Source
Instances
data GoFieldType Source
Constructors
| GoFieldType | |
Fields
| |
| GoFieldAnon | |
Fields
| |
Instances
Constructors
| GoKeyNone | |
| GoKeyField GoId | |
| GoKeyIndex GoExpr |
Constructors
| GoValueExpr GoExpr | |
| GoValueComp GoComp |
data GoForClause Source
Constructors
| GoForWhile (Maybe GoExpr) | |
| GoForThree GoSimp (Maybe GoExpr) GoSimp | |
| GoForRange [GoExpr] GoExpr Bool |
Instances
Constructors
Constructors
| GoChanRecv (Maybe (GoExpr, Maybe GoExpr, GoOp)) GoExpr | |
| GoChanSend GoExpr GoExpr |