[refactoring] update ast structure of "ClassExtends", "ClassImplements", "InterfaceExtends", "StmtTraitUse" and "StmtTraitUsePrecedence" nodes
This commit is contained in:
@@ -242,8 +242,8 @@ type StmtClass struct {
|
||||
ClassTkn *token.Token
|
||||
ClassName Vertex
|
||||
ArgumentList Vertex
|
||||
Extends *StmtClassExtends
|
||||
Implements *StmtClassImplements
|
||||
Extends Vertex
|
||||
Implements Vertex
|
||||
OpenCurlyBracket *token.Token
|
||||
Stmts []Vertex
|
||||
CloseCurlyBracket *token.Token
|
||||
@@ -269,6 +269,7 @@ func (n *StmtClassConstList) Accept(v NodeVisitor) {
|
||||
// StmtClassExtends node
|
||||
type StmtClassExtends struct {
|
||||
Node
|
||||
ExtendTkn *token.Token
|
||||
ClassName Vertex
|
||||
}
|
||||
|
||||
@@ -279,7 +280,9 @@ func (n *StmtClassExtends) Accept(v NodeVisitor) {
|
||||
// StmtClassImplements node
|
||||
type StmtClassImplements struct {
|
||||
Node
|
||||
ImplementsTkn *token.Token
|
||||
InterfaceNames []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
}
|
||||
|
||||
func (n *StmtClassImplements) Accept(v NodeVisitor) {
|
||||
@@ -582,7 +585,7 @@ func (n *StmtInlineHtml) Accept(v NodeVisitor) {
|
||||
type StmtInterface struct {
|
||||
Node
|
||||
InterfaceName Vertex
|
||||
Extends *StmtInterfaceExtends
|
||||
Extends Vertex
|
||||
Stmts []Vertex
|
||||
}
|
||||
|
||||
@@ -593,7 +596,9 @@ func (n *StmtInterface) Accept(v NodeVisitor) {
|
||||
// StmtInterfaceExtends node
|
||||
type StmtInterfaceExtends struct {
|
||||
Node
|
||||
ExtendsTkn *token.Token
|
||||
InterfaceNames []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
}
|
||||
|
||||
func (n *StmtInterfaceExtends) Accept(v NodeVisitor) {
|
||||
@@ -746,8 +751,8 @@ type StmtTrait struct {
|
||||
Node
|
||||
TraitTkn *token.Token
|
||||
TraitName Vertex
|
||||
Extends *StmtClassExtends
|
||||
Implements *StmtClassImplements
|
||||
Extends Vertex
|
||||
Implements Vertex
|
||||
OpenCurlyBracket *token.Token
|
||||
Stmts []Vertex
|
||||
CloseCurlyBracket *token.Token
|
||||
@@ -781,8 +786,10 @@ func (n *StmtTraitMethodRef) Accept(v NodeVisitor) {
|
||||
// StmtTraitUse node
|
||||
type StmtTraitUse struct {
|
||||
Node
|
||||
Traits []Vertex
|
||||
TraitAdaptationList Vertex
|
||||
UseTkn *token.Token
|
||||
Traits []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
Adaptations Vertex
|
||||
}
|
||||
|
||||
func (n *StmtTraitUse) Accept(v NodeVisitor) {
|
||||
@@ -804,8 +811,10 @@ func (n *StmtTraitUseAlias) Accept(v NodeVisitor) {
|
||||
// StmtTraitUsePrecedence node
|
||||
type StmtTraitUsePrecedence struct {
|
||||
Node
|
||||
Ref Vertex
|
||||
Insteadof []Vertex
|
||||
Ref Vertex
|
||||
InsteadofTkn *token.Token
|
||||
Insteadof []Vertex
|
||||
SeparatorTkns []*token.Token
|
||||
}
|
||||
|
||||
func (n *StmtTraitUsePrecedence) Accept(v NodeVisitor) {
|
||||
|
||||
@@ -893,10 +893,10 @@ func (t *DFS) Traverse(n ast.Vertex) {
|
||||
}
|
||||
t.visitor.Leave("Traits", false)
|
||||
}
|
||||
if nn.TraitAdaptationList != nil {
|
||||
t.visitor.Enter("TraitAdaptationList", true)
|
||||
t.Traverse(nn.TraitAdaptationList)
|
||||
t.visitor.Leave("TraitAdaptationList", true)
|
||||
if nn.Adaptations != nil {
|
||||
t.visitor.Enter("Adaptations", true)
|
||||
t.Traverse(nn.Adaptations)
|
||||
t.visitor.Leave("Adaptations", true)
|
||||
}
|
||||
case *ast.StmtTraitUseAlias:
|
||||
if nn == nil {
|
||||
|
||||
@@ -73,11 +73,11 @@ func (nsr *NamespaceResolver) StmtGroupUse(n *ast.StmtGroupUse) {
|
||||
|
||||
func (nsr *NamespaceResolver) StmtClass(n *ast.StmtClass) {
|
||||
if n.Extends != nil {
|
||||
nsr.ResolveName(n.Extends.ClassName, "")
|
||||
nsr.ResolveName(n.Extends.(*ast.StmtClassExtends).ClassName, "")
|
||||
}
|
||||
|
||||
if n.Implements != nil {
|
||||
for _, interfaceName := range n.Implements.InterfaceNames {
|
||||
for _, interfaceName := range n.Implements.(*ast.StmtClassImplements).InterfaceNames {
|
||||
nsr.ResolveName(interfaceName, "")
|
||||
}
|
||||
}
|
||||
@@ -89,7 +89,7 @@ func (nsr *NamespaceResolver) StmtClass(n *ast.StmtClass) {
|
||||
|
||||
func (nsr *NamespaceResolver) StmtInterface(n *ast.StmtInterface) {
|
||||
if n.Extends != nil {
|
||||
for _, interfaceName := range n.Extends.InterfaceNames {
|
||||
for _, interfaceName := range n.Extends.(*ast.StmtInterfaceExtends).InterfaceNames {
|
||||
nsr.ResolveName(interfaceName, "")
|
||||
}
|
||||
}
|
||||
@@ -184,7 +184,7 @@ func (nsr *NamespaceResolver) StmtTraitUse(n *ast.StmtTraitUse) {
|
||||
nsr.ResolveName(t, "")
|
||||
}
|
||||
|
||||
if adaptationList, ok := n.TraitAdaptationList.(*ast.StmtTraitAdaptationList); ok {
|
||||
if adaptationList, ok := n.Adaptations.(*ast.StmtTraitAdaptationList); ok {
|
||||
for _, a := range adaptationList.Adaptations {
|
||||
switch aa := a.(type) {
|
||||
case *ast.StmtTraitUsePrecedence:
|
||||
|
||||
@@ -1482,12 +1482,12 @@ func (p *PrettyPrinter) printStmtClass(n ast.Vertex) {
|
||||
|
||||
if nn.Extends != nil {
|
||||
io.WriteString(p.w, " extends ")
|
||||
p.Print(nn.Extends.ClassName)
|
||||
p.Print(nn.Extends.(*ast.StmtClassExtends).ClassName)
|
||||
}
|
||||
|
||||
if nn.Implements != nil {
|
||||
io.WriteString(p.w, " implements ")
|
||||
p.joinPrint(", ", nn.Implements.InterfaceNames)
|
||||
p.joinPrint(", ", nn.Implements.(*ast.StmtClassImplements).InterfaceNames)
|
||||
}
|
||||
|
||||
io.WriteString(p.w, "\n")
|
||||
@@ -1888,7 +1888,7 @@ func (p *PrettyPrinter) printStmtInterface(n ast.Vertex) {
|
||||
|
||||
if nn.Extends != nil {
|
||||
io.WriteString(p.w, " extends ")
|
||||
p.joinPrint(", ", nn.Extends.InterfaceNames)
|
||||
p.joinPrint(", ", nn.Extends.(*ast.StmtInterfaceExtends).InterfaceNames)
|
||||
}
|
||||
|
||||
io.WriteString(p.w, "\n")
|
||||
@@ -2073,7 +2073,7 @@ func (p *PrettyPrinter) printStmtTraitUse(n ast.Vertex) {
|
||||
io.WriteString(p.w, "use ")
|
||||
p.joinPrint(", ", nn.Traits)
|
||||
|
||||
if adaptationList, ok := nn.TraitAdaptationList.(*ast.StmtTraitAdaptationList); ok {
|
||||
if adaptationList, ok := nn.Adaptations.(*ast.StmtTraitAdaptationList); ok {
|
||||
adaptations := adaptationList.Adaptations
|
||||
io.WriteString(p.w, " {\n")
|
||||
p.printNodes(adaptations)
|
||||
|
||||
@@ -2108,7 +2108,7 @@ func (p *Printer) printStmtClass(n ast.Vertex) {
|
||||
}
|
||||
p.write([]byte("extends"))
|
||||
p.bufStart = " "
|
||||
p.Print(nn.Extends.ClassName)
|
||||
p.Print(nn.Extends.(*ast.StmtClassExtends).ClassName)
|
||||
}
|
||||
|
||||
if nn.Implements != nil {
|
||||
@@ -2118,7 +2118,7 @@ func (p *Printer) printStmtClass(n ast.Vertex) {
|
||||
}
|
||||
p.write([]byte("implements"))
|
||||
p.bufStart = " "
|
||||
p.joinPrintRefactored(",", nn.Implements.InterfaceNames)
|
||||
p.joinPrintRefactored(",", nn.Implements.(*ast.StmtClassImplements).InterfaceNames)
|
||||
|
||||
}
|
||||
|
||||
@@ -2503,7 +2503,7 @@ func (p *Printer) printStmtInterface(n ast.Vertex) {
|
||||
}
|
||||
p.write([]byte("extends"))
|
||||
p.bufStart = " "
|
||||
p.joinPrintRefactored(",", nn.Extends.InterfaceNames)
|
||||
p.joinPrintRefactored(",", nn.Extends.(*ast.StmtInterfaceExtends).InterfaceNames)
|
||||
}
|
||||
|
||||
p.printFreeFloating(nn, token.Name)
|
||||
@@ -2755,7 +2755,7 @@ func (p *Printer) printStmtTraitUse(n ast.Vertex) {
|
||||
p.bufStart = " "
|
||||
p.joinPrintRefactored(",", nn.Traits)
|
||||
|
||||
p.Print(nn.TraitAdaptationList)
|
||||
p.Print(nn.Adaptations)
|
||||
|
||||
p.printFreeFloating(nn, token.End)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user