php8.1: added enum (#12)

This commit is contained in:
Makhnev Petr
2021-07-31 19:44:09 +03:00
committed by GitHub
parent 44bbff6073
commit af394e9eb0
18 changed files with 9171 additions and 8531 deletions

View File

@@ -21,6 +21,8 @@ type Visitor interface {
StmtBreak(n *StmtBreak)
StmtCase(n *StmtCase)
StmtCatch(n *StmtCatch)
StmtEnum(n *StmtEnum)
EnumCase(n *EnumCase)
StmtClass(n *StmtClass)
StmtClassConstList(n *StmtClassConstList)
StmtClassMethod(n *StmtClassMethod)

View File

@@ -337,6 +337,49 @@ func (n *StmtCatch) GetPosition() *position.Position {
return n.Position
}
// StmtEnum node
type StmtEnum struct {
Position *position.Position
AttrGroups []Vertex
EnumTkn *token.Token
Name Vertex
ColonTkn *token.Token
Type Vertex
ImplementsTkn *token.Token
Implements []Vertex
ImplementsSeparatorTkns []*token.Token
OpenCurlyBracketTkn *token.Token
Stmts []Vertex
CloseCurlyBracketTkn *token.Token
}
func (n *StmtEnum) Accept(v Visitor) {
v.StmtEnum(n)
}
func (n *StmtEnum) GetPosition() *position.Position {
return n.Position
}
// EnumCase node
type EnumCase struct {
Position *position.Position
AttrGroups []Vertex
CaseTkn *token.Token
Name Vertex
EqualTkn *token.Token
Expr Vertex
SemiColonTkn *token.Token
}
func (n *EnumCase) Accept(v Visitor) {
v.EnumCase(n)
}
func (n *EnumCase) GetPosition() *position.Position {
return n.Position
}
// StmtClass node
type StmtClass struct {
Position *position.Position