ipld-eth-server/vendor/github.com/dave/jennifer/jen/lit.go

155 lines
4.6 KiB
Go

package jen
// Lit renders a literal. Lit supports only built-in types (bool, string, int, complex128, float64,
// float32, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Passing any other type will panic.
func Lit(v interface{}) *Statement {
return newStatement().Lit(v)
}
// Lit renders a literal. Lit supports only built-in types (bool, string, int, complex128, float64,
// float32, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Passing any other type will panic.
func (g *Group) Lit(v interface{}) *Statement {
s := Lit(v)
g.items = append(g.items, s)
return s
}
// Lit renders a literal. Lit supports only built-in types (bool, string, int, complex128, float64,
// float32, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Passing any other type will panic.
func (s *Statement) Lit(v interface{}) *Statement {
t := token{
typ: literalToken,
content: v,
}
*s = append(*s, t)
return s
}
// LitFunc renders a literal. LitFunc generates the value to render by executing the provided
// function. LitFunc supports only built-in types (bool, string, int, complex128, float64, float32,
// int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Returning any other type will panic.
func LitFunc(f func() interface{}) *Statement {
return newStatement().LitFunc(f)
}
// LitFunc renders a literal. LitFunc generates the value to render by executing the provided
// function. LitFunc supports only built-in types (bool, string, int, complex128, float64, float32,
// int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Returning any other type will panic.
func (g *Group) LitFunc(f func() interface{}) *Statement {
s := LitFunc(f)
g.items = append(g.items, s)
return s
}
// LitFunc renders a literal. LitFunc generates the value to render by executing the provided
// function. LitFunc supports only built-in types (bool, string, int, complex128, float64, float32,
// int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr and complex64).
// Returning any other type will panic.
func (s *Statement) LitFunc(f func() interface{}) *Statement {
t := token{
typ: literalToken,
content: f(),
}
*s = append(*s, t)
return s
}
// LitRune renders a rune literal.
func LitRune(v rune) *Statement {
return newStatement().LitRune(v)
}
// LitRune renders a rune literal.
func (g *Group) LitRune(v rune) *Statement {
s := LitRune(v)
g.items = append(g.items, s)
return s
}
// LitRune renders a rune literal.
func (s *Statement) LitRune(v rune) *Statement {
t := token{
typ: literalRuneToken,
content: v,
}
*s = append(*s, t)
return s
}
// LitRuneFunc renders a rune literal. LitRuneFunc generates the value to
// render by executing the provided function.
func LitRuneFunc(f func() rune) *Statement {
return newStatement().LitRuneFunc(f)
}
// LitRuneFunc renders a rune literal. LitRuneFunc generates the value to
// render by executing the provided function.
func (g *Group) LitRuneFunc(f func() rune) *Statement {
s := LitRuneFunc(f)
g.items = append(g.items, s)
return s
}
// LitRuneFunc renders a rune literal. LitRuneFunc generates the value to
// render by executing the provided function.
func (s *Statement) LitRuneFunc(f func() rune) *Statement {
t := token{
typ: literalRuneToken,
content: f(),
}
*s = append(*s, t)
return s
}
// LitByte renders a byte literal.
func LitByte(v byte) *Statement {
return newStatement().LitByte(v)
}
// LitByte renders a byte literal.
func (g *Group) LitByte(v byte) *Statement {
s := LitByte(v)
g.items = append(g.items, s)
return s
}
// LitByte renders a byte literal.
func (s *Statement) LitByte(v byte) *Statement {
t := token{
typ: literalByteToken,
content: v,
}
*s = append(*s, t)
return s
}
// LitByteFunc renders a byte literal. LitByteFunc generates the value to
// render by executing the provided function.
func LitByteFunc(f func() byte) *Statement {
return newStatement().LitByteFunc(f)
}
// LitByteFunc renders a byte literal. LitByteFunc generates the value to
// render by executing the provided function.
func (g *Group) LitByteFunc(f func() byte) *Statement {
s := LitByteFunc(f)
g.items = append(g.items, s)
return s
}
// LitByteFunc renders a byte literal. LitByteFunc generates the value to
// render by executing the provided function.
func (s *Statement) LitByteFunc(f func() byte) *Statement {
t := token{
typ: literalByteToken,
content: f(),
}
*s = append(*s, t)
return s
}