about summary refs log tree commit diff
path: root/pkg/lang/ast/nodes.go
blob: 74ebd2a5d7fd23587755282ca000972799afc624 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package ast

import "jinx/pkg/libs/source"

type IdentNode struct {
	At    source.Loc
	Value string
}

type BlockNode struct {
	At    source.Loc
	Stmts []Stmt
}

type CondNode struct {
	At   source.Loc
	Cond Expr
	Then BlockNode
}

type TypeMethodNode struct {
	At            source.Loc
	HasThis       bool
	IsConstructor bool
	Name          IdentNode
	Args          []IdentNode
	Body          BlockNode
}