#50: nodes stmt.Exit and stmt.Die was merged
This commit is contained in:
@@ -234,8 +234,6 @@ func (p *PrettyPrinter) printNode(n node.Node) {
|
||||
p.printExprClosure(n)
|
||||
case *expr.ConstFetch:
|
||||
p.printExprConstFetch(n)
|
||||
case *expr.Die:
|
||||
p.printExprDie(n)
|
||||
case *expr.Empty:
|
||||
p.printExprEmpty(n)
|
||||
case *expr.ErrorSuppress:
|
||||
@@ -1067,14 +1065,6 @@ func (p *PrettyPrinter) printExprConstFetch(n node.Node) {
|
||||
p.Print(nn.Constant)
|
||||
}
|
||||
|
||||
func (p *PrettyPrinter) printExprDie(n node.Node) {
|
||||
nn := n.(*expr.Die)
|
||||
|
||||
io.WriteString(p.w, "die(")
|
||||
p.Print(nn.Expr)
|
||||
io.WriteString(p.w, ")")
|
||||
}
|
||||
|
||||
func (p *PrettyPrinter) printExprEmpty(n node.Node) {
|
||||
nn := n.(*expr.Empty)
|
||||
|
||||
@@ -1101,7 +1091,11 @@ func (p *PrettyPrinter) printExprEval(n node.Node) {
|
||||
func (p *PrettyPrinter) printExprExit(n node.Node) {
|
||||
nn := n.(*expr.Exit)
|
||||
|
||||
io.WriteString(p.w, "exit(")
|
||||
if nn.Die {
|
||||
io.WriteString(p.w, "die(")
|
||||
} else {
|
||||
io.WriteString(p.w, "exit(")
|
||||
}
|
||||
p.Print(nn.Expr)
|
||||
io.WriteString(p.w, ")")
|
||||
}
|
||||
|
||||
@@ -1443,20 +1443,6 @@ func TestPrintExprConstFetch(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrintDie(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
p := printer.NewPrettyPrinter(o, " ")
|
||||
p.Print(&expr.Die{Expr: &expr.Variable{VarName: &node.Identifier{Value: "var"}}})
|
||||
|
||||
expected := `die($var)`
|
||||
actual := o.String()
|
||||
|
||||
if expected != actual {
|
||||
t.Errorf("\nexpected: %s\ngot: %s\n", expected, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrintEmpty(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
@@ -1503,7 +1489,7 @@ func TestPrintExit(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
p := printer.NewPrettyPrinter(o, " ")
|
||||
p.Print(&expr.Exit{Expr: &expr.Variable{VarName: &node.Identifier{Value: "var"}}})
|
||||
p.Print(&expr.Exit{Die: false, Expr: &expr.Variable{VarName: &node.Identifier{Value: "var"}}})
|
||||
|
||||
expected := `exit($var)`
|
||||
actual := o.String()
|
||||
@@ -1513,6 +1499,20 @@ func TestPrintExit(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrintDie(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
p := printer.NewPrettyPrinter(o, " ")
|
||||
p.Print(&expr.Exit{Die: true, Expr: &expr.Variable{VarName: &node.Identifier{Value: "var"}}})
|
||||
|
||||
expected := `die($var)`
|
||||
actual := o.String()
|
||||
|
||||
if expected != actual {
|
||||
t.Errorf("\nexpected: %s\ngot: %s\n", expected, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrintFunctionCall(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
|
||||
@@ -231,8 +231,6 @@ func (p *Printer) printNode(n node.Node) {
|
||||
p.printExprClosure(n)
|
||||
case *expr.ConstFetch:
|
||||
p.printExprConstFetch(n)
|
||||
case *expr.Die:
|
||||
p.printExprDie(n)
|
||||
case *expr.Empty:
|
||||
p.printExprEmpty(n)
|
||||
case *expr.ErrorSuppress:
|
||||
@@ -1401,21 +1399,6 @@ func (p *Printer) printExprConstFetch(n node.Node) {
|
||||
p.printMeta(nn, meta.NodeEnd)
|
||||
}
|
||||
|
||||
func (p *Printer) printExprDie(n node.Node) {
|
||||
nn := n.(*expr.Die)
|
||||
p.printMeta(nn, meta.NodeStart)
|
||||
|
||||
p.printMeta(nn, meta.ExitToken)
|
||||
io.WriteString(p.w, "die")
|
||||
p.printMeta(nn.Expr, meta.OpenParenthesisToken)
|
||||
io.WriteString(p.w, "(")
|
||||
p.Print(nn.Expr)
|
||||
p.printMeta(nn.Expr, meta.CloseParenthesisToken)
|
||||
io.WriteString(p.w, ")")
|
||||
|
||||
p.printMeta(nn, meta.NodeEnd)
|
||||
}
|
||||
|
||||
func (p *Printer) printExprEmpty(n node.Node) {
|
||||
nn := n.(*expr.Empty)
|
||||
p.printMeta(nn, meta.NodeStart)
|
||||
@@ -1462,11 +1445,15 @@ func (p *Printer) printExprExit(n node.Node) {
|
||||
p.printMeta(nn, meta.NodeStart)
|
||||
|
||||
p.printMeta(nn, meta.ExitToken)
|
||||
io.WriteString(p.w, "exit")
|
||||
p.printMeta(nn.Expr, meta.OpenParenthesisToken)
|
||||
if nn.Die {
|
||||
io.WriteString(p.w, "die")
|
||||
} else {
|
||||
io.WriteString(p.w, "exit")
|
||||
}
|
||||
p.printMeta(nn, meta.OpenParenthesisToken)
|
||||
io.WriteString(p.w, "(")
|
||||
p.Print(nn.Expr)
|
||||
p.printMeta(nn.Expr, meta.CloseParenthesisToken)
|
||||
p.printMeta(nn, meta.CloseParenthesisToken)
|
||||
io.WriteString(p.w, ")")
|
||||
|
||||
p.printMeta(nn, meta.NodeEnd)
|
||||
|
||||
@@ -317,7 +317,7 @@ func TestParseAndPrintYield(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAndPrintAltIfExitDie(t *testing.T) {
|
||||
func TestParseAndPrintAltIf(t *testing.T) {
|
||||
src := `<?php
|
||||
if ( 1 ) :
|
||||
exit ( 1 ) ;
|
||||
@@ -334,6 +334,21 @@ func TestParseAndPrintAltIfExitDie(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAndPrintExitDie(t *testing.T) {
|
||||
src := `<?php
|
||||
exit ( ) ;
|
||||
exit ( 1 );
|
||||
die ( ) ;
|
||||
die ( 1 );
|
||||
`
|
||||
|
||||
actual := print(parse(src))
|
||||
|
||||
if src != actual {
|
||||
t.Errorf("\nexpected: %s\ngot: %s\n", src, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAndPrintAltFor(t *testing.T) {
|
||||
src := `<?php
|
||||
for ( $a ; $b ; $c ) :
|
||||
|
||||
@@ -2102,40 +2102,6 @@ func TestPrinterPrintExprConstFetch(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrinterPrintDie(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
p := printer.NewPrinter(o)
|
||||
p.Print(&expr.Die{
|
||||
Meta: []meta.Meta{
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.ExitToken,
|
||||
},
|
||||
},
|
||||
Expr: &expr.Variable{
|
||||
Meta: []meta.Meta{
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.OpenParenthesisToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.CloseParenthesisToken,
|
||||
},
|
||||
},
|
||||
VarName: &node.Identifier{Value: "var"},
|
||||
},
|
||||
})
|
||||
|
||||
expected := ` die ($var )`
|
||||
actual := o.String()
|
||||
|
||||
if expected != actual {
|
||||
t.Errorf("\nexpected: %s\ngot: %s\n", expected, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrinterPrintEmpty(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
@@ -2228,18 +2194,17 @@ func TestPrinterPrintExit(t *testing.T) {
|
||||
Value: " ",
|
||||
TokenName: meta.ExitToken,
|
||||
},
|
||||
},
|
||||
Expr: &expr.Variable{
|
||||
Meta: []meta.Meta{
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.OpenParenthesisToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.CloseParenthesisToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.OpenParenthesisToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.CloseParenthesisToken,
|
||||
},
|
||||
},
|
||||
Die: false,
|
||||
Expr: &expr.Variable{
|
||||
VarName: &node.Identifier{Value: "var"},
|
||||
},
|
||||
})
|
||||
@@ -2252,6 +2217,39 @@ func TestPrinterPrintExit(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrinterPrintDie(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
p := printer.NewPrinter(o)
|
||||
p.Print(&expr.Exit{
|
||||
Die: true,
|
||||
Meta: []meta.Meta{
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.ExitToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.OpenParenthesisToken,
|
||||
},
|
||||
&meta.WhiteSpace{
|
||||
Value: " ",
|
||||
TokenName: meta.CloseParenthesisToken,
|
||||
},
|
||||
},
|
||||
Expr: &expr.Variable{
|
||||
VarName: &node.Identifier{Value: "var"},
|
||||
},
|
||||
})
|
||||
|
||||
expected := ` die ($var )`
|
||||
actual := o.String()
|
||||
|
||||
if expected != actual {
|
||||
t.Errorf("\nexpected: %s\ngot: %s\n", expected, actual)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrinterPrintFunctionCall(t *testing.T) {
|
||||
o := bytes.NewBufferString("")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user