empty eval include include_once require require_once nodes
This commit is contained in:
parent
52638e6654
commit
c6729a06e2
29
node/expr/empty.go
Normal file
29
node/expr/empty.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Empty struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewEmpty(expression node.Node) node.Node {
|
||||||
|
return Empty{
|
||||||
|
node.SimpleNode{Name: "Empty", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n Empty) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
29
node/expr/eval.go
Normal file
29
node/expr/eval.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Eval struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewEval(expression node.Node) node.Node {
|
||||||
|
return Eval{
|
||||||
|
node.SimpleNode{Name: "Eval", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n Eval) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
29
node/expr/include.go
Normal file
29
node/expr/include.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Include struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewInclude(expression node.Node) node.Node {
|
||||||
|
return Include{
|
||||||
|
node.SimpleNode{Name: "Include", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n Include) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
29
node/expr/include_once.go
Normal file
29
node/expr/include_once.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type IncludeOnce struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewIncludeOnce(expression node.Node) node.Node {
|
||||||
|
return IncludeOnce{
|
||||||
|
node.SimpleNode{Name: "IncludeOnce", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n IncludeOnce) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
29
node/expr/require.go
Normal file
29
node/expr/require.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Require struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRequire(expression node.Node) node.Node {
|
||||||
|
return Require{
|
||||||
|
node.SimpleNode{Name: "Require", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n Require) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
29
node/expr/require_once.go
Normal file
29
node/expr/require_once.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package expr
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RequireOnce struct {
|
||||||
|
node.SimpleNode
|
||||||
|
expr node.Node
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRequireOnce(expression node.Node) node.Node {
|
||||||
|
return RequireOnce{
|
||||||
|
node.SimpleNode{Name: "RequireOnce", Attributes: make(map[string]string)},
|
||||||
|
expression,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n RequireOnce) Print(out io.Writer, indent string) {
|
||||||
|
fmt.Fprintf(out, "\n%v%v [- -]", indent, n.Name)
|
||||||
|
|
||||||
|
if n.expr != nil {
|
||||||
|
fmt.Fprintf(out, "\n%vexpr:", indent+" ")
|
||||||
|
n.expr.Print(out, indent+" ")
|
||||||
|
}
|
||||||
|
}
|
@ -4909,37 +4909,37 @@ yydefault:
|
|||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line parser/parser.y:1122
|
//line parser/parser.y:1122
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("Empty").Append(yyDollar[3].node)
|
yyVAL.node = expr.NewEmpty(yyDollar[3].node)
|
||||||
}
|
}
|
||||||
case 479:
|
case 479:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line parser/parser.y:1123
|
//line parser/parser.y:1123
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("Include").Append(yyDollar[2].node)
|
yyVAL.node = expr.NewInclude(yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 480:
|
case 480:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line parser/parser.y:1124
|
//line parser/parser.y:1124
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("IncludeOnce").Append(yyDollar[2].node)
|
yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 481:
|
case 481:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line parser/parser.y:1125
|
//line parser/parser.y:1125
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("Eval").Append(yyDollar[3].node)
|
yyVAL.node = expr.NewEval(yyDollar[3].node)
|
||||||
}
|
}
|
||||||
case 482:
|
case 482:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line parser/parser.y:1126
|
//line parser/parser.y:1126
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("Require").Append(yyDollar[2].node)
|
yyVAL.node = expr.NewRequire(yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 483:
|
case 483:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line parser/parser.y:1127
|
//line parser/parser.y:1127
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewSimpleNode("RequireOnce").Append(yyDollar[2].node)
|
yyVAL.node = expr.NewRequireOnce(yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 484:
|
case 484:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
|
@ -1119,12 +1119,12 @@ encaps_var_offset:
|
|||||||
|
|
||||||
internal_functions_in_yacc:
|
internal_functions_in_yacc:
|
||||||
T_ISSET '(' isset_variables possible_comma ')' { $$ = $3; }
|
T_ISSET '(' isset_variables possible_comma ')' { $$ = $3; }
|
||||||
| T_EMPTY '(' expr ')' { $$ = node.NewSimpleNode("Empty").Append($3); }
|
| T_EMPTY '(' expr ')' { $$ = expr.NewEmpty($3) }
|
||||||
| T_INCLUDE expr { $$ = node.NewSimpleNode("Include").Append($2); }
|
| T_INCLUDE expr { $$ = expr.NewInclude($2) }
|
||||||
| T_INCLUDE_ONCE expr { $$ = node.NewSimpleNode("IncludeOnce").Append($2); }
|
| T_INCLUDE_ONCE expr { $$ = expr.NewIncludeOnce($2) }
|
||||||
| T_EVAL '(' expr ')' { $$ = node.NewSimpleNode("Eval").Append($3); }
|
| T_EVAL '(' expr ')' { $$ = expr.NewEval($3) }
|
||||||
| T_REQUIRE expr { $$ = node.NewSimpleNode("Require").Append($2); }
|
| T_REQUIRE expr { $$ = expr.NewRequire($2) }
|
||||||
| T_REQUIRE_ONCE expr { $$ = node.NewSimpleNode("RequireOnce").Append($2); }
|
| T_REQUIRE_ONCE expr { $$ = expr.NewRequireOnce($2) }
|
||||||
;
|
;
|
||||||
|
|
||||||
isset_variables:
|
isset_variables:
|
||||||
|
Loading…
Reference in New Issue
Block a user