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 |