feat: generate ast.Type "enum"
This commit is contained in:
@@ -14,6 +14,7 @@ var TypeToVisitorNameMap = map[string]string{
|
||||
type Vertex interface {
|
||||
Accept(v Visitor)
|
||||
GetPosition() *position.Position
|
||||
GetType() Type
|
||||
}
|
||||
|
||||
type Visitor interface {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,6 +28,16 @@ var fileTempl = template.Must(
|
||||
package ast
|
||||
|
||||
import "github.com/VKCOM/php-parser/pkg/position"
|
||||
|
||||
type Type int
|
||||
|
||||
const (
|
||||
TypeNone Type = iota
|
||||
{{- range $i, $typ := .Types }}
|
||||
Type{{ $typ.Name }}
|
||||
{{- end }}
|
||||
TypeCount
|
||||
)
|
||||
{{range $typ := .Types}}
|
||||
var _ Vertex = &{{$typ.Name}}{}
|
||||
|
||||
@@ -38,6 +48,10 @@ func (n *{{$typ.Name}}) Accept(v Visitor) {
|
||||
func (n *{{$typ.Name}}) GetPosition() *position.Position {
|
||||
return n.Position
|
||||
}
|
||||
|
||||
func (n *{{$typ.Name}}) GetType() Type {
|
||||
return Type{{$typ.Name}}
|
||||
}
|
||||
{{end}}`),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user