123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package ast
- type Expr interface {
- PositionHolder
- exprMarker()
- }
- type ExprBase struct {
- Node
- }
- func (expr *ExprBase) exprMarker() {}
- /* ConstExprs {{{ */
- type ConstExpr interface {
- Expr
- constExprMarker()
- }
- type ConstExprBase struct {
- ExprBase
- }
- func (expr *ConstExprBase) constExprMarker() {}
- type TrueExpr struct {
- ConstExprBase
- }
- type FalseExpr struct {
- ConstExprBase
- }
- type NilExpr struct {
- ConstExprBase
- }
- type NumberExpr struct {
- ConstExprBase
- Value string
- }
- type StringExpr struct {
- ConstExprBase
- Value string
- }
- /* ConstExprs }}} */
- type Comma3Expr struct {
- ExprBase
- AdjustRet bool
- }
- type IdentExpr struct {
- ExprBase
- Value string
- }
- type AttrGetExpr struct {
- ExprBase
- Object Expr
- Key Expr
- }
- type TableExpr struct {
- ExprBase
- Fields []*Field
- }
- type FuncCallExpr struct {
- ExprBase
- Func Expr
- Receiver Expr
- Method string
- Args []Expr
- AdjustRet bool
- }
- type LogicalOpExpr struct {
- ExprBase
- Operator string
- Lhs Expr
- Rhs Expr
- }
- type RelationalOpExpr struct {
- ExprBase
- Operator string
- Lhs Expr
- Rhs Expr
- }
- type StringConcatOpExpr struct {
- ExprBase
- Lhs Expr
- Rhs Expr
- }
- type ArithmeticOpExpr struct {
- ExprBase
- Operator string
- Lhs Expr
- Rhs Expr
- }
- type UnaryMinusOpExpr struct {
- ExprBase
- Expr Expr
- }
- type UnaryNotOpExpr struct {
- ExprBase
- Expr Expr
- }
- type UnaryLenOpExpr struct {
- ExprBase
- Expr Expr
- }
- type FunctionExpr struct {
- ExprBase
- ParList *ParList
- Stmts []Stmt
- }
|