php8.1: added intersection types support (#29)
This commit is contained in:
@@ -15,6 +15,7 @@ type Visitor interface {
|
||||
Argument(n *Argument)
|
||||
MatchArm(n *MatchArm)
|
||||
Union(n *Union)
|
||||
Intersection(n *Intersection)
|
||||
Attribute(n *Attribute)
|
||||
AttributeGroup(n *AttributeGroup)
|
||||
|
||||
|
||||
@@ -50,6 +50,21 @@ func (n *Union) GetPosition() *position.Position {
|
||||
return n.Position
|
||||
}
|
||||
|
||||
// Intersection node is Expr&Expr1&...
|
||||
type Intersection struct {
|
||||
Position *position.Position
|
||||
Types []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
}
|
||||
|
||||
func (n *Intersection) Accept(v Visitor) {
|
||||
v.Intersection(n)
|
||||
}
|
||||
|
||||
func (n *Intersection) GetPosition() *position.Position {
|
||||
return n.Position
|
||||
}
|
||||
|
||||
// Parameter node
|
||||
type Parameter struct {
|
||||
Position *position.Position
|
||||
|
||||
Reference in New Issue
Block a user