builders

package
v0.0.0-...-e03b1fb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2020 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add

func Add(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func And

func And(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Append

func Append(dst ast.Expr, src ...ast.Expr) *ast.CallExpr

func ArrayOf

func ArrayOf(e, size ast.Expr) *ast.ArrayType

func BAdd

func BAdd(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func BAddNot

func BAddNot(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func BOr

func BOr(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func BXor

func BXor(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func BinaryOp

func BinaryOp(x ast.Expr, tok token.Token, y ast.Expr) *ast.BinaryExpr

func Call

func Call(f ast.Expr, args ...ast.Expr) *ast.CallExpr

func CallName

func CallName(name string, args ...ast.Expr) *ast.CallExpr

func CallPackage

func CallPackage(pkg, name string, args ...ast.Expr) *ast.CallExpr

func Cap

func Cap(x ast.Expr) *ast.CallExpr

func Cast

func Cast(to, what ast.Expr) *ast.CallExpr

func CastPackage

func CastPackage(pkg, name string, what ast.Expr) *ast.CallExpr

func CharLit

func CharLit(value rune) *ast.BasicLit

func Copy

func Copy(dst, src ast.Expr) *ast.CallExpr

func DeRef

func DeRef(e ast.Expr) *ast.StarExpr

func Dec

func Dec(e ast.Expr) *ast.UnaryExpr

func Div

func Div(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Eq

func Eq(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func FieldName

func FieldName(f *ast.Field) (r *ast.Ident, ok bool)

func FloatLit

func FloatLit(value float64) *ast.BasicLit

func Greater

func Greater(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func GreaterOrEq

func GreaterOrEq(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func IdentOfKind

func IdentOfKind(kind types.BasicKind) *ast.Ident

func Inc

func Inc(e ast.Expr) *ast.UnaryExpr

func IntegerLit

func IntegerLit(value int) *ast.BasicLit

func Len

func Len(x ast.Expr) *ast.CallExpr

func Less

func Less(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func LessOrEq

func LessOrEq(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Make

func Make(typ ast.Expr, length, capacity int) *ast.CallExpr

func MakeExpr

func MakeExpr(typ, length, capacity ast.Expr) *ast.CallExpr

func Mul

func Mul(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func New

func New(x ast.Expr) *ast.CallExpr

func Not

func Not(e ast.Expr) *ast.UnaryExpr

func NotEq

func NotEq(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Or

func Or(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Paren

func Paren(e ast.Expr) *ast.ParenExpr

func Ref

func Ref(e ast.Expr) *ast.UnaryExpr

func RefFor

func RefFor(ident ast.Expr) *ast.StarExpr

func Rem

func Rem(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func Selector

func Selector(a ast.Expr, b *ast.Ident, expr ...*ast.Ident) *ast.SelectorExpr

func SelectorName

func SelectorName(a, b string, expr ...string) *ast.SelectorExpr

func ShiftLeft

func ShiftLeft(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func ShiftRight

func ShiftRight(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func StringLit

func StringLit(value string) *ast.BasicLit

func Sub

func Sub(x ast.Expr, y ast.Expr) *ast.BinaryExpr

func ZeroValue

func ZeroValue(typ ast.Expr, names ...*ast.Ident) *ast.ValueSpec

Types

type AssignFunc

type AssignFunc = func(tok token.Token) func(ast.Expr, ...ast.Expr) *ast.AssignStmt

func Assign

func Assign(lhs1 ast.Expr, lhs ...ast.Expr) AssignFunc

type BodyFunc

type BodyFunc func(s StatementBuilder) StatementBuilder

type FunctionBuilder

type FunctionBuilder struct {
	// contains filtered or unexported fields
}

func NewFunctionBuilder

func NewFunctionBuilder(name string) FunctionBuilder

func (FunctionBuilder) AddParameters

func (builder FunctionBuilder) AddParameters(params ...*ast.Field) FunctionBuilder

func (FunctionBuilder) AddResults

func (builder FunctionBuilder) AddResults(results ...*ast.Field) FunctionBuilder

func (FunctionBuilder) AddStmts

func (builder FunctionBuilder) AddStmts(stmts ...ast.Stmt) FunctionBuilder

func (FunctionBuilder) Body

func (builder FunctionBuilder) Body(f BodyFunc) FunctionBuilder

func (FunctionBuilder) CompleteAsCall

func (builder FunctionBuilder) CompleteAsCall(args ...ast.Expr) *ast.CallExpr

func (FunctionBuilder) CompleteAsDecl

func (builder FunctionBuilder) CompleteAsDecl() *ast.FuncDecl

func (FunctionBuilder) CompleteAsLiteral

func (builder FunctionBuilder) CompleteAsLiteral() *ast.FuncLit

func (FunctionBuilder) Recv

func (builder FunctionBuilder) Recv(recv *ast.Field) FunctionBuilder

type StatementBuilder

type StatementBuilder struct {
	// contains filtered or unexported fields
}

func NewStatementBuilder

func NewStatementBuilder() StatementBuilder

func (StatementBuilder) Add

func (StatementBuilder) AddStmts

func (builder StatementBuilder) AddStmts(stmts ...ast.Stmt) StatementBuilder

func (StatementBuilder) Assign

func (builder StatementBuilder) Assign(lhs1 ast.Expr, lhs ...ast.Expr) func(tok token.Token) func(ast.Expr, ...ast.Expr) StatementBuilder

func (StatementBuilder) Block

func (builder StatementBuilder) Block(loopBody BodyFunc) StatementBuilder

func (StatementBuilder) Branch

func (builder StatementBuilder) Branch(token token.Token) StatementBuilder

func (StatementBuilder) BranchLabel

func (builder StatementBuilder) BranchLabel(token token.Token, label *ast.Ident) StatementBuilder

func (StatementBuilder) Case

func (builder StatementBuilder) Case(list []ast.Expr, caseBody BodyFunc) StatementBuilder

func (StatementBuilder) CaseExpr

func (builder StatementBuilder) CaseExpr(expr ast.Expr, caseBody BodyFunc) StatementBuilder

func (StatementBuilder) Complete

func (builder StatementBuilder) Complete() []ast.Stmt

func (StatementBuilder) CompleteAsBlock

func (builder StatementBuilder) CompleteAsBlock() *ast.BlockStmt

func (StatementBuilder) Const

func (builder StatementBuilder) Const(specs ...ast.Spec) StatementBuilder

func (StatementBuilder) Decl

func (builder StatementBuilder) Decl(decl ast.Decl) StatementBuilder

func (StatementBuilder) Defer

func (builder StatementBuilder) Defer(call *ast.CallExpr) StatementBuilder

func (StatementBuilder) Define

func (builder StatementBuilder) Define(lhs1 ast.Expr, lhs ...ast.Expr) func(ast.Expr, ...ast.Expr) StatementBuilder

func (StatementBuilder) Expr

func (builder StatementBuilder) Expr(expr ast.Expr) StatementBuilder

func (StatementBuilder) For

func (builder StatementBuilder) For(init ast.Stmt, cond ast.Expr, post ast.Stmt, loopBody BodyFunc) StatementBuilder

func (StatementBuilder) Go

func (builder StatementBuilder) Go(call *ast.CallExpr) StatementBuilder

func (StatementBuilder) If

func (builder StatementBuilder) If(init ast.Stmt, cond ast.Expr, ifBody BodyFunc) StatementBuilder

func (StatementBuilder) IfElse

func (builder StatementBuilder) IfElse(init ast.Stmt, cond ast.Expr, ifBody, elseBody BodyFunc) StatementBuilder

func (StatementBuilder) IfElseStmt

func (builder StatementBuilder) IfElseStmt(init ast.Stmt, cond ast.Expr, ifBody BodyFunc, elseStmt ast.Stmt) StatementBuilder

func (StatementBuilder) Range

func (builder StatementBuilder) Range(key, value, iter ast.Expr, loopBody BodyFunc) StatementBuilder

func (StatementBuilder) Return

func (builder StatementBuilder) Return(results ...ast.Expr) StatementBuilder

func (StatementBuilder) Select

func (builder StatementBuilder) Select(selectBody BodyFunc) StatementBuilder

func (StatementBuilder) SelectCase

func (builder StatementBuilder) SelectCase(comm ast.Stmt, caseBody BodyFunc) StatementBuilder

func (StatementBuilder) Switch

func (builder StatementBuilder) Switch(init ast.Stmt, tag ast.Expr, switchBody BodyFunc) StatementBuilder

func (StatementBuilder) TypeSwitch

func (builder StatementBuilder) TypeSwitch(init, assign ast.Stmt, switchBody BodyFunc) StatementBuilder

func (StatementBuilder) Var

func (builder StatementBuilder) Var(specs ...ast.Spec) StatementBuilder

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL