ConstantFetch tests
This commit is contained in:
parent
4c64183e0c
commit
afb83c0bde
75
node/expr/t_const_fetch_test.go
Normal file
75
node/expr/t_const_fetch_test.go
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package expr_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node/name"
|
||||||
|
"github.com/z7zmey/php-parser/php5"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node/expr"
|
||||||
|
|
||||||
|
"github.com/z7zmey/php-parser/node"
|
||||||
|
"github.com/z7zmey/php-parser/node/stmt"
|
||||||
|
"github.com/z7zmey/php-parser/php7"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestConstFetch(t *testing.T) {
|
||||||
|
src := `<? foo;`
|
||||||
|
|
||||||
|
expected := &stmt.StmtList{
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ConstFetch{
|
||||||
|
Constant: &name.Name{Parts: []node.Node{&name.NamePart{Value: "foo"}}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
|
||||||
|
actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConstFetchRelative(t *testing.T) {
|
||||||
|
src := `<? namespace\foo;`
|
||||||
|
|
||||||
|
expected := &stmt.StmtList{
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ConstFetch{
|
||||||
|
Constant: &name.Relative{Parts: []node.Node{&name.NamePart{Value: "foo"}}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
|
||||||
|
actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConstFetchFullyQualified(t *testing.T) {
|
||||||
|
src := `<? \foo;`
|
||||||
|
|
||||||
|
expected := &stmt.StmtList{
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ConstFetch{
|
||||||
|
Constant: &name.FullyQualified{Parts: []node.Node{&name.NamePart{Value: "foo"}}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
|
||||||
|
actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php")
|
||||||
|
assertEqual(t, expected, actual)
|
||||||
|
}
|
244
php5/php5.go
244
php5/php5.go
@ -345,7 +345,7 @@ const yyEofCode = 1
|
|||||||
const yyErrCode = 2
|
const yyErrCode = 2
|
||||||
const yyInitialStackSize = 16
|
const yyInitialStackSize = 16
|
||||||
|
|
||||||
//line php5/php5.y:3744
|
//line php5/php5.y:3756
|
||||||
|
|
||||||
//line yacctab:1
|
//line yacctab:1
|
||||||
var yyExca = [...]int{
|
var yyExca = [...]int{
|
||||||
@ -5719,29 +5719,41 @@ yydefault:
|
|||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:2978
|
//line php5/php5.y:2978
|
||||||
{
|
{
|
||||||
yyVAL.node = name.NewName(yyDollar[1].list)
|
name := name.NewName(yyDollar[1].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list))
|
positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list))
|
||||||
comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list))
|
comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list))
|
||||||
|
|
||||||
|
yyVAL.node = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments(yyVAL.node, comments[name])
|
||||||
}
|
}
|
||||||
case 410:
|
case 410:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:2984
|
//line php5/php5.y:2988
|
||||||
{
|
{
|
||||||
yyVAL.node = name.NewRelative(yyDollar[3].list)
|
name := name.NewRelative(yyDollar[3].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list))
|
positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list))
|
||||||
comments.AddComments(yyVAL.node, yyDollar[1].token.Comments())
|
comments.AddComments(name, yyDollar[1].token.Comments())
|
||||||
|
|
||||||
|
yyVAL.node = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments(yyVAL.node, comments[name])
|
||||||
}
|
}
|
||||||
case 411:
|
case 411:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:2990
|
//line php5/php5.y:2998
|
||||||
{
|
{
|
||||||
yyVAL.node = name.NewFullyQualified(yyDollar[2].list)
|
name := name.NewFullyQualified(yyDollar[2].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list))
|
positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list))
|
||||||
comments.AddComments(yyVAL.node, yyDollar[1].token.Comments())
|
comments.AddComments(name, yyDollar[1].token.Comments())
|
||||||
|
|
||||||
|
yyVAL.node = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments(yyVAL.node, comments[name])
|
||||||
}
|
}
|
||||||
case 412:
|
case 412:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:2999
|
//line php5/php5.y:3011
|
||||||
{
|
{
|
||||||
name := node.NewIdentifier(yyDollar[1].token.Value)
|
name := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -5753,25 +5765,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 413:
|
case 413:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3009
|
//line php5/php5.y:3021
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 414:
|
case 414:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3011
|
//line php5/php5.y:3023
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 415:
|
case 415:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3013
|
//line php5/php5.y:3025
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 416:
|
case 416:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3015
|
//line php5/php5.y:3027
|
||||||
{
|
{
|
||||||
yyVAL.node = scalar.NewEncapsed(yyDollar[2].list)
|
yyVAL.node = scalar.NewEncapsed(yyDollar[2].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
||||||
@ -5779,7 +5791,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 417:
|
case 417:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3021
|
//line php5/php5.y:3033
|
||||||
{
|
{
|
||||||
yyVAL.node = scalar.NewEncapsed(yyDollar[2].list)
|
yyVAL.node = scalar.NewEncapsed(yyDollar[2].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
||||||
@ -5787,7 +5799,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 418:
|
case 418:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3027
|
//line php5/php5.y:3039
|
||||||
{
|
{
|
||||||
yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value)
|
yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -5795,19 +5807,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 419:
|
case 419:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3036
|
//line php5/php5.y:3048
|
||||||
{
|
{
|
||||||
yyVAL.list = nil
|
yyVAL.list = nil
|
||||||
}
|
}
|
||||||
case 420:
|
case 420:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3038
|
//line php5/php5.y:3050
|
||||||
{
|
{
|
||||||
yyVAL.list = yyDollar[1].list
|
yyVAL.list = yyDollar[1].list
|
||||||
}
|
}
|
||||||
case 423:
|
case 423:
|
||||||
yyDollar = yyS[yypt-5 : yypt+1]
|
yyDollar = yyS[yypt-5 : yypt+1]
|
||||||
//line php5/php5.y:3048
|
//line php5/php5.y:3060
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false)
|
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node))
|
||||||
@ -5817,7 +5829,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 424:
|
case 424:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3056
|
//line php5/php5.y:3068
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -5827,7 +5839,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 425:
|
case 425:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3064
|
//line php5/php5.y:3076
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false)
|
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
||||||
@ -5837,7 +5849,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 426:
|
case 426:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3072
|
//line php5/php5.y:3084
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node))
|
||||||
@ -5847,49 +5859,49 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 427:
|
case 427:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3083
|
//line php5/php5.y:3095
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 428:
|
case 428:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3085
|
//line php5/php5.y:3097
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 429:
|
case 429:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3090
|
//line php5/php5.y:3102
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[2].node
|
yyVAL.node = yyDollar[2].node
|
||||||
}
|
}
|
||||||
case 430:
|
case 430:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3092
|
//line php5/php5.y:3104
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[2].node
|
yyVAL.node = yyDollar[2].node
|
||||||
}
|
}
|
||||||
case 431:
|
case 431:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3098
|
//line php5/php5.y:3110
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 432:
|
case 432:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3104
|
//line php5/php5.y:3116
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 433:
|
case 433:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3109
|
//line php5/php5.y:3121
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 434:
|
case 434:
|
||||||
yyDollar = yyS[yypt-5 : yypt+1]
|
yyDollar = yyS[yypt-5 : yypt+1]
|
||||||
//line php5/php5.y:3114
|
//line php5/php5.y:3126
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
|
|
||||||
@ -5944,25 +5956,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 435:
|
case 435:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3167
|
//line php5/php5.y:3179
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 436:
|
case 436:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3172
|
//line php5/php5.y:3184
|
||||||
{
|
{
|
||||||
yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...)
|
yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...)
|
||||||
}
|
}
|
||||||
case 437:
|
case 437:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3174
|
//line php5/php5.y:3186
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{}
|
yyVAL.list = []node.Node{}
|
||||||
}
|
}
|
||||||
case 438:
|
case 438:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3180
|
//line php5/php5.y:3192
|
||||||
{
|
{
|
||||||
if yyDollar[3].list != nil {
|
if yyDollar[3].list != nil {
|
||||||
yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property
|
yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property
|
||||||
@ -5973,7 +5985,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 439:
|
case 439:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3192
|
//line php5/php5.y:3204
|
||||||
{
|
{
|
||||||
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -5982,7 +5994,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 440:
|
case 440:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3199
|
//line php5/php5.y:3211
|
||||||
{
|
{
|
||||||
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -5991,38 +6003,38 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 441:
|
case 441:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3209
|
//line php5/php5.y:3221
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes)
|
yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken))
|
||||||
}
|
}
|
||||||
case 442:
|
case 442:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3217
|
//line php5/php5.y:3229
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{yyDollar[1].node}
|
yyVAL.list = []node.Node{yyDollar[1].node}
|
||||||
}
|
}
|
||||||
case 443:
|
case 443:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3219
|
//line php5/php5.y:3231
|
||||||
{
|
{
|
||||||
yyVAL.list = yyDollar[1].list
|
yyVAL.list = yyDollar[1].list
|
||||||
}
|
}
|
||||||
case 444:
|
case 444:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3221
|
//line php5/php5.y:3233
|
||||||
{
|
{
|
||||||
yyVAL.list = nil
|
yyVAL.list = nil
|
||||||
}
|
}
|
||||||
case 445:
|
case 445:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3226
|
//line php5/php5.y:3238
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 446:
|
case 446:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3228
|
//line php5/php5.y:3240
|
||||||
{
|
{
|
||||||
yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node)
|
yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node)
|
||||||
|
|
||||||
@ -6034,7 +6046,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 447:
|
case 447:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3241
|
//line php5/php5.y:3253
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
||||||
@ -6042,7 +6054,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 448:
|
case 448:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3247
|
//line php5/php5.y:3259
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
||||||
@ -6050,13 +6062,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 449:
|
case 449:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3257
|
//line php5/php5.y:3269
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 450:
|
case 450:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3262
|
//line php5/php5.y:3274
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
||||||
@ -6064,7 +6076,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 451:
|
case 451:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3268
|
//line php5/php5.y:3280
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
||||||
@ -6072,31 +6084,31 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 452:
|
case 452:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3276
|
//line php5/php5.y:3288
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 453:
|
case 453:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3277
|
//line php5/php5.y:3289
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 454:
|
case 454:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3278
|
//line php5/php5.y:3290
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 455:
|
case 455:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3284
|
//line php5/php5.y:3296
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 456:
|
case 456:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3286
|
//line php5/php5.y:3298
|
||||||
{
|
{
|
||||||
yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node)
|
yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node)
|
||||||
|
|
||||||
@ -6108,13 +6120,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 457:
|
case 457:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3296
|
//line php5/php5.y:3308
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 458:
|
case 458:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3301
|
//line php5/php5.y:3313
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
||||||
@ -6122,7 +6134,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 459:
|
case 459:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3307
|
//line php5/php5.y:3319
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token))
|
||||||
@ -6130,13 +6142,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 460:
|
case 460:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3313
|
//line php5/php5.y:3325
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 461:
|
case 461:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3319
|
//line php5/php5.y:3331
|
||||||
{
|
{
|
||||||
name := node.NewIdentifier(yyDollar[1].token.Value)
|
name := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6148,7 +6160,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 462:
|
case 462:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3329
|
//line php5/php5.y:3341
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewVariable(yyDollar[3].node)
|
yyVAL.node = expr.NewVariable(yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6156,25 +6168,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 463:
|
case 463:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3338
|
//line php5/php5.y:3350
|
||||||
{
|
{
|
||||||
yyVAL.node = nil
|
yyVAL.node = nil
|
||||||
}
|
}
|
||||||
case 464:
|
case 464:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3340
|
//line php5/php5.y:3352
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 465:
|
case 465:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3346
|
//line php5/php5.y:3358
|
||||||
{
|
{
|
||||||
yyVAL.list = yyDollar[1].list
|
yyVAL.list = yyDollar[1].list
|
||||||
}
|
}
|
||||||
case 466:
|
case 466:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3348
|
//line php5/php5.y:3360
|
||||||
{
|
{
|
||||||
fetch := expr.NewPropertyFetch(nil, yyDollar[1].node)
|
fetch := expr.NewPropertyFetch(nil, yyDollar[1].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node))
|
||||||
@ -6183,7 +6195,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 467:
|
case 467:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3358
|
//line php5/php5.y:3370
|
||||||
{
|
{
|
||||||
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -6192,7 +6204,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 468:
|
case 468:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3365
|
//line php5/php5.y:3377
|
||||||
{
|
{
|
||||||
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -6201,7 +6213,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 469:
|
case 469:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3372
|
//line php5/php5.y:3384
|
||||||
{
|
{
|
||||||
fetch := expr.NewPropertyFetch(nil, yyDollar[1].node)
|
fetch := expr.NewPropertyFetch(nil, yyDollar[1].node)
|
||||||
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node))
|
positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node))
|
||||||
@ -6210,7 +6222,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 470:
|
case 470:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3382
|
//line php5/php5.y:3394
|
||||||
{
|
{
|
||||||
yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value)
|
yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6218,13 +6230,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 471:
|
case 471:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3388
|
//line php5/php5.y:3400
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[2].node
|
yyVAL.node = yyDollar[2].node
|
||||||
}
|
}
|
||||||
case 472:
|
case 472:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3393
|
//line php5/php5.y:3405
|
||||||
{
|
{
|
||||||
n := expr.NewVariable(nil)
|
n := expr.NewVariable(nil)
|
||||||
positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6234,7 +6246,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 473:
|
case 473:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3401
|
//line php5/php5.y:3413
|
||||||
{
|
{
|
||||||
n := expr.NewVariable(nil)
|
n := expr.NewVariable(nil)
|
||||||
positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
||||||
@ -6248,19 +6260,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 474:
|
case 474:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3416
|
//line php5/php5.y:3428
|
||||||
{
|
{
|
||||||
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
||||||
}
|
}
|
||||||
case 475:
|
case 475:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3418
|
//line php5/php5.y:3430
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{yyDollar[1].node}
|
yyVAL.list = []node.Node{yyDollar[1].node}
|
||||||
}
|
}
|
||||||
case 476:
|
case 476:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3424
|
//line php5/php5.y:3436
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false)
|
yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node))
|
||||||
@ -6268,7 +6280,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 477:
|
case 477:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3430
|
//line php5/php5.y:3442
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewList(yyDollar[3].list)
|
yyVAL.node = expr.NewList(yyDollar[3].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6276,25 +6288,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 478:
|
case 478:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3436
|
//line php5/php5.y:3448
|
||||||
{
|
{
|
||||||
yyVAL.node = nil
|
yyVAL.node = nil
|
||||||
}
|
}
|
||||||
case 479:
|
case 479:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
//line php5/php5.y:3442
|
//line php5/php5.y:3454
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{}
|
yyVAL.list = []node.Node{}
|
||||||
}
|
}
|
||||||
case 480:
|
case 480:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3444
|
//line php5/php5.y:3456
|
||||||
{
|
{
|
||||||
yyVAL.list = yyDollar[1].list
|
yyVAL.list = yyDollar[1].list
|
||||||
}
|
}
|
||||||
case 481:
|
case 481:
|
||||||
yyDollar = yyS[yypt-5 : yypt+1]
|
yyDollar = yyS[yypt-5 : yypt+1]
|
||||||
//line php5/php5.y:3449
|
//line php5/php5.y:3461
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false)
|
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node))
|
||||||
@ -6304,7 +6316,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 482:
|
case 482:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3457
|
//line php5/php5.y:3469
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node))
|
||||||
@ -6314,7 +6326,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 483:
|
case 483:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3465
|
//line php5/php5.y:3477
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false)
|
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node))
|
||||||
@ -6324,7 +6336,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 484:
|
case 484:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3473
|
//line php5/php5.y:3485
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node))
|
||||||
@ -6334,7 +6346,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 485:
|
case 485:
|
||||||
yyDollar = yyS[yypt-6 : yypt+1]
|
yyDollar = yyS[yypt-6 : yypt+1]
|
||||||
//line php5/php5.y:3481
|
//line php5/php5.y:3493
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true)
|
arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node))
|
||||||
@ -6344,7 +6356,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 486:
|
case 486:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3489
|
//line php5/php5.y:3501
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node))
|
||||||
@ -6354,7 +6366,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 487:
|
case 487:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3497
|
//line php5/php5.y:3509
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true)
|
arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node))
|
||||||
@ -6364,7 +6376,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 488:
|
case 488:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3505
|
//line php5/php5.y:3517
|
||||||
{
|
{
|
||||||
arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true)
|
arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true)
|
||||||
positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
||||||
@ -6374,13 +6386,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 489:
|
case 489:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3516
|
//line php5/php5.y:3528
|
||||||
{
|
{
|
||||||
yyVAL.list = append(yyDollar[1].list, yyDollar[2].node)
|
yyVAL.list = append(yyDollar[1].list, yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 490:
|
case 490:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3518
|
//line php5/php5.y:3530
|
||||||
{
|
{
|
||||||
encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value)
|
encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value)
|
||||||
positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
||||||
@ -6389,13 +6401,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 491:
|
case 491:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3525
|
//line php5/php5.y:3537
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{yyDollar[1].node}
|
yyVAL.list = []node.Node{yyDollar[1].node}
|
||||||
}
|
}
|
||||||
case 492:
|
case 492:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3527
|
//line php5/php5.y:3539
|
||||||
{
|
{
|
||||||
encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value)
|
encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6404,7 +6416,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 493:
|
case 493:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3537
|
//line php5/php5.y:3549
|
||||||
{
|
{
|
||||||
name := node.NewIdentifier(yyDollar[1].token.Value)
|
name := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6416,7 +6428,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 494:
|
case 494:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3547
|
//line php5/php5.y:3559
|
||||||
{
|
{
|
||||||
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6431,7 +6443,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 495:
|
case 495:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3560
|
//line php5/php5.y:3572
|
||||||
{
|
{
|
||||||
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6449,7 +6461,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 496:
|
case 496:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3576
|
//line php5/php5.y:3588
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[2].node
|
yyVAL.node = yyDollar[2].node
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token))
|
||||||
@ -6457,7 +6469,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 497:
|
case 497:
|
||||||
yyDollar = yyS[yypt-6 : yypt+1]
|
yyDollar = yyS[yypt-6 : yypt+1]
|
||||||
//line php5/php5.y:3582
|
//line php5/php5.y:3594
|
||||||
{
|
{
|
||||||
identifier := node.NewIdentifier(yyDollar[2].token.Value)
|
identifier := node.NewIdentifier(yyDollar[2].token.Value)
|
||||||
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token))
|
||||||
@ -6472,13 +6484,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 498:
|
case 498:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3596
|
//line php5/php5.y:3608
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[2].node
|
yyVAL.node = yyDollar[2].node
|
||||||
}
|
}
|
||||||
case 499:
|
case 499:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3601
|
//line php5/php5.y:3613
|
||||||
{
|
{
|
||||||
yyVAL.node = scalar.NewString(yyDollar[1].token.Value)
|
yyVAL.node = scalar.NewString(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6486,7 +6498,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 500:
|
case 500:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3607
|
//line php5/php5.y:3619
|
||||||
{
|
{
|
||||||
// TODO: add option to handle 64 bit integer
|
// TODO: add option to handle 64 bit integer
|
||||||
if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil {
|
if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil {
|
||||||
@ -6500,7 +6512,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 501:
|
case 501:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3619
|
//line php5/php5.y:3631
|
||||||
{
|
{
|
||||||
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
identifier := node.NewIdentifier(yyDollar[1].token.Value)
|
||||||
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token))
|
||||||
@ -6512,7 +6524,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 502:
|
case 502:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3632
|
//line php5/php5.y:3644
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewIsset(yyDollar[3].list)
|
yyVAL.node = expr.NewIsset(yyDollar[3].list)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6520,7 +6532,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 503:
|
case 503:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3638
|
//line php5/php5.y:3650
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewEmpty(yyDollar[3].node)
|
yyVAL.node = expr.NewEmpty(yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6528,7 +6540,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 504:
|
case 504:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3644
|
//line php5/php5.y:3656
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewEmpty(yyDollar[3].node)
|
yyVAL.node = expr.NewEmpty(yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6536,7 +6548,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 505:
|
case 505:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3650
|
//line php5/php5.y:3662
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewInclude(yyDollar[2].node)
|
yyVAL.node = expr.NewInclude(yyDollar[2].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
||||||
@ -6544,7 +6556,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 506:
|
case 506:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3656
|
//line php5/php5.y:3668
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node)
|
yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
||||||
@ -6552,7 +6564,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 507:
|
case 507:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
//line php5/php5.y:3662
|
//line php5/php5.y:3674
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewEval(yyDollar[3].node)
|
yyVAL.node = expr.NewEval(yyDollar[3].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token))
|
||||||
@ -6560,7 +6572,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 508:
|
case 508:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3668
|
//line php5/php5.y:3680
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewRequire(yyDollar[2].node)
|
yyVAL.node = expr.NewRequire(yyDollar[2].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
||||||
@ -6568,7 +6580,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 509:
|
case 509:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
//line php5/php5.y:3674
|
//line php5/php5.y:3686
|
||||||
{
|
{
|
||||||
yyVAL.node = expr.NewRequireOnce(yyDollar[2].node)
|
yyVAL.node = expr.NewRequireOnce(yyDollar[2].node)
|
||||||
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node))
|
||||||
@ -6576,31 +6588,31 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 510:
|
case 510:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3683
|
//line php5/php5.y:3695
|
||||||
{
|
{
|
||||||
yyVAL.list = []node.Node{yyDollar[1].node}
|
yyVAL.list = []node.Node{yyDollar[1].node}
|
||||||
}
|
}
|
||||||
case 511:
|
case 511:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3685
|
//line php5/php5.y:3697
|
||||||
{
|
{
|
||||||
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
yyVAL.list = append(yyDollar[1].list, yyDollar[3].node)
|
||||||
}
|
}
|
||||||
case 512:
|
case 512:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3690
|
//line php5/php5.y:3702
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 513:
|
case 513:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
//line php5/php5.y:3692
|
//line php5/php5.y:3704
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 514:
|
case 514:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3697
|
//line php5/php5.y:3709
|
||||||
{
|
{
|
||||||
target := node.NewIdentifier(yyDollar[3].token.Value)
|
target := node.NewIdentifier(yyDollar[3].token.Value)
|
||||||
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
||||||
@ -6612,7 +6624,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 515:
|
case 515:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3707
|
//line php5/php5.y:3719
|
||||||
{
|
{
|
||||||
target := node.NewIdentifier(yyDollar[3].token.Value)
|
target := node.NewIdentifier(yyDollar[3].token.Value)
|
||||||
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
||||||
@ -6624,7 +6636,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 516:
|
case 516:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3720
|
//line php5/php5.y:3732
|
||||||
{
|
{
|
||||||
target := node.NewIdentifier(yyDollar[3].token.Value)
|
target := node.NewIdentifier(yyDollar[3].token.Value)
|
||||||
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
||||||
@ -6636,7 +6648,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 517:
|
case 517:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
//line php5/php5.y:3733
|
//line php5/php5.y:3745
|
||||||
{
|
{
|
||||||
target := node.NewIdentifier(yyDollar[3].token.Value)
|
target := node.NewIdentifier(yyDollar[3].token.Value)
|
||||||
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token))
|
||||||
|
30
php5/php5.y
30
php5/php5.y
@ -2977,21 +2977,33 @@ general_constant:
|
|||||||
{ $$ = $1 }
|
{ $$ = $1 }
|
||||||
| namespace_name
|
| namespace_name
|
||||||
{
|
{
|
||||||
$$ = name.NewName($1)
|
name := name.NewName($1)
|
||||||
positions.AddPosition($$, positionBuilder.NewNodeListPosition($1))
|
positions.AddPosition(name, positionBuilder.NewNodeListPosition($1))
|
||||||
comments.AddComments($$, ListGetFirstNodeComments($1))
|
comments.AddComments(name, ListGetFirstNodeComments($1))
|
||||||
|
|
||||||
|
$$ = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition($$, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments($$, comments[name])
|
||||||
}
|
}
|
||||||
| T_NAMESPACE T_NS_SEPARATOR namespace_name
|
| T_NAMESPACE T_NS_SEPARATOR namespace_name
|
||||||
{
|
{
|
||||||
$$ = name.NewRelative($3)
|
name := name.NewRelative($3)
|
||||||
positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3))
|
positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition($1, $3))
|
||||||
comments.AddComments($$, $1.Comments())
|
comments.AddComments(name, $1.Comments())
|
||||||
|
|
||||||
|
$$ = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition($$, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments($$, comments[name])
|
||||||
}
|
}
|
||||||
| T_NS_SEPARATOR namespace_name
|
| T_NS_SEPARATOR namespace_name
|
||||||
{
|
{
|
||||||
$$ = name.NewFullyQualified($2)
|
name := name.NewFullyQualified($2)
|
||||||
positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2))
|
positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition($1, $2))
|
||||||
comments.AddComments($$, $1.Comments())
|
comments.AddComments(name, $1.Comments())
|
||||||
|
|
||||||
|
$$ = expr.NewConstFetch(name)
|
||||||
|
positions.AddPosition($$, positionBuilder.NewNodePosition(name))
|
||||||
|
comments.AddComments($$, comments[name])
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user