[refactoring] update ast structure of "InlinHtml" node
This commit is contained in:
parent
7678303cb9
commit
8b4d65ac4d
BIN
internal/php5/php5.go
generated
BIN
internal/php5/php5.go
generated
Binary file not shown.
@ -1062,13 +1062,13 @@ unticked_statement:
|
||||
}
|
||||
| T_INLINE_HTML
|
||||
{
|
||||
$$ = &ast.StmtInlineHtml{ast.Node{}, $1.Value}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenPosition($1)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.StmtInlineHtml{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($1),
|
||||
},
|
||||
InlineHtmlTkn: $1,
|
||||
Value: $1.Value,
|
||||
}
|
||||
}
|
||||
| expr ';'
|
||||
{
|
||||
|
BIN
internal/php7/php7.go
generated
BIN
internal/php7/php7.go
generated
Binary file not shown.
@ -976,13 +976,13 @@ statement:
|
||||
}
|
||||
| T_INLINE_HTML
|
||||
{
|
||||
$$ = &ast.StmtInlineHtml{ast.Node{}, $1.Value}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenPosition($1)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.StmtInlineHtml{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($1),
|
||||
},
|
||||
InlineHtmlTkn: $1,
|
||||
Value: $1.Value,
|
||||
}
|
||||
}
|
||||
| expr ';'
|
||||
{
|
||||
|
@ -535,6 +535,7 @@ func (n *StmtIf) Accept(v NodeVisitor) {
|
||||
// StmtInlineHtml node
|
||||
type StmtInlineHtml struct {
|
||||
Node
|
||||
InlineHtmlTkn *token.Token
|
||||
Value []byte
|
||||
}
|
||||
|
||||
|
@ -200,3 +200,7 @@ func (v *FilterTokens) StmtEcho(n *ast.StmtEcho) {
|
||||
n.SeparatorTkns = nil
|
||||
n.SemiColonTkn = nil
|
||||
}
|
||||
|
||||
func (v *FilterTokens) StmtInlineHtml(n *ast.StmtInlineHtml) {
|
||||
n.InlineHtmlTkn = nil
|
||||
}
|
||||
|
@ -2555,18 +2555,13 @@ func (p *Printer) printStmtAltIf(n *ast.StmtIf) {
|
||||
p.printToken(n.SemiColonTkn, ";")
|
||||
}
|
||||
|
||||
func (p *Printer) printStmtInlineHTML(n ast.Vertex) {
|
||||
nn := n.(*ast.StmtInlineHtml)
|
||||
p.printFreeFloating(nn, token.Start)
|
||||
|
||||
func (p *Printer) printStmtInlineHTML(n *ast.StmtInlineHtml) {
|
||||
if p.s == PhpState && !bytes.Contains(p.lastWrite, []byte("?>")) {
|
||||
p.write([]byte("?>"))
|
||||
}
|
||||
p.SetState(HtmlState)
|
||||
|
||||
p.write(nn.Value)
|
||||
|
||||
p.printFreeFloating(nn, token.End)
|
||||
p.printToken(n.InlineHtmlTkn, string(n.Value))
|
||||
}
|
||||
|
||||
func (p *Printer) printStmtInterface(n ast.Vertex) {
|
||||
|
Loading…
Reference in New Issue
Block a user