From 2c649159c70c7cb4a09ab5368020029d9bc40c90 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Sun, 10 Mar 2019 23:37:01 +0200 Subject: [PATCH] #80 implement Ragel based lexer --- Makefile | 4 +- README.md | 11 +- main.go | 47 +- node/expr/assign/t_assign_op_test.go | 301 +- node/expr/binary/t_binary_op_test.go | 483 +- node/expr/cast/t_cast_test.go | 155 +- node/expr/t_array_dim_fetch_test.go | 37 +- node/expr/t_array_test.go | 49 +- node/expr/t_bitwise_not_test.go | 15 +- node/expr/t_boolean_not_test.go | 15 +- node/expr/t_class_const_fetch_test.go | 31 +- node/expr/t_clone_test.go | 29 +- node/expr/t_closure_test.go | 91 +- node/expr/t_const_fetch_test.go | 43 +- node/expr/t_empty_test.go | 15 +- node/expr/t_error_supress_test.go | 15 +- node/expr/t_eval_test.go | 15 +- node/expr/t_exit_test.go | 69 +- node/expr/t_function_call_test.go | 103 +- node/expr/t_inc_dec_test.go | 57 +- node/expr/t_include_test.go | 57 +- node/expr/t_instance_of_test.go | 55 +- node/expr/t_isset_test.go | 33 +- node/expr/t_list_test.go | 133 +- node/expr/t_method_call_test.go | 19 +- node/expr/t_new_test.go | 71 +- node/expr/t_print_test.go | 15 +- node/expr/t_property_fetch_test.go | 17 +- node/expr/t_reference_test.go | 25 +- node/expr/t_shell_exec_test.go | 17 +- node/expr/t_short_array_test.go | 49 +- node/expr/t_short_list_test.go | 67 +- node/expr/t_static_call_test.go | 95 +- node/expr/t_static_property_fetch_test.go | 55 +- node/expr/t_ternary_test.go | 105 +- node/expr/t_unary_test.go | 29 +- node/expr/t_variable_test.go | 27 +- node/expr/t_yield_test.go | 83 +- node/name/t_name_test.go | 49 +- node/scalar/t_encapsed_test.go | 299 +- node/scalar/t_heredoc_test.go | 103 +- node/scalar/t_magic_constant_test.go | 11 +- node/scalar/t_numbers_test.go | 71 +- node/scalar/t_string_test.go | 51 +- node/stmt/n_declare.go | 4 +- node/stmt/t_alt_if_test.go | 71 +- node/stmt/t_class_const_list_test.go | 49 +- node/stmt/t_class_method_test.go | 129 +- node/stmt/t_class_test.go | 109 +- node/stmt/t_const_list_test.go | 21 +- node/stmt/t_continue_test.go | 47 +- node/stmt/t_declare_test.go | 53 +- node/stmt/t_do_test.go | 13 +- node/stmt/t_echo_test.go | 27 +- node/stmt/t_expression_test.go | 11 +- node/stmt/t_for_test.go | 61 +- node/stmt/t_foreach_test.go | 143 +- node/stmt/t_function_test.go | 81 +- node/stmt/t_global_test.go | 45 +- node/stmt/t_goto_label_test.go | 15 +- node/stmt/t_halt_compiler_test.go | 9 +- node/stmt/t_if_test.go | 125 +- node/stmt/t_inline_html_test.go | 13 +- node/stmt/t_interface_test.go | 47 +- node/stmt/t_namespace_test.go | 33 +- node/stmt/t_property_list_test.go | 81 +- node/stmt/t_static_var_test.go | 59 +- node/stmt/t_switch_case_default_test.go | 267 +- node/stmt/t_throw_test.go | 13 +- node/stmt/t_trait_test.go | 11 +- node/stmt/t_trait_use_test.go | 177 +- node/stmt/t_try_catch_finnaly_test.go | 133 +- node/stmt/t_unset_test.go | 43 +- node/stmt/t_use_test.go | 303 +- node/stmt/t_visitor_test.go | 3 +- node/stmt/t_while_break_test.go | 47 +- node/t_node_test.go | 593 +- node/t_position_test.go | 2 +- parser/parser.go | 1 - php5/parser.go | 37 +- php5/php5.go | 1050 +- php5/php5.y | 10 +- php5/php5_bench_test.go | 3 +- php5/php5_test.go | 4232 +-- php7/parser.go | 35 +- php7/php7.go | 990 +- php7/php7.y | 12 +- php7/php7_bench_test.go | 3 +- php7/php7_test.go | 3716 +-- printer/pretty_printer.go | 4 +- printer/pretty_printer_test.go | 6 +- printer/printer.go | 5 +- printer/printer_parsed_php5_test.go | 2 +- printer/printer_parsed_php7_test.go | 4 +- printer/printer_test.go | 8 +- scanner/lexer.go | 312 +- scanner/lexer_tokens.go | 6 +- scanner/lexer_tokens_string.go | 17 - scanner/newline.go | 25 + scanner/scanner.go | 30147 ++++++++++++++------ scanner/scanner.l | 690 - scanner/scanner.rl | 476 + scanner/scanner_test.go | 903 +- scanner/tokenid_string.go | 17 + visitor/dumper_test.go | 45 +- visitor/go_dumper_test.go | 117 +- visitor/json_dumper_test.go | 5 +- visitor/pretty_json_dumper_test.go | 112 +- 108 files changed, 30415 insertions(+), 18534 deletions(-) delete mode 100644 scanner/lexer_tokens_string.go create mode 100644 scanner/newline.go delete mode 100644 scanner/scanner.l create mode 100644 scanner/scanner.rl create mode 100644 scanner/tokenid_string.go diff --git a/Makefile b/Makefile index 460cda5..9b968cf 100644 --- a/Makefile +++ b/Makefile @@ -27,8 +27,8 @@ compile: ./php5/php5.go ./php7/php7.go ./scanner/scanner.go fmt sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./php5/php5.go rm -f y.output -./scanner/scanner.go: ./scanner/scanner.l - golex -o $@ $< +./scanner/scanner.go: ./scanner/scanner.rl + ragel -Z -G2 -o $@ $< ./php5/php5.go: ./php5/php5.y goyacc -o $@ $< diff --git a/README.md b/README.md index c932164..183f31e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ PHP Parser written in Go [![Maintainability](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/maintainability)](https://codeclimate.com/github/z7zmey/php-parser/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/test_coverage)](https://codeclimate.com/github/z7zmey/php-parser/test_coverage) -This project uses [goyacc](https://godoc.org/golang.org/x/tools/cmd/goyacc) and [golex](https://github.com/cznic/golex) libraries to parse PHP sources into [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree). It can be used to write static analysis, refactoring, metrics, code style formatting tools. +This project uses [goyacc](https://godoc.org/golang.org/x/tools/cmd/goyacc) and [ragel](https://www.colm.net/open-source/ragel/) tools to create PHP parser. It parses source code into [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree). It can be used to write static analysis, refactoring, metrics, code style formatting tools. #### Try it online: [demo](https://php-parser.com) @@ -62,7 +62,6 @@ package main import ( "fmt" - "bytes" "os" "github.com/z7zmey/php-parser/php7" @@ -70,9 +69,9 @@ import ( ) func main() { - src := bytes.NewBufferString(` [%d] %s\n", counter, parserWorker.GetPath()) + fmt.Fprintf(w, "==> [%d] %s\n", counter, res.path) - for _, e := range parserWorker.GetErrors() { + for _, e := range res.parser.GetErrors() { + // if !strings.Contains(e.Msg, "WARNING") { + // fmt.Print("\n\n\n" + parserWorker.GetPath() + "\n ") + // panic(e.Msg) + // } fmt.Fprintln(w, e) } if *printBack { o := bytes.NewBuffer([]byte{}) p := printer.NewPrinter(o) - p.Print(parserWorker.GetRootNode()) + p.Print(res.parser.GetRootNode()) - err := ioutil.WriteFile(parserWorker.GetPath(), o.Bytes(), 0644) + err := ioutil.WriteFile(res.path, o.Bytes(), 0644) checkErr(err) } var nsResolver *visitor.NamespaceResolver if *showResolvedNs { nsResolver = visitor.NewNamespaceResolver() - parserWorker.GetRootNode().Walk(nsResolver) + res.parser.GetRootNode().Walk(nsResolver) } switch dumpType { @@ -167,22 +174,22 @@ func printerWorker(result <-chan parser.Parser) { Indent: "| ", NsResolver: nsResolver, } - parserWorker.GetRootNode().Walk(dumper) + res.parser.GetRootNode().Walk(dumper) case "json": dumper := &visitor.JsonDumper{ Writer: os.Stdout, NsResolver: nsResolver, } - parserWorker.GetRootNode().Walk(dumper) + res.parser.GetRootNode().Walk(dumper) case "pretty_json": dumper := &visitor.PrettyJsonDumper{ Writer: os.Stdout, NsResolver: nsResolver, } - parserWorker.GetRootNode().Walk(dumper) + res.parser.GetRootNode().Walk(dumper) case "go": dumper := &visitor.GoDumper{Writer: os.Stdout} - parserWorker.GetRootNode().Walk(dumper) + res.parser.GetRootNode().Walk(dumper) } wg.Done() diff --git a/node/expr/assign/t_assign_op_test.go b/node/expr/assign/t_assign_op_test.go index 19b0ca7..2ee757e 100644 --- a/node/expr/assign/t_assign_op_test.go +++ b/node/expr/assign/t_assign_op_test.go @@ -1,7 +1,6 @@ package assign_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestReference(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -32,28 +31,28 @@ func TestReference(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -63,14 +62,14 @@ func TestReference(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -81,12 +80,12 @@ func TestReference(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -99,7 +98,7 @@ func TestReferenceNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -107,28 +106,28 @@ func TestReferenceNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -138,14 +137,14 @@ func TestReferenceNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 16, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Parts: []node.Node{ @@ -153,7 +152,7 @@ func TestReferenceNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -166,12 +165,12 @@ func TestReferenceNew(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -184,7 +183,7 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Stmts: []node.Node{ @@ -192,28 +191,28 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 20, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -223,14 +222,14 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 20, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Parts: []node.Node{ @@ -238,7 +237,7 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -249,7 +248,7 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 20, }, Arguments: []node.Node{ @@ -257,7 +256,7 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 19, }, Variadic: false, @@ -266,14 +265,14 @@ func TestReferenceArgs(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 19, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 19, }, Value: "b", @@ -288,12 +287,12 @@ func TestReferenceArgs(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -306,7 +305,7 @@ func TestAssign(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -314,28 +313,28 @@ func TestAssign(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -345,14 +344,14 @@ func TestAssign(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -363,12 +362,12 @@ func TestAssign(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -381,7 +380,7 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -389,28 +388,28 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.BitwiseAnd{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -420,14 +419,14 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -438,12 +437,12 @@ func TestBitwiseAnd(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -456,7 +455,7 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -464,28 +463,28 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.BitwiseOr{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -495,14 +494,14 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -513,12 +512,12 @@ func TestBitwiseOr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -531,7 +530,7 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -539,28 +538,28 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.BitwiseXor{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -570,14 +569,14 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -588,12 +587,12 @@ func TestBitwiseXor(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -606,7 +605,7 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -614,28 +613,28 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Concat{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -645,14 +644,14 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -663,12 +662,12 @@ func TestConcat(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -681,7 +680,7 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -689,28 +688,28 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Div{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -720,14 +719,14 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -738,12 +737,12 @@ func TestDiv(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -756,7 +755,7 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -764,28 +763,28 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Minus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -795,14 +794,14 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -813,12 +812,12 @@ func TestMinus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -831,7 +830,7 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -839,28 +838,28 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Mod{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -870,14 +869,14 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -888,12 +887,12 @@ func TestMod(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -906,7 +905,7 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -914,28 +913,28 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Mul{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -945,14 +944,14 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -963,12 +962,12 @@ func TestMul(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -981,7 +980,7 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -989,28 +988,28 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &assign.Plus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1020,14 +1019,14 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1038,12 +1037,12 @@ func TestPlus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1056,7 +1055,7 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1064,28 +1063,28 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &assign.Pow{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1095,14 +1094,14 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -1113,12 +1112,12 @@ func TestPow(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1131,7 +1130,7 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1139,28 +1138,28 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &assign.ShiftLeft{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1170,14 +1169,14 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -1188,12 +1187,12 @@ func TestShiftLeft(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1206,7 +1205,7 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1214,28 +1213,28 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &assign.ShiftRight{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1245,14 +1244,14 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -1263,12 +1262,12 @@ func TestShiftRight(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/binary/t_binary_op_test.go b/node/expr/binary/t_binary_op_test.go index 5ad987f..6426471 100644 --- a/node/expr/binary/t_binary_op_test.go +++ b/node/expr/binary/t_binary_op_test.go @@ -1,7 +1,6 @@ package binary_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.BitwiseAnd{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -61,14 +60,14 @@ func TestBitwiseAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -79,12 +78,12 @@ func TestBitwiseAnd(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -97,7 +96,7 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -105,28 +104,28 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.BitwiseOr{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -136,14 +135,14 @@ func TestBitwiseOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -154,12 +153,12 @@ func TestBitwiseOr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -172,7 +171,7 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -180,28 +179,28 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.BitwiseXor{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -211,14 +210,14 @@ func TestBitwiseXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -229,12 +228,12 @@ func TestBitwiseXor(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -247,7 +246,7 @@ func TestBooleanAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -255,28 +254,28 @@ func TestBooleanAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.BooleanAnd{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -286,14 +285,14 @@ func TestBooleanAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -304,12 +303,12 @@ func TestBooleanAnd(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -322,7 +321,7 @@ func TestBooleanOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -330,28 +329,28 @@ func TestBooleanOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.BooleanOr{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -361,14 +360,14 @@ func TestBooleanOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -379,12 +378,12 @@ func TestBooleanOr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -397,7 +396,7 @@ func TestCoalesce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -405,28 +404,28 @@ func TestCoalesce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.Coalesce{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -436,14 +435,14 @@ func TestCoalesce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -454,7 +453,7 @@ func TestCoalesce(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -467,7 +466,7 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -475,28 +474,28 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Concat{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -506,14 +505,14 @@ func TestConcat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -524,12 +523,12 @@ func TestConcat(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -542,7 +541,7 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -550,28 +549,28 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Div{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -581,14 +580,14 @@ func TestDiv(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -599,12 +598,12 @@ func TestDiv(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -617,7 +616,7 @@ func TestEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -625,28 +624,28 @@ func TestEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.Equal{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -656,14 +655,14 @@ func TestEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -674,12 +673,12 @@ func TestEqual(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -692,7 +691,7 @@ func TestGreaterOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -700,28 +699,28 @@ func TestGreaterOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.GreaterOrEqual{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -731,14 +730,14 @@ func TestGreaterOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -749,12 +748,12 @@ func TestGreaterOrEqual(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -767,7 +766,7 @@ func TestGreater(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -775,28 +774,28 @@ func TestGreater(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Greater{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -806,14 +805,14 @@ func TestGreater(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -824,12 +823,12 @@ func TestGreater(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -842,7 +841,7 @@ func TestIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -850,28 +849,28 @@ func TestIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &binary.Identical{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -881,14 +880,14 @@ func TestIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -899,12 +898,12 @@ func TestIdentical(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -917,7 +916,7 @@ func TestLogicalAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -925,28 +924,28 @@ func TestLogicalAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &binary.LogicalAnd{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -956,14 +955,14 @@ func TestLogicalAnd(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -974,12 +973,12 @@ func TestLogicalAnd(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -992,7 +991,7 @@ func TestLogicalOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1000,28 +999,28 @@ func TestLogicalOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.LogicalOr{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1031,14 +1030,14 @@ func TestLogicalOr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1049,12 +1048,12 @@ func TestLogicalOr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1067,7 +1066,7 @@ func TestLogicalXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1075,28 +1074,28 @@ func TestLogicalXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &binary.LogicalXor{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1106,14 +1105,14 @@ func TestLogicalXor(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -1124,12 +1123,12 @@ func TestLogicalXor(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1142,7 +1141,7 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -1150,28 +1149,28 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Minus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1181,14 +1180,14 @@ func TestMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -1199,12 +1198,12 @@ func TestMinus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1217,7 +1216,7 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -1225,28 +1224,28 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Mod{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1256,14 +1255,14 @@ func TestMod(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -1274,12 +1273,12 @@ func TestMod(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1292,7 +1291,7 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -1300,28 +1299,28 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Mul{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1331,14 +1330,14 @@ func TestMul(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -1349,12 +1348,12 @@ func TestMul(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1367,7 +1366,7 @@ func TestNotEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1375,28 +1374,28 @@ func TestNotEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.NotEqual{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1406,14 +1405,14 @@ func TestNotEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1424,12 +1423,12 @@ func TestNotEqual(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1442,7 +1441,7 @@ func TestNotIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1450,28 +1449,28 @@ func TestNotIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &binary.NotIdentical{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1481,14 +1480,14 @@ func TestNotIdentical(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -1499,12 +1498,12 @@ func TestNotIdentical(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1517,7 +1516,7 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -1525,28 +1524,28 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Plus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1556,14 +1555,14 @@ func TestPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -1574,12 +1573,12 @@ func TestPlus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1592,7 +1591,7 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1600,28 +1599,28 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.Pow{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1631,14 +1630,14 @@ func TestPow(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1649,12 +1648,12 @@ func TestPow(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1667,7 +1666,7 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1675,28 +1674,28 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.ShiftLeft{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1706,14 +1705,14 @@ func TestShiftLeft(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1724,12 +1723,12 @@ func TestShiftLeft(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1742,7 +1741,7 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1750,28 +1749,28 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.ShiftRight{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1781,14 +1780,14 @@ func TestShiftRight(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1799,12 +1798,12 @@ func TestShiftRight(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1817,7 +1816,7 @@ func TestSmallerOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -1825,28 +1824,28 @@ func TestSmallerOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &binary.SmallerOrEqual{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1856,14 +1855,14 @@ func TestSmallerOrEqual(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "b", @@ -1874,12 +1873,12 @@ func TestSmallerOrEqual(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1892,7 +1891,7 @@ func TestSmaller(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -1900,28 +1899,28 @@ func TestSmaller(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &binary.Smaller{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -1931,14 +1930,14 @@ func TestSmaller(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -1949,12 +1948,12 @@ func TestSmaller(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -1967,7 +1966,7 @@ func TestSpaceship(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -1975,28 +1974,28 @@ func TestSpaceship(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &binary.Spaceship{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -2006,14 +2005,14 @@ func TestSpaceship(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -2024,7 +2023,7 @@ func TestSpaceship(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/cast/t_cast_test.go b/node/expr/cast/t_cast_test.go index 578266b..4516bb9 100644 --- a/node/expr/cast/t_cast_test.go +++ b/node/expr/cast/t_cast_test.go @@ -1,7 +1,6 @@ package cast_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &cast.Array{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -62,12 +61,12 @@ func TestArray(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -80,7 +79,7 @@ func TestBool(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -88,28 +87,28 @@ func TestBool(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -120,12 +119,12 @@ func TestBool(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -138,7 +137,7 @@ func TestBoolShort(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -146,28 +145,28 @@ func TestBoolShort(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -178,12 +177,12 @@ func TestBoolShort(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -196,7 +195,7 @@ func TestDouble(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -204,28 +203,28 @@ func TestDouble(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -236,12 +235,12 @@ func TestDouble(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -254,7 +253,7 @@ func TestCastFloat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -262,28 +261,28 @@ func TestCastFloat(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -294,12 +293,12 @@ func TestCastFloat(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -312,7 +311,7 @@ func TestInt(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -320,28 +319,28 @@ func TestInt(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -352,12 +351,12 @@ func TestInt(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -370,7 +369,7 @@ func TestIntShort(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -378,28 +377,28 @@ func TestIntShort(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -410,12 +409,12 @@ func TestIntShort(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -428,7 +427,7 @@ func TestObject(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -436,28 +435,28 @@ func TestObject(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &cast.Object{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -468,12 +467,12 @@ func TestObject(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -486,7 +485,7 @@ func TestString(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -494,28 +493,28 @@ func TestString(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &cast.String{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -526,12 +525,12 @@ func TestString(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -544,7 +543,7 @@ func TestBinaryString(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -552,28 +551,28 @@ func TestBinaryString(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &cast.String{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -584,12 +583,12 @@ func TestBinaryString(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -602,7 +601,7 @@ func TestUnset(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -610,28 +609,28 @@ func TestUnset(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &cast.Unset{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -642,12 +641,12 @@ func TestUnset(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_array_dim_fetch_test.go b/node/expr/t_array_dim_fetch_test.go index 2b9abb6..a6f1f1d 100644 --- a/node/expr/t_array_dim_fetch_test.go +++ b/node/expr/t_array_dim_fetch_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestArrayDimFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestArrayDimFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -61,7 +60,7 @@ func TestArrayDimFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 7, + StartPos: 6, EndPos: 7, }, Value: "1", @@ -71,12 +70,12 @@ func TestArrayDimFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -89,7 +88,7 @@ func TestArrayDimFetchNested(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -97,35 +96,35 @@ func TestArrayDimFetchNested(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -135,7 +134,7 @@ func TestArrayDimFetchNested(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 7, + StartPos: 6, EndPos: 7, }, Value: "1", @@ -145,7 +144,7 @@ func TestArrayDimFetchNested(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 10, }, Value: "2", @@ -155,12 +154,12 @@ func TestArrayDimFetchNested(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_array_test.go b/node/expr/t_array_test.go index a9f39e3..55f4487 100644 --- a/node/expr/t_array_test.go +++ b/node/expr/t_array_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -30,14 +29,14 @@ func TestArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Items: []node.Node{}, @@ -46,12 +45,12 @@ func TestArray(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -64,7 +63,7 @@ func TestArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -72,14 +71,14 @@ func TestArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Items: []node.Node{ @@ -87,14 +86,14 @@ func TestArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 10, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 10, }, Value: "1", @@ -106,12 +105,12 @@ func TestArrayItem(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -124,7 +123,7 @@ func TestArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Stmts: []node.Node{ @@ -132,14 +131,14 @@ func TestArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 20, }, Items: []node.Node{ @@ -147,14 +146,14 @@ func TestArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 10, }, Value: "1", @@ -163,7 +162,7 @@ func TestArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 13, }, Value: "1", @@ -173,28 +172,28 @@ func TestArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 18, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 18, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -209,12 +208,12 @@ func TestArrayItems(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_bitwise_not_test.go b/node/expr/t_bitwise_not_test.go index 56968f7..ca13766 100644 --- a/node/expr/t_bitwise_not_test.go +++ b/node/expr/t_bitwise_not_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestBitwiseNot(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestBitwiseNot(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.BitwiseNot{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -62,12 +61,12 @@ func TestBitwiseNot(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_boolean_not_test.go b/node/expr/t_boolean_not_test.go index 1064828..0a78ff1 100644 --- a/node/expr/t_boolean_not_test.go +++ b/node/expr/t_boolean_not_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestBooleanNot(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestBooleanNot(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.BooleanNot{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -62,12 +61,12 @@ func TestBooleanNot(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_class_const_fetch_test.go b/node/expr/t_class_const_fetch_test.go index 6f035aa..a7b1be1 100644 --- a/node/expr/t_class_const_fetch_test.go +++ b/node/expr/t_class_const_fetch_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -32,21 +31,21 @@ func TestClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -54,7 +53,7 @@ func TestClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "Foo", @@ -65,7 +64,7 @@ func TestClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 11, }, Value: "Bar", @@ -75,12 +74,12 @@ func TestClassConstFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -93,7 +92,7 @@ func TestStaticClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -101,21 +100,21 @@ func TestStaticClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Class: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Value: "static", @@ -124,7 +123,7 @@ func TestStaticClassConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 14, }, Value: "bar", @@ -134,12 +133,12 @@ func TestStaticClassConstFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_clone_test.go b/node/expr/t_clone_test.go index 3804b9b..3adff2e 100644 --- a/node/expr/t_clone_test.go +++ b/node/expr/t_clone_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestCloneBrackets(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestCloneBrackets(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -62,12 +61,12 @@ func TestCloneBrackets(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -80,7 +79,7 @@ func TestClone(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -88,28 +87,28 @@ func TestClone(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -120,12 +119,12 @@ func TestClone(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_closure_test.go b/node/expr/t_closure_test.go index 5c3bfc8..2d17372 100644 --- a/node/expr/t_closure_test.go +++ b/node/expr/t_closure_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestClosure(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Stmts: []node.Node{ @@ -32,14 +31,14 @@ func TestClosure(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, ReturnsRef: false, @@ -51,12 +50,12 @@ func TestClosure(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -69,7 +68,7 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 37, }, Stmts: []node.Node{ @@ -77,14 +76,14 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 37, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 36, }, ReturnsRef: false, @@ -95,7 +94,7 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Variadic: false, @@ -104,14 +103,14 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -122,7 +121,7 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, ByRef: false, @@ -131,14 +130,14 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -150,7 +149,7 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 33, }, Uses: []node.Node{ @@ -158,14 +157,14 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 27, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 27, }, Value: "c", @@ -175,21 +174,21 @@ func TestClosureUse(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 30, + StartPos: 29, EndPos: 32, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 32, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 32, }, Value: "d", @@ -204,12 +203,12 @@ func TestClosureUse(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -222,7 +221,7 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 37, }, Stmts: []node.Node{ @@ -230,14 +229,14 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 37, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 36, }, ReturnsRef: false, @@ -248,7 +247,7 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, ByRef: false, @@ -257,14 +256,14 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -275,7 +274,7 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, ByRef: false, @@ -284,14 +283,14 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -303,7 +302,7 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 33, }, Uses: []node.Node{ @@ -311,21 +310,21 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 28, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 27, + StartPos: 26, EndPos: 28, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 27, + StartPos: 26, EndPos: 28, }, Value: "c", @@ -336,14 +335,14 @@ func TestClosureUse2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 32, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 32, }, Value: "d", @@ -357,12 +356,12 @@ func TestClosureUse2(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -375,7 +374,7 @@ func TestClosureReturnType(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Stmts: []node.Node{ @@ -383,14 +382,14 @@ func TestClosureReturnType(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, PhpDocComment: "", @@ -400,7 +399,7 @@ func TestClosureReturnType(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 19, }, Parts: []node.Node{ @@ -408,7 +407,7 @@ func TestClosureReturnType(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 19, }, Value: "void", @@ -421,7 +420,7 @@ func TestClosureReturnType(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_const_fetch_test.go b/node/expr/t_const_fetch_test.go index 85ccf30..22b4a3e 100644 --- a/node/expr/t_const_fetch_test.go +++ b/node/expr/t_const_fetch_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -32,21 +31,21 @@ func TestConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -54,7 +53,7 @@ func TestConstFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "foo", @@ -66,12 +65,12 @@ func TestConstFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -84,7 +83,7 @@ func TestConstFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -92,21 +91,21 @@ func TestConstFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Constant: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -114,7 +113,7 @@ func TestConstFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "foo", @@ -126,12 +125,12 @@ func TestConstFetchRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -144,7 +143,7 @@ func TestConstFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -152,21 +151,21 @@ func TestConstFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Constant: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -174,7 +173,7 @@ func TestConstFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 7, }, Value: "foo", @@ -186,12 +185,12 @@ func TestConstFetchFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_empty_test.go b/node/expr/t_empty_test.go index 0f277b5..8f5e786 100644 --- a/node/expr/t_empty_test.go +++ b/node/expr/t_empty_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Empty{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -62,12 +61,12 @@ func TestEmpty(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_error_supress_test.go b/node/expr/t_error_supress_test.go index 4e956e9..c742a6b 100644 --- a/node/expr/t_error_supress_test.go +++ b/node/expr/t_error_supress_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestErrorSuppress(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestErrorSuppress(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.ErrorSuppress{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -62,12 +61,12 @@ func TestErrorSuppress(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_eval_test.go b/node/expr/t_eval_test.go index ba21ff9..18e760f 100644 --- a/node/expr/t_eval_test.go +++ b/node/expr/t_eval_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestEval(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestEval(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Eval{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -62,12 +61,12 @@ func TestEval(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_exit_test.go b/node/expr/t_exit_test.go index 80596f2..888d954 100644 --- a/node/expr/t_exit_test.go +++ b/node/expr/t_exit_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestExit(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -30,7 +29,7 @@ func TestExit(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.Exit{ @@ -38,7 +37,7 @@ func TestExit(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, }, @@ -46,12 +45,12 @@ func TestExit(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -64,7 +63,7 @@ func TestExitEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Stmts: []node.Node{ @@ -72,7 +71,7 @@ func TestExitEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Expr: &expr.Exit{ @@ -80,7 +79,7 @@ func TestExitEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, }, @@ -88,12 +87,12 @@ func TestExitEmpty(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -106,7 +105,7 @@ func TestExitExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -114,7 +113,7 @@ func TestExitExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Exit{ @@ -122,21 +121,21 @@ func TestExitExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -147,12 +146,12 @@ func TestExitExpr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -165,7 +164,7 @@ func TestDie(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -173,7 +172,7 @@ func TestDie(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.Exit{ @@ -181,7 +180,7 @@ func TestDie(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, }, @@ -189,12 +188,12 @@ func TestDie(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -207,7 +206,7 @@ func TestDieEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Stmts: []node.Node{ @@ -215,7 +214,7 @@ func TestDieEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Expr: &expr.Exit{ @@ -223,7 +222,7 @@ func TestDieEmpty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, }, @@ -231,12 +230,12 @@ func TestDieEmpty(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -249,7 +248,7 @@ func TestDieExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -257,7 +256,7 @@ func TestDieExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Exit{ @@ -265,21 +264,21 @@ func TestDieExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 9, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 9, }, Value: "a", @@ -290,12 +289,12 @@ func TestDieExpr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_function_call_test.go b/node/expr/t_function_call_test.go index c6e0fea..4182da0 100644 --- a/node/expr/t_function_call_test.go +++ b/node/expr/t_function_call_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -27,7 +26,7 @@ func TestFunctionCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Stmts: []node.Node{ @@ -35,21 +34,21 @@ func TestFunctionCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Function: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -57,7 +56,7 @@ func TestFunctionCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "foo", @@ -68,7 +67,7 @@ func TestFunctionCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 7, + StartPos: 6, EndPos: 8, }, }, @@ -77,12 +76,12 @@ func TestFunctionCall(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -95,7 +94,7 @@ func TestFunctionCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -103,21 +102,21 @@ func TestFunctionCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Function: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -125,7 +124,7 @@ func TestFunctionCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "foo", @@ -136,7 +135,7 @@ func TestFunctionCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, }, @@ -145,12 +144,12 @@ func TestFunctionCallRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -163,7 +162,7 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -171,21 +170,21 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Function: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -193,7 +192,7 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 7, }, Value: "foo", @@ -204,7 +203,7 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 11, }, Arguments: []node.Node{ @@ -212,7 +211,7 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Variadic: false, @@ -221,7 +220,7 @@ func TestFunctionFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Items: []node.Node{}, @@ -234,12 +233,12 @@ func TestFunctionFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -252,7 +251,7 @@ func TestFunctionCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Stmts: []node.Node{ @@ -260,28 +259,28 @@ func TestFunctionCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Value: "foo", @@ -291,7 +290,7 @@ func TestFunctionCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 17, }, Arguments: []node.Node{ @@ -299,7 +298,7 @@ func TestFunctionCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 16, }, Variadic: false, @@ -308,21 +307,21 @@ func TestFunctionCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 16, }, Value: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Value: "a", @@ -337,12 +336,12 @@ func TestFunctionCallVar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -355,7 +354,7 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Stmts: []node.Node{ @@ -363,21 +362,21 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Function: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -385,7 +384,7 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Value: "ceil", @@ -396,7 +395,7 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 15, }, Arguments: []node.Node{ @@ -404,7 +403,7 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 14, }, Variadic: false, @@ -413,21 +412,21 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 14, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, Value: "foo", @@ -437,7 +436,7 @@ func TestFunctionCallExprArg(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 14, }, Value: "3", @@ -451,12 +450,12 @@ func TestFunctionCallExprArg(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_inc_dec_test.go b/node/expr/t_inc_dec_test.go index b574f20..0785bf8 100644 --- a/node/expr/t_inc_dec_test.go +++ b/node/expr/t_inc_dec_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestPostDec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestPostDec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.PostDec{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -62,12 +61,12 @@ func TestPostDec(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -80,7 +79,7 @@ func TestPostInc(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -88,28 +87,28 @@ func TestPostInc(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.PostInc{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -120,12 +119,12 @@ func TestPostInc(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -138,7 +137,7 @@ func TestPreDec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -146,28 +145,28 @@ func TestPreDec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.PreDec{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, Value: "a", @@ -178,12 +177,12 @@ func TestPreDec(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -196,7 +195,7 @@ func TestPreInc(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Stmts: []node.Node{ @@ -204,28 +203,28 @@ func TestPreInc(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Expr: &expr.PreInc{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, Value: "a", @@ -236,12 +235,12 @@ func TestPreInc(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_include_test.go b/node/expr/t_include_test.go index 7f5d674..60e29ff 100644 --- a/node/expr/t_include_test.go +++ b/node/expr/t_include_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestInclude(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestInclude(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.Include{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -62,12 +61,12 @@ func TestInclude(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -80,7 +79,7 @@ func TestIncludeOnce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -88,28 +87,28 @@ func TestIncludeOnce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &expr.IncludeOnce{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "a", @@ -120,12 +119,12 @@ func TestIncludeOnce(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -138,7 +137,7 @@ func TestRequire(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -146,28 +145,28 @@ func TestRequire(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.Require{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "a", @@ -178,12 +177,12 @@ func TestRequire(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -196,7 +195,7 @@ func TestRequireOnce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -204,28 +203,28 @@ func TestRequireOnce(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &expr.RequireOnce{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "a", @@ -236,12 +235,12 @@ func TestRequireOnce(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_instance_of_test.go b/node/expr/t_instance_of_test.go index c6ede50..aa50921 100644 --- a/node/expr/t_instance_of_test.go +++ b/node/expr/t_instance_of_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestInstanceOf(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Stmts: []node.Node{ @@ -32,28 +31,28 @@ func TestInstanceOf(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 20, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -63,7 +62,7 @@ func TestInstanceOf(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 20, }, Parts: []node.Node{ @@ -71,7 +70,7 @@ func TestInstanceOf(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 20, }, Value: "Foo", @@ -83,12 +82,12 @@ func TestInstanceOf(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -101,7 +100,7 @@ func TestInstanceOfRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, Stmts: []node.Node{ @@ -109,28 +108,28 @@ func TestInstanceOfRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 30, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -140,7 +139,7 @@ func TestInstanceOfRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 30, }, Parts: []node.Node{ @@ -148,7 +147,7 @@ func TestInstanceOfRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 28, + StartPos: 27, EndPos: 30, }, Value: "Foo", @@ -160,12 +159,12 @@ func TestInstanceOfRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -178,7 +177,7 @@ func TestInstanceOfFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Stmts: []node.Node{ @@ -186,28 +185,28 @@ func TestInstanceOfFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -217,7 +216,7 @@ func TestInstanceOfFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 21, }, Parts: []node.Node{ @@ -225,7 +224,7 @@ func TestInstanceOfFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 21, }, Value: "Foo", @@ -237,12 +236,12 @@ func TestInstanceOfFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_isset_test.go b/node/expr/t_isset_test.go index 1643e63..59d3ac4 100644 --- a/node/expr/t_isset_test.go +++ b/node/expr/t_isset_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestIsset(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,14 +29,14 @@ func TestIsset(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Isset{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variables: []node.Node{ @@ -45,14 +44,14 @@ func TestIsset(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -64,12 +63,12 @@ func TestIsset(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -82,7 +81,7 @@ func TestIssetVariables(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -90,14 +89,14 @@ func TestIssetVariables(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &expr.Isset{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Variables: []node.Node{ @@ -105,14 +104,14 @@ func TestIssetVariables(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -122,14 +121,14 @@ func TestIssetVariables(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "b", @@ -141,12 +140,12 @@ func TestIssetVariables(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_list_test.go b/node/expr/t_list_test.go index fe4684e..54f4de1 100644 --- a/node/expr/t_list_test.go +++ b/node/expr/t_list_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestEmptyList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -30,21 +29,21 @@ func TestEmptyList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Items: []node.Node{}, @@ -53,14 +52,14 @@ func TestEmptyList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "b", @@ -71,12 +70,12 @@ func TestEmptyList(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -89,7 +88,7 @@ func TestList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -97,21 +96,21 @@ func TestList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Items: []node.Node{ @@ -119,21 +118,21 @@ func TestList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -146,14 +145,14 @@ func TestList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Value: "b", @@ -164,12 +163,12 @@ func TestList(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -182,7 +181,7 @@ func TestListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -190,21 +189,21 @@ func TestListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Items: []node.Node{ @@ -212,28 +211,28 @@ func TestListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, Val: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -247,14 +246,14 @@ func TestListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -265,12 +264,12 @@ func TestListArrayIndex(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -283,7 +282,7 @@ func TestListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Stmts: []node.Node{ @@ -291,21 +290,21 @@ func TestListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Items: []node.Node{ @@ -313,14 +312,14 @@ func TestListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 16, }, Val: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 16, }, Items: []node.Node{ @@ -328,21 +327,21 @@ func TestListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "a", @@ -358,14 +357,14 @@ func TestListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 22, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 22, }, Value: "b", @@ -376,12 +375,12 @@ func TestListList(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -394,7 +393,7 @@ func TestListEmptyItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -402,21 +401,21 @@ func TestListEmptyItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Items: []node.Node{ @@ -425,21 +424,21 @@ func TestListEmptyItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -452,14 +451,14 @@ func TestListEmptyItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -470,12 +469,12 @@ func TestListEmptyItem(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -488,7 +487,7 @@ func TestListEmptyItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Stmts: []node.Node{ @@ -496,21 +495,21 @@ func TestListEmptyItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Items: []node.Node{ @@ -520,21 +519,21 @@ func TestListEmptyItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -548,14 +547,14 @@ func TestListEmptyItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 22, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 22, }, Value: "b", @@ -566,12 +565,12 @@ func TestListEmptyItems(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_method_call_test.go b/node/expr/t_method_call_test.go index 0d2e7d9..b92989a 100644 --- a/node/expr/t_method_call_test.go +++ b/node/expr/t_method_call_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestMethodCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestMethodCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -61,7 +60,7 @@ func TestMethodCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 10, }, Value: "foo", @@ -70,7 +69,7 @@ func TestMethodCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, }, @@ -79,12 +78,12 @@ func TestMethodCall(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_new_test.go b/node/expr/t_new_test.go index 3b2f0ab..562bb03 100644 --- a/node/expr/t_new_test.go +++ b/node/expr/t_new_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -32,21 +31,21 @@ func TestNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 10, }, Parts: []node.Node{ @@ -54,7 +53,7 @@ func TestNew(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 10, }, Value: "Foo", @@ -66,12 +65,12 @@ func TestNew(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -84,7 +83,7 @@ func TestNewRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Stmts: []node.Node{ @@ -92,21 +91,21 @@ func TestNewRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 20, }, Parts: []node.Node{ @@ -114,7 +113,7 @@ func TestNewRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 20, }, Value: "Foo", @@ -125,7 +124,7 @@ func TestNewRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 21, + StartPos: 20, EndPos: 22, }, }, @@ -134,12 +133,12 @@ func TestNewRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -152,7 +151,7 @@ func TestNewFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -160,21 +159,21 @@ func TestNewFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 11, }, Parts: []node.Node{ @@ -182,7 +181,7 @@ func TestNewFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 11, }, Value: "Foo", @@ -193,7 +192,7 @@ func TestNewFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, }, @@ -202,12 +201,12 @@ func TestNewFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -220,7 +219,7 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 28, }, Stmts: []node.Node{ @@ -228,21 +227,21 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 28, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 27, }, Class: &stmt.Class{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 27, }, PhpDocComment: "", @@ -250,7 +249,7 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 24, }, Arguments: []node.Node{ @@ -258,7 +257,7 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Variadic: false, @@ -267,14 +266,14 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Value: "a", @@ -285,7 +284,7 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 23, }, IsReference: false, @@ -294,14 +293,14 @@ func TestNewAnonymous(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 22, + StartPos: 21, EndPos: 23, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 22, + StartPos: 21, EndPos: 23, }, Value: "b", @@ -317,7 +316,7 @@ func TestNewAnonymous(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_print_test.go b/node/expr/t_print_test.go index f2c54da..7b64e6c 100644 --- a/node/expr/t_print_test.go +++ b/node/expr/t_print_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestPrint(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestPrint(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Print{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -62,12 +61,12 @@ func TestPrint(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_property_fetch_test.go b/node/expr/t_property_fetch_test.go index fc9efa7..b23c329 100644 --- a/node/expr/t_property_fetch_test.go +++ b/node/expr/t_property_fetch_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -61,7 +60,7 @@ func TestPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 10, }, Value: "foo", @@ -71,12 +70,12 @@ func TestPropertyFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_reference_test.go b/node/expr/t_reference_test.go index 93be36e..093e518 100644 --- a/node/expr/t_reference_test.go +++ b/node/expr/t_reference_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestForeachWithRef(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, Stmts: []node.Node{ @@ -31,21 +30,21 @@ func TestForeachWithRef(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "a", @@ -55,14 +54,14 @@ func TestForeachWithRef(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "k", @@ -72,21 +71,21 @@ func TestForeachWithRef(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 25, + StartPos: 24, EndPos: 27, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 27, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 27, }, Value: "v", @@ -97,7 +96,7 @@ func TestForeachWithRef(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 30, + StartPos: 29, EndPos: 31, }, Stmts: []node.Node{}, @@ -106,12 +105,12 @@ func TestForeachWithRef(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_shell_exec_test.go b/node/expr/t_shell_exec_test.go index 1a31728..7b6a131 100644 --- a/node/expr/t_shell_exec_test.go +++ b/node/expr/t_shell_exec_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestShellExec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -32,14 +31,14 @@ func TestShellExec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Parts: []node.Node{ @@ -47,7 +46,7 @@ func TestShellExec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 8, }, Value: "cmd ", @@ -56,14 +55,14 @@ func TestShellExec(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "a", @@ -75,12 +74,12 @@ func TestShellExec(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_short_array_test.go b/node/expr/t_short_array_test.go index 2561e63..d99e267 100644 --- a/node/expr/t_short_array_test.go +++ b/node/expr/t_short_array_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestShortArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Stmts: []node.Node{ @@ -30,14 +29,14 @@ func TestShortArray(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Items: []node.Node{}, @@ -46,12 +45,12 @@ func TestShortArray(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -64,7 +63,7 @@ func TestShortArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -72,14 +71,14 @@ func TestShortArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Items: []node.Node{ @@ -87,14 +86,14 @@ func TestShortArrayItem(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 5, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 5, }, Value: "1", @@ -106,12 +105,12 @@ func TestShortArrayItem(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -124,7 +123,7 @@ func TestShortArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Stmts: []node.Node{ @@ -132,14 +131,14 @@ func TestShortArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Items: []node.Node{ @@ -147,14 +146,14 @@ func TestShortArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 8, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 5, }, Value: "1", @@ -163,7 +162,7 @@ func TestShortArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 8, }, Value: "1", @@ -173,28 +172,28 @@ func TestShortArrayItems(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 13, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 13, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, Value: "b", @@ -209,12 +208,12 @@ func TestShortArrayItems(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_short_list_test.go b/node/expr/t_short_list_test.go index 4a83933..cce6aa2 100644 --- a/node/expr/t_short_list_test.go +++ b/node/expr/t_short_list_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -21,7 +20,7 @@ func TestShortList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -29,21 +28,21 @@ func TestShortList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Items: []node.Node{ @@ -51,21 +50,21 @@ func TestShortList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -78,14 +77,14 @@ func TestShortList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "b", @@ -96,7 +95,7 @@ func TestShortList(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -109,7 +108,7 @@ func TestShortListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -117,21 +116,21 @@ func TestShortListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Items: []node.Node{ @@ -139,28 +138,28 @@ func TestShortListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 8, }, Val: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 8, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -174,14 +173,14 @@ func TestShortListArrayIndex(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, Value: "b", @@ -192,7 +191,7 @@ func TestShortListArrayIndex(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -205,7 +204,7 @@ func TestShortListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -213,21 +212,21 @@ func TestShortListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Items: []node.Node{ @@ -235,14 +234,14 @@ func TestShortListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 12, }, Val: &expr.List{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 12, }, Items: []node.Node{ @@ -250,21 +249,21 @@ func TestShortListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -280,14 +279,14 @@ func TestShortListList(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -298,7 +297,7 @@ func TestShortListList(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_static_call_test.go b/node/expr/t_static_call_test.go index 8ae9395..9586d39 100644 --- a/node/expr/t_static_call_test.go +++ b/node/expr/t_static_call_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -24,7 +23,7 @@ func TestStaticCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -32,21 +31,21 @@ func TestStaticCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -54,7 +53,7 @@ func TestStaticCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "Foo", @@ -65,7 +64,7 @@ func TestStaticCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 11, }, Value: "bar", @@ -74,7 +73,7 @@ func TestStaticCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 13, }, }, @@ -83,12 +82,12 @@ func TestStaticCall(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -101,7 +100,7 @@ func TestStaticCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 24, }, Stmts: []node.Node{ @@ -109,21 +108,21 @@ func TestStaticCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 24, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -131,7 +130,7 @@ func TestStaticCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -142,7 +141,7 @@ func TestStaticCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 21, }, Value: "bar", @@ -151,7 +150,7 @@ func TestStaticCallRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 22, + StartPos: 21, EndPos: 23, }, }, @@ -160,12 +159,12 @@ func TestStaticCallRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -178,7 +177,7 @@ func TestStaticCallFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -186,21 +185,21 @@ func TestStaticCallFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -208,7 +207,7 @@ func TestStaticCallFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 7, }, Value: "Foo", @@ -219,7 +218,7 @@ func TestStaticCallFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 12, }, Value: "bar", @@ -228,7 +227,7 @@ func TestStaticCallFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, }, @@ -237,12 +236,12 @@ func TestStaticCallFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -255,7 +254,7 @@ func TestStaticCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -263,21 +262,21 @@ func TestStaticCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -285,7 +284,7 @@ func TestStaticCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "Foo", @@ -296,14 +295,14 @@ func TestStaticCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, Value: "bar", @@ -313,7 +312,7 @@ func TestStaticCallVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 13, + StartPos: 12, EndPos: 14, }, }, @@ -322,12 +321,12 @@ func TestStaticCallVar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -340,7 +339,7 @@ func TestStaticCallVarVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Stmts: []node.Node{ @@ -348,28 +347,28 @@ func TestStaticCallVarVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Value: "foo", @@ -379,14 +378,14 @@ func TestStaticCallVarVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Value: "bar", @@ -396,7 +395,7 @@ func TestStaticCallVarVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, }, @@ -405,12 +404,12 @@ func TestStaticCallVarVar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_static_property_fetch_test.go b/node/expr/t_static_property_fetch_test.go index 8a89e84..28678ab 100644 --- a/node/expr/t_static_property_fetch_test.go +++ b/node/expr/t_static_property_fetch_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestStaticPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -31,21 +30,21 @@ func TestStaticPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Class: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -53,7 +52,7 @@ func TestStaticPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "Foo", @@ -64,14 +63,14 @@ func TestStaticPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 12, }, Value: "bar", @@ -82,12 +81,12 @@ func TestStaticPropertyFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -100,7 +99,7 @@ func TestStaticPropertyFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Stmts: []node.Node{ @@ -108,21 +107,21 @@ func TestStaticPropertyFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 23, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -130,7 +129,7 @@ func TestStaticPropertyFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -141,14 +140,14 @@ func TestStaticPropertyFetchRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 22, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 22, }, Value: "bar", @@ -159,12 +158,12 @@ func TestStaticPropertyFetchRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -177,7 +176,7 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Stmts: []node.Node{ @@ -185,21 +184,21 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -207,7 +206,7 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 7, }, Value: "Foo", @@ -218,14 +217,14 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Value: "bar", @@ -236,12 +235,12 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_ternary_test.go b/node/expr/t_ternary_test.go index 8a349f4..00baa5b 100644 --- a/node/expr/t_ternary_test.go +++ b/node/expr/t_ternary_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestTernary(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestTernary(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -61,14 +60,14 @@ func TestTernary(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -78,14 +77,14 @@ func TestTernary(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "c", @@ -96,12 +95,12 @@ func TestTernary(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -114,7 +113,7 @@ func TestTernarySimple(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -122,28 +121,28 @@ func TestTernarySimple(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -153,14 +152,14 @@ func TestTernarySimple(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "c", @@ -171,12 +170,12 @@ func TestTernarySimple(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -189,7 +188,7 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 26, }, Stmts: []node.Node{ @@ -197,28 +196,28 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 26, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 25, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -228,21 +227,21 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 20, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -252,14 +251,14 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "c", @@ -269,14 +268,14 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "d", @@ -287,14 +286,14 @@ func TestTernaryNestedTrue(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 24, + StartPos: 23, EndPos: 25, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 24, + StartPos: 23, EndPos: 25, }, Value: "e", @@ -305,12 +304,12 @@ func TestTernaryNestedTrue(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -323,7 +322,7 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 26, }, Stmts: []node.Node{ @@ -331,35 +330,35 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 26, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 25, }, Condition: &expr.Ternary{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -369,14 +368,14 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -386,14 +385,14 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "c", @@ -404,14 +403,14 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "d", @@ -421,14 +420,14 @@ func TestTernaryNestedCond(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 24, + StartPos: 23, EndPos: 25, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 24, + StartPos: 23, EndPos: 25, }, Value: "e", @@ -439,12 +438,12 @@ func TestTernaryNestedCond(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_unary_test.go b/node/expr/t_unary_test.go index fd6079b..74abf91 100644 --- a/node/expr/t_unary_test.go +++ b/node/expr/t_unary_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestUnaryMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -30,28 +29,28 @@ func TestUnaryMinus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.UnaryMinus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -62,12 +61,12 @@ func TestUnaryMinus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -80,7 +79,7 @@ func TestUnaryPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -88,28 +87,28 @@ func TestUnaryPlus(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.UnaryPlus{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -120,12 +119,12 @@ func TestUnaryPlus(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_variable_test.go b/node/expr/t_variable_test.go index d6ffbbe..a1547eb 100644 --- a/node/expr/t_variable_test.go +++ b/node/expr/t_variable_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestVariable(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Stmts: []node.Node{ @@ -30,21 +29,21 @@ func TestVariable(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 5, }, Value: "a", @@ -54,12 +53,12 @@ func TestVariable(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -72,7 +71,7 @@ func TestVariableVariable(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Stmts: []node.Node{ @@ -80,28 +79,28 @@ func TestVariableVariable(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 6, }, Value: "a", @@ -112,12 +111,12 @@ func TestVariableVariable(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/expr/t_yield_test.go b/node/expr/t_yield_test.go index d61b2fe..b7da179 100644 --- a/node/expr/t_yield_test.go +++ b/node/expr/t_yield_test.go @@ -1,7 +1,6 @@ package expr_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestYield(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Stmts: []node.Node{ @@ -31,14 +30,14 @@ func TestYield(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, }, @@ -46,12 +45,12 @@ func TestYield(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -64,7 +63,7 @@ func TestYieldVal(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Stmts: []node.Node{ @@ -72,28 +71,28 @@ func TestYieldVal(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Value: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -104,12 +103,12 @@ func TestYieldVal(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -122,7 +121,7 @@ func TestYieldKeyVal(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Stmts: []node.Node{ @@ -130,28 +129,28 @@ func TestYieldKeyVal(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Key: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -161,14 +160,14 @@ func TestYieldKeyVal(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 17, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 17, }, Value: "b", @@ -179,12 +178,12 @@ func TestYieldKeyVal(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -197,7 +196,7 @@ func TestYieldExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Stmts: []node.Node{ @@ -205,21 +204,21 @@ func TestYieldExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 11, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Value: &scalar.Lnumber{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 10, }, Value: "1", @@ -229,12 +228,12 @@ func TestYieldExpr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -247,7 +246,7 @@ func TestYieldKeyExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -255,28 +254,28 @@ func TestYieldKeyExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Key: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -286,7 +285,7 @@ func TestYieldKeyExpr(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 16, }, Value: "1", @@ -296,12 +295,12 @@ func TestYieldKeyExpr(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -314,7 +313,7 @@ func TestYieldFrom(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -322,28 +321,28 @@ func TestYieldFrom(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &expr.YieldFrom{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Value: "a", @@ -354,7 +353,7 @@ func TestYieldFrom(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/name/t_name_test.go b/node/name/t_name_test.go index 9ff3d08..cbfa9db 100644 --- a/node/name/t_name_test.go +++ b/node/name/t_name_test.go @@ -1,7 +1,6 @@ package name_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestName(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Stmts: []node.Node{ @@ -31,21 +30,21 @@ func TestName(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 8, }, Function: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Parts: []node.Node{ @@ -53,7 +52,7 @@ func TestName(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 6, }, Value: "foo", @@ -64,7 +63,7 @@ func TestName(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 7, + StartPos: 6, EndPos: 8, }, }, @@ -73,12 +72,12 @@ func TestName(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -91,7 +90,7 @@ func TestFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Stmts: []node.Node{ @@ -99,21 +98,21 @@ func TestFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 10, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 9, }, Function: &name.FullyQualified{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 7, }, Parts: []node.Node{ @@ -121,7 +120,7 @@ func TestFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 7, }, Value: "foo", @@ -132,7 +131,7 @@ func TestFullyQualified(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 8, + StartPos: 7, EndPos: 9, }, }, @@ -141,12 +140,12 @@ func TestFullyQualified(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -159,7 +158,7 @@ func TestRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -167,21 +166,21 @@ func TestRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 18, }, Function: &name.Relative{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -189,7 +188,7 @@ func TestRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "foo", @@ -200,7 +199,7 @@ func TestRelative(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 18, }, }, @@ -209,12 +208,12 @@ func TestRelative(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/scalar/t_encapsed_test.go b/node/scalar/t_encapsed_test.go index 2b96e72..8012ffa 100644 --- a/node/scalar/t_encapsed_test.go +++ b/node/scalar/t_encapsed_test.go @@ -1,7 +1,6 @@ package scalar_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestSimpleVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -31,14 +30,14 @@ func TestSimpleVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 14, }, Parts: []node.Node{ @@ -46,7 +45,7 @@ func TestSimpleVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -55,14 +54,14 @@ func TestSimpleVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Value: "var", @@ -74,12 +73,12 @@ func TestSimpleVar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -92,7 +91,7 @@ func TestSimpleVarOneChar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -100,14 +99,14 @@ func TestSimpleVarOneChar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Parts: []node.Node{ @@ -115,7 +114,7 @@ func TestSimpleVarOneChar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -124,14 +123,14 @@ func TestSimpleVarOneChar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -143,12 +142,12 @@ func TestSimpleVarOneChar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -161,7 +160,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -169,14 +168,14 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -184,7 +183,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -193,14 +192,14 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Value: "var", @@ -210,7 +209,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 15, }, Value: "\\\"", @@ -221,12 +220,12 @@ func TestSimpleVarEndsEcapsed(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -239,7 +238,7 @@ func TestStringVarCurveOpen(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -247,14 +246,14 @@ func TestStringVarCurveOpen(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 12, }, Parts: []node.Node{ @@ -262,7 +261,7 @@ func TestStringVarCurveOpen(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 5, }, Value: "=", @@ -271,14 +270,14 @@ func TestStringVarCurveOpen(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 6, + StartPos: 5, EndPos: 7, }, Value: "a", @@ -288,14 +287,14 @@ func TestStringVarCurveOpen(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 9, + StartPos: 8, EndPos: 10, }, Value: "b", @@ -307,12 +306,12 @@ func TestStringVarCurveOpen(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -325,7 +324,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Stmts: []node.Node{ @@ -333,14 +332,14 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Parts: []node.Node{ @@ -348,7 +347,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -357,21 +356,21 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 18, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 13, }, Value: "foo", @@ -381,7 +380,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 18, }, Value: "bar", @@ -391,7 +390,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "()", @@ -402,12 +401,12 @@ func TestSimpleVarPropertyFetch(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -420,7 +419,7 @@ func TestDollarOpenCurlyBraces(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -428,14 +427,14 @@ func TestDollarOpenCurlyBraces(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 16, }, Parts: []node.Node{ @@ -443,7 +442,7 @@ func TestDollarOpenCurlyBraces(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -452,14 +451,14 @@ func TestDollarOpenCurlyBraces(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 15, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 12, + StartPos: 11, EndPos: 14, }, Value: "foo", @@ -471,12 +470,12 @@ func TestDollarOpenCurlyBraces(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -489,7 +488,7 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 20, }, Stmts: []node.Node{ @@ -497,14 +496,14 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 20, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Parts: []node.Node{ @@ -512,7 +511,7 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 5, + StartPos: 4, EndPos: 9, }, Value: "test ", @@ -521,95 +520,9 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 18, }, - Variable: &expr.Variable{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 12, - EndPos: 14, - }, - VarName: &node.Identifier{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 12, - EndPos: 14, - }, - Value: "foo", - }, - }, - Dim: &scalar.Lnumber{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 16, - EndPos: 16, - }, - Value: "0", - }, - }, - }, - }, - }, - }, - } - - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") - php7parser.Parse() - actual := php7parser.GetRootNode() - assert.DeepEqual(t, expected, actual) - - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") - php5parser.Parse() - actual = php5parser.GetRootNode() - assert.DeepEqual(t, expected, actual) -} - -func TestCurlyOpenMethodCall(t *testing.T) { - src := `bar()}";` - - expected := &node.Root{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 4, - EndPos: 24, - }, - Stmts: []node.Node{ - &stmt.Expression{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 4, - EndPos: 24, - }, - Expr: &scalar.Encapsed{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 4, - EndPos: 23, - }, - Parts: []node.Node{ - &scalar.EncapsedStringPart{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 5, - EndPos: 9, - }, - Value: "test ", - }, - &expr.MethodCall{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 11, - EndPos: 21, - }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, @@ -627,11 +540,97 @@ func TestCurlyOpenMethodCall(t *testing.T) { Value: "foo", }, }, + Dim: &scalar.Lnumber{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 15, + EndPos: 16, + }, + Value: "0", + }, + }, + }, + }, + }, + }, + } + + php7parser := php7.NewParser([]byte(src)) + php7parser.Parse() + actual := php7parser.GetRootNode() + assert.DeepEqual(t, expected, actual) + + php5parser := php5.NewParser([]byte(src)) + php5parser.Parse() + actual = php5parser.GetRootNode() + assert.DeepEqual(t, expected, actual) +} + +func TestCurlyOpenMethodCall(t *testing.T) { + src := `bar()}";` + + expected := &node.Root{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 3, + EndPos: 24, + }, + Stmts: []node.Node{ + &stmt.Expression{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 3, + EndPos: 24, + }, + Expr: &scalar.Encapsed{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 3, + EndPos: 23, + }, + Parts: []node.Node{ + &scalar.EncapsedStringPart{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 4, + EndPos: 9, + }, + Value: "test ", + }, + &expr.MethodCall{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 10, + EndPos: 21, + }, + Variable: &expr.Variable{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 10, + EndPos: 14, + }, + VarName: &node.Identifier{ + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 10, + EndPos: 14, + }, + Value: "foo", + }, + }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 17, + StartPos: 16, EndPos: 19, }, Value: "bar", @@ -640,7 +639,7 @@ func TestCurlyOpenMethodCall(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 20, + StartPos: 19, EndPos: 21, }, }, @@ -651,12 +650,12 @@ func TestCurlyOpenMethodCall(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/scalar/t_heredoc_test.go b/node/scalar/t_heredoc_test.go index 45acd48..b44178a 100644 --- a/node/scalar/t_heredoc_test.go +++ b/node/scalar/t_heredoc_test.go @@ -1,7 +1,6 @@ package scalar_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -26,7 +25,7 @@ LBL; Position: &position.Position{ StartLine: 1, EndLine: 3, - StartPos: 7, + StartPos: 3, EndPos: 24, }, Stmts: []node.Node{ @@ -34,23 +33,23 @@ LBL; Position: &position.Position{ StartLine: 1, EndLine: 3, - StartPos: 7, + StartPos: 3, EndPos: 24, }, Expr: &scalar.Heredoc{ Position: &position.Position{ StartLine: 1, EndLine: 3, - StartPos: 7, + StartPos: 3, EndPos: 23, }, - Label: "LBL", + Label: "<<", + Value: "
", }, }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/stmt/t_interface_test.go b/node/stmt/t_interface_test.go index df770e3..6bb229c 100644 --- a/node/stmt/t_interface_test.go +++ b/node/stmt/t_interface_test.go @@ -1,7 +1,6 @@ package stmt_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestInterface(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -30,7 +29,7 @@ func TestInterface(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, PhpDocComment: "", @@ -38,7 +37,7 @@ func TestInterface(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -48,12 +47,12 @@ func TestInterface(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -66,7 +65,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, Stmts: []node.Node{ @@ -74,7 +73,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 31, }, PhpDocComment: "", @@ -82,7 +81,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -91,7 +90,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 28, }, InterfaceNames: []node.Node{ @@ -99,7 +98,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 28, }, Parts: []node.Node{ @@ -107,7 +106,7 @@ func TestInterfaceExtend(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 28, }, Value: "Bar", @@ -121,12 +120,12 @@ func TestInterfaceExtend(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -139,7 +138,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 36, }, Stmts: []node.Node{ @@ -147,7 +146,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 36, }, PhpDocComment: "", @@ -155,7 +154,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -164,7 +163,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 18, + StartPos: 17, EndPos: 33, }, InterfaceNames: []node.Node{ @@ -172,7 +171,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 28, }, Parts: []node.Node{ @@ -180,7 +179,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 26, + StartPos: 25, EndPos: 28, }, Value: "Bar", @@ -191,7 +190,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 33, }, Parts: []node.Node{ @@ -199,7 +198,7 @@ func TestInterfaceExtends(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 31, + StartPos: 30, EndPos: 33, }, Value: "Baz", @@ -213,12 +212,12 @@ func TestInterfaceExtends(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/stmt/t_namespace_test.go b/node/stmt/t_namespace_test.go index 81af4c7..1760aaf 100644 --- a/node/stmt/t_namespace_test.go +++ b/node/stmt/t_namespace_test.go @@ -1,7 +1,6 @@ package stmt_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestNamespace(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, Stmts: []node.Node{ @@ -30,14 +29,14 @@ func TestNamespace(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 17, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Parts: []node.Node{ @@ -45,7 +44,7 @@ func TestNamespace(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -56,12 +55,12 @@ func TestNamespace(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -74,7 +73,7 @@ func TestNamespaceStmts(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, Stmts: []node.Node{ @@ -82,14 +81,14 @@ func TestNamespaceStmts(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 19, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Parts: []node.Node{ @@ -97,7 +96,7 @@ func TestNamespaceStmts(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 14, + StartPos: 13, EndPos: 16, }, Value: "Foo", @@ -109,12 +108,12 @@ func TestNamespaceStmts(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -127,7 +126,7 @@ func TestAnonymousNamespace(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{ @@ -135,7 +134,7 @@ func TestAnonymousNamespace(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 15, }, Stmts: []node.Node{}, @@ -143,12 +142,12 @@ func TestAnonymousNamespace(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/stmt/t_property_list_test.go b/node/stmt/t_property_list_test.go index 903b995..db03f84 100644 --- a/node/stmt/t_property_list_test.go +++ b/node/stmt/t_property_list_test.go @@ -1,7 +1,6 @@ package stmt_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -23,7 +22,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, Stmts: []node.Node{ @@ -31,7 +30,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 22, }, PhpDocComment: "", @@ -39,7 +38,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 12, }, Value: "foo", @@ -49,7 +48,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 21, }, Modifiers: []node.Node{ @@ -57,7 +56,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 17, }, Value: "var", @@ -68,7 +67,7 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, PhpDocComment: "", @@ -76,14 +75,14 @@ func TestProperty(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "a", @@ -97,12 +96,12 @@ func TestProperty(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -115,7 +114,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 40, }, Stmts: []node.Node{ @@ -123,7 +122,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 40, }, PhpDocComment: "", @@ -131,7 +130,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 12, }, Value: "foo", @@ -141,7 +140,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 39, }, Modifiers: []node.Node{ @@ -149,7 +148,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 20, }, Value: "public", @@ -158,7 +157,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 22, + StartPos: 21, EndPos: 27, }, Value: "static", @@ -169,7 +168,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 30, }, PhpDocComment: "", @@ -177,14 +176,14 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 30, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Value: "a", @@ -195,7 +194,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 33, + StartPos: 32, EndPos: 38, }, PhpDocComment: "", @@ -203,14 +202,14 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 33, + StartPos: 32, EndPos: 34, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 33, + StartPos: 32, EndPos: 34, }, Value: "b", @@ -220,7 +219,7 @@ func TestProperties(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 38, + StartPos: 37, EndPos: 38, }, Value: "1", @@ -233,12 +232,12 @@ func TestProperties(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -251,7 +250,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 40, }, Stmts: []node.Node{ @@ -259,7 +258,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 40, }, PhpDocComment: "", @@ -267,7 +266,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 10, + StartPos: 9, EndPos: 12, }, Value: "foo", @@ -277,7 +276,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 39, }, Modifiers: []node.Node{ @@ -285,7 +284,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 20, }, Value: "public", @@ -294,7 +293,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 22, + StartPos: 21, EndPos: 27, }, Value: "static", @@ -305,7 +304,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 34, }, PhpDocComment: "", @@ -313,14 +312,14 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 30, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Value: "a", @@ -330,7 +329,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 34, + StartPos: 33, EndPos: 34, }, Value: "1", @@ -340,7 +339,7 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 37, + StartPos: 36, EndPos: 38, }, PhpDocComment: "", @@ -348,14 +347,14 @@ func TestProperties2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 37, + StartPos: 36, EndPos: 38, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 37, + StartPos: 36, EndPos: 38, }, Value: "b", @@ -369,12 +368,12 @@ func TestProperties2(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/stmt/t_static_var_test.go b/node/stmt/t_static_var_test.go index 7e71368..ca4d11f 100644 --- a/node/stmt/t_static_var_test.go +++ b/node/stmt/t_static_var_test.go @@ -1,7 +1,6 @@ package stmt_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -22,7 +21,7 @@ func TestStaticVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Stmts: []node.Node{ @@ -30,7 +29,7 @@ func TestStaticVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 13, }, Vars: []node.Node{ @@ -38,21 +37,21 @@ func TestStaticVar(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -64,12 +63,12 @@ func TestStaticVar(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -82,7 +81,7 @@ func TestStaticVars(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Stmts: []node.Node{ @@ -90,7 +89,7 @@ func TestStaticVars(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Vars: []node.Node{ @@ -98,21 +97,21 @@ func TestStaticVars(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -123,21 +122,21 @@ func TestStaticVars(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 20, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 15, + StartPos: 14, EndPos: 16, }, Value: "b", @@ -147,7 +146,7 @@ func TestStaticVars(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 20, + StartPos: 19, EndPos: 20, }, Value: "1", @@ -158,12 +157,12 @@ func TestStaticVars(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -176,7 +175,7 @@ func TestStaticVars2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Stmts: []node.Node{ @@ -184,7 +183,7 @@ func TestStaticVars2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 4, + StartPos: 3, EndPos: 21, }, Vars: []node.Node{ @@ -192,21 +191,21 @@ func TestStaticVars2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 16, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 11, + StartPos: 10, EndPos: 12, }, Value: "a", @@ -216,7 +215,7 @@ func TestStaticVars2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 16, + StartPos: 15, EndPos: 16, }, Value: "1", @@ -226,21 +225,21 @@ func TestStaticVars2(t *testing.T) { Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 1, EndLine: 1, - StartPos: 19, + StartPos: 18, EndPos: 20, }, Value: "b", @@ -252,12 +251,12 @@ func TestStaticVars2(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual = php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) diff --git a/node/stmt/t_switch_case_default_test.go b/node/stmt/t_switch_case_default_test.go index 993f869..0599c17 100644 --- a/node/stmt/t_switch_case_default_test.go +++ b/node/stmt/t_switch_case_default_test.go @@ -1,7 +1,6 @@ package stmt_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -28,7 +27,7 @@ func TestAltSwitch(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 6, - StartPos: 7, + StartPos: 6, EndPos: 65, }, Stmts: []node.Node{ @@ -36,14 +35,116 @@ func TestAltSwitch(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 6, - StartPos: 7, + StartPos: 6, EndPos: 65, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 15, + StartPos: 14, + EndPos: 15, + }, + Value: "1", + }, + CaseList: &stmt.CaseList{ + Position: &position.Position{ + StartLine: 3, + EndLine: -1, + StartPos: 22, + EndPos: -1, + }, + Cases: []node.Node{ + &stmt.Case{ + Position: &position.Position{ + StartLine: 3, + EndLine: -1, + StartPos: 22, + EndPos: -1, + }, + Cond: &scalar.Lnumber{ + Position: &position.Position{ + StartLine: 3, + EndLine: 3, + StartPos: 27, + EndPos: 28, + }, + Value: "1", + }, + Stmts: []node.Node{}, + }, + &stmt.Default{ + Position: &position.Position{ + StartLine: 4, + EndLine: -1, + StartPos: 33, + EndPos: -1, + }, + Stmts: []node.Node{}, + }, + &stmt.Case{ + Position: &position.Position{ + StartLine: 5, + EndLine: -1, + StartPos: 45, + EndPos: -1, + }, + Cond: &scalar.Lnumber{ + Position: &position.Position{ + StartLine: 5, + EndLine: 5, + StartPos: 50, + EndPos: 51, + }, + Value: "2", + }, + Stmts: []node.Node{}, + }, + }, + }, + }, + }, + } + + php7parser := php7.NewParser([]byte(src)) + php7parser.Parse() + actual := php7parser.GetRootNode() + assert.DeepEqual(t, expected, actual) + + php5parser := php5.NewParser([]byte(src)) + php5parser.Parse() + actual = php5parser.GetRootNode() + assert.DeepEqual(t, expected, actual) +} + +func TestAltSwitchSemicolon(t *testing.T) { + src := ` 0 { prevNode := lastNode(yyDollar[1].list) @@ -2354,7 +2352,7 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:308 + //line php5/php5.y:306 { yyVAL.list = []node.Node{} @@ -2362,7 +2360,7 @@ yydefault: } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:317 + //line php5/php5.y:315 { namePart := name.NewNamePart(yyDollar[1].token.Value) yyVAL.list = []node.Node{namePart} @@ -2377,7 +2375,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:330 + //line php5/php5.y:328 { namePart := name.NewNamePart(yyDollar[3].token.Value) yyVAL.list = append(yyDollar[1].list, namePart) @@ -2393,7 +2391,7 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:347 + //line php5/php5.y:345 { // error yyVAL.node = nil @@ -2402,7 +2400,7 @@ yydefault: } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:354 + //line php5/php5.y:352 { yyVAL.node = yyDollar[1].node @@ -2410,7 +2408,7 @@ yydefault: } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:360 + //line php5/php5.y:358 { yyVAL.node = yyDollar[1].node @@ -2418,7 +2416,7 @@ yydefault: } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:366 + //line php5/php5.y:364 { yyVAL.node = yyDollar[1].node @@ -2426,7 +2424,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:372 + //line php5/php5.y:370 { yyVAL.node = stmt.NewHaltCompiler() @@ -2441,12 +2439,10 @@ yydefault: yylex.(*Parser).setFreeFloating(yyVAL.node, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken(yyDollar[4].token)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } case 11: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:386 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, nil) @@ -2465,7 +2461,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:407 + //line php5/php5.y:403 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) @@ -2484,7 +2480,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:424 + //line php5/php5.y:420 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) @@ -2500,7 +2496,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:438 + //line php5/php5.y:434 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) @@ -2516,7 +2512,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:452 + //line php5/php5.y:448 { useType := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) @@ -2535,7 +2531,7 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:469 + //line php5/php5.y:465 { useType := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) @@ -2554,7 +2550,7 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:482 { yyVAL.node = yyDollar[1].node @@ -2569,7 +2565,7 @@ yydefault: } case 18: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:498 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2580,7 +2576,7 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:507 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -2588,7 +2584,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:516 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2604,7 +2600,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:534 + //line php5/php5.y:530 { name := name.NewName(yyDollar[1].list) alias := node.NewIdentifier(yyDollar[3].token.Value) @@ -2624,7 +2620,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:552 + //line php5/php5.y:548 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2642,7 +2638,7 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:568 + //line php5/php5.y:564 { name := name.NewName(yyDollar[2].list) alias := node.NewIdentifier(yyDollar[4].token.Value) @@ -2664,7 +2660,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:591 + //line php5/php5.y:587 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2675,7 +2671,7 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:600 + //line php5/php5.y:596 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -2683,7 +2679,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:609 + //line php5/php5.y:605 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2699,7 +2695,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:623 + //line php5/php5.y:619 { name := name.NewName(yyDollar[1].list) alias := node.NewIdentifier(yyDollar[3].token.Value) @@ -2719,7 +2715,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:641 + //line php5/php5.y:637 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2737,7 +2733,7 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:657 + //line php5/php5.y:653 { name := name.NewName(yyDollar[2].list) alias := node.NewIdentifier(yyDollar[4].token.Value) @@ -2759,7 +2755,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:680 + //line php5/php5.y:676 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2770,7 +2766,7 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:685 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -2778,7 +2774,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:694 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2794,7 +2790,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:712 + //line php5/php5.y:708 { name := name.NewName(yyDollar[1].list) alias := node.NewIdentifier(yyDollar[3].token.Value) @@ -2814,7 +2810,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:730 + //line php5/php5.y:726 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -2832,7 +2828,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:746 + //line php5/php5.y:742 { name := name.NewName(yyDollar[2].list) alias := node.NewIdentifier(yyDollar[4].token.Value) @@ -2854,7 +2850,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:765 { name := node.NewIdentifier(yyDollar[3].token.Value) constant := stmt.NewConstant(name, yyDollar[5].node, "") @@ -2877,7 +2873,7 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:790 + //line php5/php5.y:786 { name := node.NewIdentifier(yyDollar[2].token.Value) constant := stmt.NewConstant(name, yyDollar[4].node, "") @@ -2898,7 +2894,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:812 + //line php5/php5.y:808 { if inlineHtmlNode, ok := yyDollar[2].node.(*stmt.InlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2913,7 +2909,7 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:825 + //line php5/php5.y:821 { yyVAL.list = []node.Node{} @@ -2921,7 +2917,7 @@ yydefault: } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:835 + //line php5/php5.y:831 { // error yyVAL.node = nil @@ -2930,7 +2926,7 @@ yydefault: } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:838 { yyVAL.node = yyDollar[1].node @@ -2938,7 +2934,7 @@ yydefault: } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:848 + //line php5/php5.y:844 { yyVAL.node = yyDollar[1].node @@ -2946,7 +2942,7 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:854 + //line php5/php5.y:850 { yyVAL.node = yyDollar[1].node @@ -2954,7 +2950,7 @@ yydefault: } case 44: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:856 { yyVAL.node = stmt.NewHaltCompiler() @@ -2969,12 +2965,10 @@ yydefault: yylex.(*Parser).setFreeFloating(yyVAL.node, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken(yyDollar[4].token)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:882 + //line php5/php5.y:876 { yyVAL.node = yyDollar[1].node @@ -2982,7 +2976,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:888 + //line php5/php5.y:882 { label := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewLabel(label) @@ -2999,7 +2993,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:900 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -3014,7 +3008,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:919 + //line php5/php5.y:913 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -3042,7 +3036,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:943 + //line php5/php5.y:937 { stmts := stmt.NewStmtList(yyDollar[4].list) yyVAL.node = stmt.NewAltIf(yyDollar[2].node, stmts, yyDollar[5].list, yyDollar[6].node) @@ -3070,7 +3064,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:961 { switch n := yyDollar[3].node.(type) { case *stmt.While: @@ -3099,7 +3093,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:986 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) @@ -3124,7 +3118,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1007 { switch n := yyDollar[9].node.(type) { case *stmt.For: @@ -3153,7 +3147,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1040 + //line php5/php5.y:1034 { switch n := yyDollar[3].node.(type) { case *stmt.Switch: @@ -3184,7 +3178,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1067 + //line php5/php5.y:1061 { yyVAL.node = stmt.NewBreak(nil) @@ -3200,7 +3194,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1075 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) @@ -3216,7 +3210,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1095 + //line php5/php5.y:1089 { yyVAL.node = stmt.NewContinue(nil) @@ -3232,7 +3226,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1109 + //line php5/php5.y:1103 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) @@ -3248,7 +3242,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1123 + //line php5/php5.y:1117 { yyVAL.node = stmt.NewReturn(nil) @@ -3264,7 +3258,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1137 + //line php5/php5.y:1131 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) @@ -3280,7 +3274,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1145 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) @@ -3296,7 +3290,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1159 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) @@ -3312,7 +3306,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1179 + //line php5/php5.y:1173 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) @@ -3328,7 +3322,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1193 + //line php5/php5.y:1187 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) @@ -3344,7 +3338,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1207 + //line php5/php5.y:1201 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) @@ -3361,7 +3355,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1222 + //line php5/php5.y:1216 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) @@ -3375,7 +3369,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1234 + //line php5/php5.y:1228 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) @@ -3391,7 +3385,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1248 + //line php5/php5.y:1242 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) @@ -3409,7 +3403,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1258 { if yyDollar[6].node == nil { switch n := yyDollar[8].node.(type) { @@ -3452,7 +3446,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1304 + //line php5/php5.y:1298 { if yyDollar[6].node == nil { switch n := yyDollar[8].node.(type) { @@ -3495,7 +3489,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1344 + //line php5/php5.y:1338 { yyVAL.node = yyDollar[5].node yyVAL.node.(*stmt.Declare).Consts = yyDollar[3].list @@ -3512,7 +3506,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1359 + //line php5/php5.y:1353 { yyVAL.node = stmt.NewNop() @@ -3527,7 +3521,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1372 + //line php5/php5.y:1366 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3547,7 +3541,7 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1390 + //line php5/php5.y:1384 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) @@ -3563,7 +3557,7 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1404 + //line php5/php5.y:1398 { label := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewGoto(label) @@ -3582,7 +3576,7 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1418 { yyVAL.list = []node.Node{} @@ -3590,7 +3584,7 @@ yydefault: } case 76: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1430 + //line php5/php5.y:1424 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -3615,7 +3609,7 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1450 { yyVAL.node = nil @@ -3623,7 +3617,7 @@ yydefault: } case 78: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1462 + //line php5/php5.y:1456 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) @@ -3639,7 +3633,7 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1479 + //line php5/php5.y:1473 { yyVAL.list = yyDollar[1].list @@ -3647,7 +3641,7 @@ yydefault: } case 80: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1485 + //line php5/php5.y:1479 { yyVAL.list = []node.Node{} @@ -3655,7 +3649,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1494 + //line php5/php5.y:1488 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3663,7 +3657,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1500 + //line php5/php5.y:1494 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -3671,7 +3665,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1503 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -3695,7 +3689,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1534 + //line php5/php5.y:1528 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3703,7 +3697,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1534 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3714,7 +3708,7 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1552 + //line php5/php5.y:1546 { yyVAL.node = yyDollar[1].node @@ -3722,7 +3716,7 @@ yydefault: } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1561 + //line php5/php5.y:1555 { yyVAL.node = yyDollar[1].node @@ -3730,7 +3724,7 @@ yydefault: } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1564 { yyVAL.node = yyDollar[1].node @@ -3738,31 +3732,31 @@ yydefault: } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1573 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1583 + //line php5/php5.y:1577 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1584 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1588 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1595 { name := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewFunction(name, yyDollar[2].token != nil, yyDollar[5].list, nil, yyDollar[8].list, "") @@ -3788,7 +3782,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1622 { name := node.NewIdentifier(yyDollar[2].token.Value) switch n := yyDollar[1].node.(type) { @@ -3818,7 +3812,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1656 + //line php5/php5.y:1650 { name := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewInterface(name, yyDollar[3].InterfaceExtends, yyDollar[5].list, "") @@ -3837,7 +3831,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1677 + //line php5/php5.y:1671 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") @@ -3851,7 +3845,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1689 + //line php5/php5.y:1683 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") @@ -3868,7 +3862,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1704 + //line php5/php5.y:1698 { yyVAL.node = stmt.NewTrait(nil, nil, "") @@ -3882,7 +3876,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1716 + //line php5/php5.y:1710 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") @@ -3899,7 +3893,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1734 + //line php5/php5.y:1728 { yyVAL.ClassExtends = nil @@ -3907,7 +3901,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1740 + //line php5/php5.y:1734 { yyVAL.ClassExtends = stmt.NewClassExtends(yyDollar[2].node) @@ -3921,13 +3915,13 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1755 + //line php5/php5.y:1749 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1762 + //line php5/php5.y:1756 { yyVAL.InterfaceExtends = nil @@ -3935,7 +3929,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1762 { yyVAL.InterfaceExtends = stmt.NewInterfaceExtends(yyDollar[2].list) @@ -3949,7 +3943,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1783 + //line php5/php5.y:1777 { yyVAL.ClassImplements = nil @@ -3957,7 +3951,7 @@ yydefault: } case 106: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1789 + //line php5/php5.y:1783 { yyVAL.ClassImplements = stmt.NewClassImplements(yyDollar[2].list) @@ -3971,7 +3965,7 @@ yydefault: } case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1798 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3979,7 +3973,7 @@ yydefault: } case 108: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1810 + //line php5/php5.y:1804 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3990,7 +3984,7 @@ yydefault: } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1822 + //line php5/php5.y:1816 { yyVAL.node = nil @@ -3998,7 +3992,7 @@ yydefault: } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1822 { yyVAL.node = yyDollar[2].node @@ -4009,7 +4003,7 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1840 + //line php5/php5.y:1834 { yyVAL.node = yyDollar[1].node @@ -4017,7 +4011,7 @@ yydefault: } case 112: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1846 + //line php5/php5.y:1840 { yyVAL.node = expr.NewReference(yyDollar[2].node) @@ -4031,7 +4025,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1858 + //line php5/php5.y:1852 { yyVAL.node = expr.NewList(yyDollar[3].list) @@ -4047,7 +4041,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1875 + //line php5/php5.y:1869 { yyVAL.node = stmt.NewFor(nil, nil, nil, yyDollar[1].node) @@ -4058,7 +4052,7 @@ yydefault: } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1884 + //line php5/php5.y:1878 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltFor(nil, nil, nil, stmtList) @@ -4077,7 +4071,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1904 + //line php5/php5.y:1898 { yyVAL.node = stmt.NewForeach(nil, nil, nil, yyDollar[1].node) @@ -4088,7 +4082,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1913 + //line php5/php5.y:1907 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltForeach(nil, nil, nil, stmtList) @@ -4107,7 +4101,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1934 + //line php5/php5.y:1928 { yyVAL.node = stmt.NewDeclare(nil, yyDollar[1].node, false) @@ -4118,7 +4112,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:1937 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewDeclare(nil, stmtList, true) @@ -4137,7 +4131,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:1958 { name := node.NewIdentifier(yyDollar[1].token.Value) constant := stmt.NewConstant(name, yyDollar[3].node, "") @@ -4155,7 +4149,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1980 + //line php5/php5.y:1974 { name := node.NewIdentifier(yyDollar[3].token.Value) constant := stmt.NewConstant(name, yyDollar[5].node, "") @@ -4174,7 +4168,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2001 + //line php5/php5.y:1995 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -4191,7 +4185,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2016 + //line php5/php5.y:2010 { caseList := stmt.NewCaseList(yyDollar[3].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -4209,7 +4203,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2032 + //line php5/php5.y:2026 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewAltSwitch(nil, caseList) @@ -4228,7 +4222,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2049 + //line php5/php5.y:2043 { caseList := stmt.NewCaseList(yyDollar[3].list) @@ -4249,7 +4243,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2072 + //line php5/php5.y:2066 { yyVAL.list = []node.Node{} @@ -4257,7 +4251,7 @@ yydefault: } case 127: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2078 + //line php5/php5.y:2072 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) yyVAL.list = append(yyDollar[1].list, _case) @@ -4274,7 +4268,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2093 + //line php5/php5.y:2087 { _default := stmt.NewDefault(yyDollar[4].list) yyVAL.list = append(yyDollar[1].list, _default) @@ -4291,19 +4285,19 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2106 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2116 + //line php5/php5.y:2110 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2124 + //line php5/php5.y:2118 { yyVAL.node = stmt.NewWhile(nil, yyDollar[1].node) @@ -4314,7 +4308,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2133 + //line php5/php5.y:2127 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltWhile(nil, stmtList) @@ -4333,7 +4327,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2155 + //line php5/php5.y:2149 { yyVAL.list = nil @@ -4341,7 +4335,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2161 + //line php5/php5.y:2155 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) yyVAL.list = append(yyDollar[1].list, _elseIf) @@ -4364,7 +4358,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2184 + //line php5/php5.y:2178 { yyVAL.list = nil @@ -4372,7 +4366,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2190 + //line php5/php5.y:2184 { stmts := stmt.NewStmtList(yyDollar[5].list) _elseIf := stmt.NewAltElseIf(yyDollar[3].node, stmts) @@ -4398,7 +4392,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2216 + //line php5/php5.y:2210 { yyVAL.node = nil @@ -4406,7 +4400,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2222 + //line php5/php5.y:2216 { yyVAL.node = stmt.NewElse(yyDollar[2].node) @@ -4420,7 +4414,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2238 + //line php5/php5.y:2232 { yyVAL.node = nil @@ -4428,7 +4422,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2244 + //line php5/php5.y:2238 { stmts := stmt.NewStmtList(yyDollar[3].list) yyVAL.node = stmt.NewAltElse(stmts) @@ -4445,7 +4439,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2263 + //line php5/php5.y:2257 { yyVAL.list = yyDollar[1].list @@ -4453,7 +4447,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2269 + //line php5/php5.y:2263 { yyVAL.list = nil @@ -4461,7 +4455,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2278 + //line php5/php5.y:2272 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4469,7 +4463,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2284 + //line php5/php5.y:2278 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4480,7 +4474,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2296 + //line php5/php5.y:2290 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4530,7 +4524,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:2335 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4581,7 +4575,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2391 + //line php5/php5.y:2385 { yyVAL.node = nil @@ -4589,7 +4583,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2397 + //line php5/php5.y:2391 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -4603,7 +4597,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2409 + //line php5/php5.y:2403 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -4617,7 +4611,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2421 + //line php5/php5.y:2415 { yyVAL.node = yyDollar[1].node @@ -4625,7 +4619,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2431 + //line php5/php5.y:2425 { yyVAL.node = node.NewArgumentList(nil) @@ -4640,7 +4634,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2444 + //line php5/php5.y:2438 { yyVAL.node = node.NewArgumentList(yyDollar[2].list) @@ -4655,7 +4649,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2457 + //line php5/php5.y:2451 { arg := node.NewArgument(yyDollar[2].node, false, false) yyVAL.node = node.NewArgumentList([]node.Node{arg}) @@ -4672,7 +4666,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2476 + //line php5/php5.y:2470 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4680,7 +4674,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2482 + //line php5/php5.y:2476 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4691,7 +4685,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2494 + //line php5/php5.y:2488 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) @@ -4705,7 +4699,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2506 + //line php5/php5.y:2500 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) @@ -4719,7 +4713,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2518 + //line php5/php5.y:2512 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) @@ -4733,7 +4727,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2530 + //line php5/php5.y:2524 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) @@ -4747,7 +4741,7 @@ yydefault: } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2545 + //line php5/php5.y:2539 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4758,7 +4752,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2554 + //line php5/php5.y:2548 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4766,7 +4760,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2564 + //line php5/php5.y:2558 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -4783,7 +4777,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2579 + //line php5/php5.y:2573 { yyVAL.node = expr.NewVariable(yyDollar[2].node) @@ -4798,7 +4792,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2592 + //line php5/php5.y:2586 { yyVAL.node = expr.NewVariable(yyDollar[3].node) @@ -4815,7 +4809,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2611 + //line php5/php5.y:2605 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4836,7 +4830,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2630 + //line php5/php5.y:2624 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4858,7 +4852,7 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2650 + //line php5/php5.y:2644 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4878,7 +4872,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2668 + //line php5/php5.y:2662 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4899,7 +4893,7 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2691 + //line php5/php5.y:2685 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -4907,7 +4901,7 @@ yydefault: } case 170: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2697 + //line php5/php5.y:2691 { yyVAL.list = []node.Node{} @@ -4915,7 +4909,7 @@ yydefault: } case 171: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2707 + //line php5/php5.y:2701 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) @@ -4931,7 +4925,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2721 + //line php5/php5.y:2715 { yyVAL.node = yyDollar[1].node @@ -4946,7 +4940,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2734 + //line php5/php5.y:2728 { yyVAL.node = yyDollar[1].node @@ -4954,7 +4948,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:2740 + //line php5/php5.y:2734 { name := node.NewIdentifier(yyDollar[4].token.Value) yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].token != nil, yyDollar[6].list, nil, yyDollar[8].node, "") @@ -4987,7 +4981,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2774 + //line php5/php5.y:2768 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].node) @@ -5001,7 +4995,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2789 + //line php5/php5.y:2783 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5009,7 +5003,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2795 + //line php5/php5.y:2789 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5020,7 +5014,7 @@ yydefault: } case 178: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2807 + //line php5/php5.y:2801 { yyVAL.node = stmt.NewNop() @@ -5034,7 +5028,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2819 + //line php5/php5.y:2813 { yyVAL.node = stmt.NewTraitAdaptationList(yyDollar[2].list) @@ -5048,7 +5042,7 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2834 + //line php5/php5.y:2828 { yyVAL.list = nil @@ -5056,7 +5050,7 @@ yydefault: } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2840 + //line php5/php5.y:2834 { yyVAL.list = yyDollar[1].list @@ -5064,7 +5058,7 @@ yydefault: } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2849 + //line php5/php5.y:2843 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5072,7 +5066,7 @@ yydefault: } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2855 + //line php5/php5.y:2849 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -5080,7 +5074,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2864 + //line php5/php5.y:2858 { yyVAL.node = yyDollar[1].node @@ -5092,7 +5086,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2874 + //line php5/php5.y:2868 { yyVAL.node = yyDollar[1].node @@ -5104,7 +5098,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2887 + //line php5/php5.y:2881 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) @@ -5119,7 +5113,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2903 + //line php5/php5.y:2897 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5127,7 +5121,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2909 + //line php5/php5.y:2903 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5138,7 +5132,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2921 + //line php5/php5.y:2915 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewTraitMethodRef(nil, name) @@ -5154,7 +5148,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2935 + //line php5/php5.y:2929 { yyVAL.node = yyDollar[1].node @@ -5162,7 +5156,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2944 + //line php5/php5.y:2938 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) @@ -5180,7 +5174,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2963 + //line php5/php5.y:2957 { alias := node.NewIdentifier(yyDollar[4].token.Value) yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) @@ -5198,7 +5192,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2979 + //line php5/php5.y:2973 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) @@ -5213,7 +5207,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2995 + //line php5/php5.y:2989 { yyVAL.node = nil @@ -5221,7 +5215,7 @@ yydefault: } case 195: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3001 + //line php5/php5.y:2995 { yyVAL.node = yyDollar[1].node @@ -5229,7 +5223,7 @@ yydefault: } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3010 + //line php5/php5.y:3004 { yyVAL.node = stmt.NewNop() @@ -5244,7 +5238,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3023 + //line php5/php5.y:3017 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -5259,7 +5253,7 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3039 + //line php5/php5.y:3033 { yyVAL.list = yyDollar[1].list @@ -5267,7 +5261,7 @@ yydefault: } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3045 + //line php5/php5.y:3039 { modifier := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.list = []node.Node{modifier} @@ -5282,7 +5276,7 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3061 + //line php5/php5.y:3055 { yyVAL.list = nil @@ -5290,7 +5284,7 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3067 + //line php5/php5.y:3061 { yyVAL.list = yyDollar[1].list @@ -5298,7 +5292,7 @@ yydefault: } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3076 + //line php5/php5.y:3070 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5306,7 +5300,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3082 + //line php5/php5.y:3076 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -5314,7 +5308,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3091 + //line php5/php5.y:3085 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5328,7 +5322,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3103 + //line php5/php5.y:3097 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5342,7 +5336,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3115 + //line php5/php5.y:3109 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5356,7 +5350,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3127 + //line php5/php5.y:3121 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5370,7 +5364,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3139 + //line php5/php5.y:3133 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5384,7 +5378,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3151 + //line php5/php5.y:3145 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5398,7 +5392,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3166 + //line php5/php5.y:3160 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5419,7 +5413,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3185 + //line php5/php5.y:3179 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5441,7 +5435,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3205 + //line php5/php5.y:3199 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5461,7 +5455,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3223 + //line php5/php5.y:3217 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5482,7 +5476,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3245 + //line php5/php5.y:3239 { name := node.NewIdentifier(yyDollar[3].token.Value) constant := stmt.NewConstant(name, yyDollar[5].node, "") @@ -5505,7 +5499,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3266 + //line php5/php5.y:3260 { name := node.NewIdentifier(yyDollar[2].token.Value) constant := stmt.NewConstant(name, yyDollar[4].node, "") @@ -5525,7 +5519,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3287 + //line php5/php5.y:3281 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5536,7 +5530,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3296 + //line php5/php5.y:3290 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5544,7 +5538,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3306 + //line php5/php5.y:3300 { yyVAL.list = nil @@ -5552,7 +5546,7 @@ yydefault: } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3312 + //line php5/php5.y:3306 { yyVAL.list = yyDollar[1].list @@ -5560,7 +5554,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3321 + //line php5/php5.y:3315 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5571,7 +5565,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3330 + //line php5/php5.y:3324 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5579,7 +5573,7 @@ yydefault: } case 222: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3339 + //line php5/php5.y:3333 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -5587,7 +5581,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3345 + //line php5/php5.y:3339 { yyVAL.list = yyDollar[1].list @@ -5595,7 +5589,7 @@ yydefault: } case 224: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3354 + //line php5/php5.y:3348 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -5611,7 +5605,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3368 + //line php5/php5.y:3362 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) yyVAL.list = []node.Node{fetch} @@ -5627,7 +5621,7 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3385 + //line php5/php5.y:3379 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -5635,7 +5629,7 @@ yydefault: } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3391 + //line php5/php5.y:3385 { yyVAL.list = yyDollar[1].list @@ -5643,7 +5637,7 @@ yydefault: } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3397 + //line php5/php5.y:3391 { yyVAL.list = yyDollar[1].list @@ -5651,7 +5645,7 @@ yydefault: } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3406 + //line php5/php5.y:3400 { yyVAL.list = nil @@ -5659,7 +5653,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3412 + //line php5/php5.y:3406 { yyVAL.list = yyDollar[1].list @@ -5667,7 +5661,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3421 + //line php5/php5.y:3415 { if yyDollar[3].node != nil { @@ -5685,7 +5679,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3440 + //line php5/php5.y:3434 { listNode := expr.NewList(yyDollar[3].list) yyVAL.node = assign.NewAssign(listNode, yyDollar[6].node) @@ -5704,7 +5698,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3457 + //line php5/php5.y:3451 { yyVAL.node = assign.NewAssign(yyDollar[1].node, yyDollar[3].node) @@ -5719,7 +5713,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3470 + //line php5/php5.y:3464 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) @@ -5735,7 +5729,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3484 + //line php5/php5.y:3478 { var _new *expr.New @@ -5764,7 +5758,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3511 + //line php5/php5.y:3505 { yyVAL.node = expr.NewClone(yyDollar[2].node) @@ -5778,7 +5772,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3523 + //line php5/php5.y:3517 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -5792,7 +5786,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3535 + //line php5/php5.y:3529 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -5807,7 +5801,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3548 + //line php5/php5.y:3542 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -5822,7 +5816,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3561 + //line php5/php5.y:3555 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -5837,7 +5831,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3574 + //line php5/php5.y:3568 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -5852,7 +5846,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3587 + //line php5/php5.y:3581 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -5867,7 +5861,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3600 + //line php5/php5.y:3594 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -5882,7 +5876,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3613 + //line php5/php5.y:3607 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -5897,7 +5891,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3626 + //line php5/php5.y:3620 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -5912,7 +5906,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3639 + //line php5/php5.y:3633 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -5927,7 +5921,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3652 + //line php5/php5.y:3646 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -5942,7 +5936,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3665 + //line php5/php5.y:3659 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -5957,7 +5951,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3678 + //line php5/php5.y:3672 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) @@ -5972,7 +5966,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3691 + //line php5/php5.y:3685 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) @@ -5986,7 +5980,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3703 + //line php5/php5.y:3697 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) @@ -6001,7 +5995,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3716 + //line php5/php5.y:3710 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) @@ -6015,7 +6009,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3728 + //line php5/php5.y:3722 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) @@ -6030,7 +6024,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3741 + //line php5/php5.y:3735 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) @@ -6045,7 +6039,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3754 + //line php5/php5.y:3748 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) @@ -6060,7 +6054,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3767 + //line php5/php5.y:3761 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) @@ -6075,7 +6069,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3780 + //line php5/php5.y:3774 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) @@ -6090,7 +6084,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3793 + //line php5/php5.y:3787 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -6105,7 +6099,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3806 + //line php5/php5.y:3800 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -6120,7 +6114,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3819 + //line php5/php5.y:3813 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -6135,7 +6129,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3832 + //line php5/php5.y:3826 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -6150,7 +6144,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3845 + //line php5/php5.y:3839 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -6165,7 +6159,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3858 + //line php5/php5.y:3852 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -6180,7 +6174,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3871 + //line php5/php5.y:3865 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -6195,7 +6189,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3884 + //line php5/php5.y:3878 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -6210,7 +6204,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3897 + //line php5/php5.y:3891 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -6225,7 +6219,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3910 + //line php5/php5.y:3904 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -6240,7 +6234,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3923 + //line php5/php5.y:3917 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -6255,7 +6249,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3936 + //line php5/php5.y:3930 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -6270,7 +6264,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3949 + //line php5/php5.y:3943 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) @@ -6284,7 +6278,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3961 + //line php5/php5.y:3955 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) @@ -6298,7 +6292,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3973 + //line php5/php5.y:3967 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) @@ -6312,7 +6306,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3985 + //line php5/php5.y:3979 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) @@ -6326,7 +6320,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3997 + //line php5/php5.y:3991 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6341,7 +6335,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4010 + //line php5/php5.y:4004 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6356,7 +6350,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4023 + //line php5/php5.y:4017 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) @@ -6371,7 +6365,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4036 + //line php5/php5.y:4030 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) @@ -6387,7 +6381,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4050 + //line php5/php5.y:4044 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) @@ -6402,7 +6396,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4063 + //line php5/php5.y:4057 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6417,7 +6411,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4076 + //line php5/php5.y:4070 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) @@ -6432,7 +6426,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4089 + //line php5/php5.y:4083 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6447,7 +6441,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4102 + //line php5/php5.y:4096 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) @@ -6462,7 +6456,7 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4115 + //line php5/php5.y:4109 { yyVAL.node = yyDollar[1].node @@ -6475,7 +6469,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4124 + //line php5/php5.y:4118 { yyVAL.node = yyDollar[1].node @@ -6483,7 +6477,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4130 + //line php5/php5.y:4124 { yyVAL.node = yyDollar[2].node @@ -6517,7 +6511,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:4162 + //line php5/php5.y:4156 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) @@ -6533,7 +6527,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4176 + //line php5/php5.y:4170 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) @@ -6549,7 +6543,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4190 + //line php5/php5.y:4184 { yyVAL.node = yyDollar[1].node @@ -6557,7 +6551,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4196 + //line php5/php5.y:4190 { yyVAL.node = cast.NewInt(yyDollar[2].node) @@ -6572,7 +6566,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4209 + //line php5/php5.y:4203 { yyVAL.node = cast.NewDouble(yyDollar[2].node) @@ -6587,7 +6581,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4222 + //line php5/php5.y:4216 { yyVAL.node = cast.NewString(yyDollar[2].node) @@ -6602,7 +6596,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4235 + //line php5/php5.y:4229 { yyVAL.node = cast.NewArray(yyDollar[2].node) @@ -6617,7 +6611,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4248 + //line php5/php5.y:4242 { yyVAL.node = cast.NewObject(yyDollar[2].node) @@ -6632,7 +6626,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4261 + //line php5/php5.y:4255 { yyVAL.node = cast.NewBool(yyDollar[2].node) @@ -6647,7 +6641,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4274 + //line php5/php5.y:4268 { yyVAL.node = cast.NewUnset(yyDollar[2].node) @@ -6662,7 +6656,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4287 + //line php5/php5.y:4281 { e := yyDollar[2].node.(*expr.Exit) yyVAL.node = yyDollar[2].node @@ -6685,7 +6679,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4308 + //line php5/php5.y:4302 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) @@ -6699,7 +6693,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4320 + //line php5/php5.y:4314 { yyVAL.node = yyDollar[1].node @@ -6707,7 +6701,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4326 + //line php5/php5.y:4320 { yyVAL.node = yyDollar[1].node @@ -6715,7 +6709,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4332 + //line php5/php5.y:4326 { yyVAL.node = yyDollar[1].node @@ -6723,7 +6717,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4338 + //line php5/php5.y:4332 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) @@ -6737,7 +6731,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4350 + //line php5/php5.y:4344 { yyVAL.node = expr.NewPrint(yyDollar[2].node) @@ -6751,7 +6745,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4362 + //line php5/php5.y:4356 { yyVAL.node = expr.NewYield(nil, nil) @@ -6765,7 +6759,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:4374 + //line php5/php5.y:4368 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].ClosureUse, nil, yyDollar[8].list, false, yyDollar[2].token != nil, "") @@ -6794,7 +6788,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:4400 + //line php5/php5.y:4394 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].ClosureUse, nil, yyDollar[9].list, true, yyDollar[3].token != nil, "") @@ -6824,7 +6818,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4430 + //line php5/php5.y:4424 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) @@ -6838,7 +6832,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4442 + //line php5/php5.y:4436 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) @@ -6852,7 +6846,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4454 + //line php5/php5.y:4448 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) @@ -6867,7 +6861,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4467 + //line php5/php5.y:4461 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) @@ -6882,7 +6876,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4483 + //line php5/php5.y:4477 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6898,7 +6892,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4497 + //line php5/php5.y:4491 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6914,7 +6908,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4511 + //line php5/php5.y:4505 { str := scalar.NewString(yyDollar[1].token.Value) yyVAL.node = expr.NewArrayDimFetch(str, yyDollar[3].node) @@ -6932,7 +6926,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4527 + //line php5/php5.y:4521 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6948,7 +6942,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4544 + //line php5/php5.y:4538 { yyVAL.node = expr.NewArray(yyDollar[3].list) @@ -6964,7 +6958,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4558 + //line php5/php5.y:4552 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) @@ -6979,13 +6973,13 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4574 + //line php5/php5.y:4568 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4581 + //line php5/php5.y:4575 { yyVAL.ClosureUse = nil @@ -6993,7 +6987,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4587 + //line php5/php5.y:4581 { yyVAL.ClosureUse = expr.NewClosureUse(yyDollar[3].list) @@ -7009,7 +7003,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4604 + //line php5/php5.y:4598 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7028,7 +7022,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4621 + //line php5/php5.y:4615 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7050,7 +7044,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4641 + //line php5/php5.y:4635 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7068,7 +7062,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4657 + //line php5/php5.y:4651 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[2].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7089,7 +7083,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4679 + //line php5/php5.y:4673 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewFunctionCall(name, yyDollar[2].node.(*node.ArgumentList)) @@ -7105,7 +7099,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4693 + //line php5/php5.y:4687 { funcName := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[4].node.(*node.ArgumentList)) @@ -7122,7 +7116,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4708 + //line php5/php5.y:4702 { funcName := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[3].node.(*node.ArgumentList)) @@ -7138,7 +7132,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4722 + //line php5/php5.y:4716 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7153,7 +7147,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4735 + //line php5/php5.y:4729 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7168,7 +7162,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4748 + //line php5/php5.y:4742 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7183,7 +7177,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4761 + //line php5/php5.y:4755 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7198,7 +7192,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4774 + //line php5/php5.y:4768 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].node.(*node.ArgumentList)) @@ -7212,7 +7206,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4789 + //line php5/php5.y:4783 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -7226,7 +7220,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4801 + //line php5/php5.y:4795 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -7240,7 +7234,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4813 + //line php5/php5.y:4807 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -7255,7 +7249,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4826 + //line php5/php5.y:4820 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -7269,7 +7263,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4841 + //line php5/php5.y:4835 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -7283,7 +7277,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4853 + //line php5/php5.y:4847 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -7298,7 +7292,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4866 + //line php5/php5.y:4860 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -7312,7 +7306,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4881 + //line php5/php5.y:4875 { yyVAL.node = yyDollar[1].node @@ -7320,7 +7314,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4887 + //line php5/php5.y:4881 { yyVAL.node = yyDollar[1].node @@ -7328,7 +7322,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4896 + //line php5/php5.y:4890 { yyVAL.node = yyDollar[1].node @@ -7371,7 +7365,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4937 + //line php5/php5.y:4931 { yyVAL.node = yyDollar[1].node @@ -7379,7 +7373,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4947 + //line php5/php5.y:4941 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -7387,7 +7381,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4953 + //line php5/php5.y:4947 { yyVAL.list = []node.Node{} @@ -7395,7 +7389,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4963 + //line php5/php5.y:4957 { yyVAL.list = yyDollar[2].list @@ -7406,7 +7400,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4975 + //line php5/php5.y:4969 { yyVAL.node = expr.NewExit(nil) @@ -7414,7 +7408,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4981 + //line php5/php5.y:4975 { yyVAL.node = expr.NewExit(nil) @@ -7429,7 +7423,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4994 + //line php5/php5.y:4988 { yyVAL.node = expr.NewExit(yyDollar[1].node) @@ -7450,7 +7444,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5014 + //line php5/php5.y:5008 { yyVAL.list = []node.Node{} @@ -7458,7 +7452,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5020 + //line php5/php5.y:5014 { part := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yyVAL.list = []node.Node{part} @@ -7470,7 +7464,7 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5030 + //line php5/php5.y:5024 { yyVAL.list = yyDollar[1].list @@ -7478,7 +7472,7 @@ yydefault: } case 351: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5039 + //line php5/php5.y:5033 { yyVAL.node = nil @@ -7486,7 +7480,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5045 + //line php5/php5.y:5039 { yyVAL.node = yyDollar[1].node @@ -7494,7 +7488,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5054 + //line php5/php5.y:5048 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) @@ -7508,7 +7502,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5066 + //line php5/php5.y:5060 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) @@ -7522,7 +7516,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5078 + //line php5/php5.y:5072 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -7536,7 +7530,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5090 + //line php5/php5.y:5084 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7550,7 +7544,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5102 + //line php5/php5.y:5096 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7564,7 +7558,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5114 + //line php5/php5.y:5108 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7578,7 +7572,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5126 + //line php5/php5.y:5120 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7592,7 +7586,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5138 + //line php5/php5.y:5132 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7606,7 +7600,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5150 + //line php5/php5.y:5144 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7620,7 +7614,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5162 + //line php5/php5.y:5156 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7634,7 +7628,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5174 + //line php5/php5.y:5168 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, []node.Node{encapsed}) @@ -7650,7 +7644,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5188 + //line php5/php5.y:5182 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) @@ -7664,7 +7658,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5203 + //line php5/php5.y:5197 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -7682,7 +7676,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5222 + //line php5/php5.y:5216 { yyVAL.node = yyDollar[1].node @@ -7690,7 +7684,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5231 + //line php5/php5.y:5225 { yyVAL.node = yyDollar[1].node @@ -7698,7 +7692,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5237 + //line php5/php5.y:5231 { yyVAL.node = yyDollar[1].node @@ -7706,7 +7700,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5243 + //line php5/php5.y:5237 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewConstFetch(name) @@ -7722,7 +7716,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5257 + //line php5/php5.y:5251 { name := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewConstFetch(name) @@ -7739,7 +7733,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5272 + //line php5/php5.y:5266 { name := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewConstFetch(name) @@ -7755,7 +7749,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5286 + //line php5/php5.y:5280 { yyVAL.node = expr.NewArray(yyDollar[3].list) @@ -7771,7 +7765,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5300 + //line php5/php5.y:5294 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) @@ -7786,7 +7780,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5313 + //line php5/php5.y:5307 { yyVAL.node = yyDollar[1].node @@ -7794,7 +7788,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5319 + //line php5/php5.y:5313 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7808,7 +7802,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5331 + //line php5/php5.y:5325 { yyVAL.node = yyDollar[1].node @@ -7816,7 +7810,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5340 + //line php5/php5.y:5334 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7832,7 +7826,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5354 + //line php5/php5.y:5348 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -7847,7 +7841,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5367 + //line php5/php5.y:5361 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -7862,7 +7856,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5380 + //line php5/php5.y:5374 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -7877,7 +7871,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5393 + //line php5/php5.y:5387 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -7892,7 +7886,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5406 + //line php5/php5.y:5400 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -7907,7 +7901,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5419 + //line php5/php5.y:5413 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -7922,7 +7916,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5432 + //line php5/php5.y:5426 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) @@ -7936,7 +7930,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5444 + //line php5/php5.y:5438 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) @@ -7950,7 +7944,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5456 + //line php5/php5.y:5450 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -7965,7 +7959,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5469 + //line php5/php5.y:5463 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -7980,7 +7974,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5482 + //line php5/php5.y:5476 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -7995,7 +7989,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5495 + //line php5/php5.y:5489 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -8010,7 +8004,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5508 + //line php5/php5.y:5502 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -8025,7 +8019,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5521 + //line php5/php5.y:5515 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -8040,7 +8034,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5534 + //line php5/php5.y:5528 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) @@ -8055,7 +8049,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5547 + //line php5/php5.y:5541 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) @@ -8070,7 +8064,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5560 + //line php5/php5.y:5554 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) @@ -8085,7 +8079,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5573 + //line php5/php5.y:5567 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) @@ -8100,7 +8094,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5586 + //line php5/php5.y:5580 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) @@ -8115,7 +8109,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5599 + //line php5/php5.y:5593 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) @@ -8130,7 +8124,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5612 + //line php5/php5.y:5606 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) @@ -8145,7 +8139,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5625 + //line php5/php5.y:5619 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) @@ -8160,7 +8154,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5638 + //line php5/php5.y:5632 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) @@ -8176,7 +8170,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5652 + //line php5/php5.y:5646 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) @@ -8191,7 +8185,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5665 + //line php5/php5.y:5659 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) @@ -8206,7 +8200,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5678 + //line php5/php5.y:5672 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -8221,7 +8215,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5691 + //line php5/php5.y:5685 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -8236,7 +8230,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5704 + //line php5/php5.y:5698 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) @@ -8252,7 +8246,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:5718 + //line php5/php5.y:5712 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) @@ -8268,7 +8262,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5732 + //line php5/php5.y:5726 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) @@ -8282,7 +8276,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5744 + //line php5/php5.y:5738 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) @@ -8296,7 +8290,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5756 + //line php5/php5.y:5750 { yyVAL.node = yyDollar[2].node @@ -8308,7 +8302,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5769 + //line php5/php5.y:5763 { yyVAL.node = yyDollar[1].node @@ -8316,7 +8310,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5775 + //line php5/php5.y:5769 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewConstFetch(name) @@ -8332,7 +8326,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5789 + //line php5/php5.y:5783 { name := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewConstFetch(name) @@ -8349,7 +8343,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5804 + //line php5/php5.y:5798 { name := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewConstFetch(name) @@ -8365,7 +8359,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5821 + //line php5/php5.y:5815 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = expr.NewVariable(name) @@ -8381,7 +8375,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5835 + //line php5/php5.y:5829 { yyVAL.node = yyDollar[1].node @@ -8389,7 +8383,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5841 + //line php5/php5.y:5835 { yyVAL.node = yyDollar[1].node @@ -8397,7 +8391,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5847 + //line php5/php5.y:5841 { yyVAL.node = yyDollar[1].node @@ -8405,7 +8399,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5853 + //line php5/php5.y:5847 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) @@ -8419,7 +8413,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5865 + //line php5/php5.y:5859 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) @@ -8433,7 +8427,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5877 + //line php5/php5.y:5871 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -8447,7 +8441,7 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5892 + //line php5/php5.y:5886 { yyVAL.list = nil @@ -8455,7 +8449,7 @@ yydefault: } case 422: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5898 + //line php5/php5.y:5892 { yyVAL.list = yyDollar[1].list @@ -8468,19 +8462,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5912 + //line php5/php5.y:5906 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5916 + //line php5/php5.y:5910 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:5923 + //line php5/php5.y:5917 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8497,7 +8491,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5938 + //line php5/php5.y:5932 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8513,7 +8507,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5952 + //line php5/php5.y:5946 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node) yyVAL.list = []node.Node{arrayItem} @@ -8529,7 +8523,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5966 + //line php5/php5.y:5960 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node) yyVAL.list = []node.Node{arrayItem} @@ -8544,7 +8538,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5982 + //line php5/php5.y:5976 { yyVAL.node = yyDollar[1].node @@ -8552,7 +8546,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5988 + //line php5/php5.y:5982 { yyVAL.node = yyDollar[1].node @@ -8560,7 +8554,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5997 + //line php5/php5.y:5991 { yyVAL.node = yyDollar[2].node @@ -8578,7 +8572,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6013 + //line php5/php5.y:6007 { yyVAL.node = yyDollar[2].node @@ -8596,7 +8590,7 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6033 + //line php5/php5.y:6027 { yyVAL.node = yyDollar[1].node @@ -8604,7 +8598,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6043 + //line php5/php5.y:6037 { yyVAL.node = yyDollar[1].node @@ -8612,7 +8606,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6052 + //line php5/php5.y:6046 { yyVAL.node = yyDollar[1].node @@ -8620,7 +8614,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:6061 + //line php5/php5.y:6055 { yyVAL.node = yyDollar[1].node @@ -8680,7 +8674,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6119 + //line php5/php5.y:6113 { yyVAL.node = yyDollar[1].node @@ -8688,7 +8682,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6128 + //line php5/php5.y:6122 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -8696,7 +8690,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6134 + //line php5/php5.y:6128 { yyVAL.list = []node.Node{} @@ -8704,7 +8698,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6144 + //line php5/php5.y:6138 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -8720,7 +8714,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6161 + //line php5/php5.y:6155 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -8736,7 +8730,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6175 + //line php5/php5.y:6169 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = []node.Node{yyDollar[1].node, fetch} @@ -8752,7 +8746,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6192 + //line php5/php5.y:6186 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].node.(*node.ArgumentList)) @@ -8763,7 +8757,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6204 + //line php5/php5.y:6198 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -8771,7 +8765,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6210 + //line php5/php5.y:6204 { yyVAL.list = yyDollar[1].list @@ -8779,7 +8773,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6216 + //line php5/php5.y:6210 { yyVAL.list = nil @@ -8787,7 +8781,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6225 + //line php5/php5.y:6219 { yyVAL.node = yyDollar[1].node @@ -8795,7 +8789,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6231 + //line php5/php5.y:6225 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -8809,7 +8803,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6246 + //line php5/php5.y:6240 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -8824,7 +8818,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6259 + //line php5/php5.y:6253 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -8839,7 +8833,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6275 + //line php5/php5.y:6269 { yyVAL.node = yyDollar[1].node @@ -8847,7 +8841,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6284 + //line php5/php5.y:6278 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8863,7 +8857,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6298 + //line php5/php5.y:6292 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8879,7 +8873,7 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6315 + //line php5/php5.y:6309 { yyVAL.node = yyDollar[1].node @@ -8887,7 +8881,7 @@ yydefault: } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6321 + //line php5/php5.y:6315 { yyVAL.node = yyDollar[1].node @@ -8895,7 +8889,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6327 + //line php5/php5.y:6321 { yyVAL.node = yyDollar[1].node @@ -8903,7 +8897,7 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6337 + //line php5/php5.y:6331 { yyVAL.node = yyDollar[1].node @@ -8911,7 +8905,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6343 + //line php5/php5.y:6337 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -8925,7 +8919,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6355 + //line php5/php5.y:6349 { yyVAL.node = yyDollar[1].node @@ -8933,7 +8927,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6364 + //line php5/php5.y:6358 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8949,7 +8943,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6378 + //line php5/php5.y:6372 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8965,7 +8959,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6392 + //line php5/php5.y:6386 { yyVAL.node = yyDollar[1].node @@ -8973,7 +8967,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6402 + //line php5/php5.y:6396 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -8990,7 +8984,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6417 + //line php5/php5.y:6411 { yyVAL.node = expr.NewVariable(yyDollar[3].node) @@ -9007,7 +9001,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6435 + //line php5/php5.y:6429 { yyVAL.node = nil @@ -9015,7 +9009,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6441 + //line php5/php5.y:6435 { yyVAL.node = yyDollar[1].node @@ -9023,7 +9017,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6451 + //line php5/php5.y:6445 { yyVAL.list = yyDollar[1].list @@ -9031,7 +9025,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6457 + //line php5/php5.y:6451 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yyVAL.list = []node.Node{fetch} @@ -9043,7 +9037,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6470 + //line php5/php5.y:6464 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -9059,7 +9053,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6484 + //line php5/php5.y:6478 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -9075,7 +9069,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6498 + //line php5/php5.y:6492 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yyVAL.list = []node.Node{fetch} @@ -9087,7 +9081,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6511 + //line php5/php5.y:6505 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -9101,7 +9095,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6523 + //line php5/php5.y:6517 { yyVAL.node = yyDollar[2].node @@ -9116,7 +9110,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6539 + //line php5/php5.y:6533 { n := expr.NewVariable(nil) yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} @@ -9132,7 +9126,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6553 + //line php5/php5.y:6547 { n := expr.NewVariable(nil) @@ -9152,7 +9146,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6574 + //line php5/php5.y:6568 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []node.Node{expr.NewArrayItem(nil, nil)} @@ -9167,7 +9161,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6587 + //line php5/php5.y:6581 { if yyDollar[1].node.(*expr.ArrayItem).Key == nil && yyDollar[1].node.(*expr.ArrayItem).Val == nil { yyVAL.list = []node.Node{} @@ -9179,7 +9173,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6601 + //line php5/php5.y:6595 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node) @@ -9193,7 +9187,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6613 + //line php5/php5.y:6607 { listNode := expr.NewList(yyDollar[3].list) yyVAL.node = expr.NewArrayItem(nil, listNode) @@ -9211,7 +9205,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6629 + //line php5/php5.y:6623 { yyVAL.node = expr.NewArrayItem(nil, nil) @@ -9219,7 +9213,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6639 + //line php5/php5.y:6633 { yyVAL.list = []node.Node{} @@ -9227,7 +9221,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6645 + //line php5/php5.y:6639 { yyVAL.list = yyDollar[1].list @@ -9244,7 +9238,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:6663 + //line php5/php5.y:6657 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9261,7 +9255,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6678 + //line php5/php5.y:6672 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9277,7 +9271,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6692 + //line php5/php5.y:6686 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node) yyVAL.list = []node.Node{arrayItem} @@ -9293,7 +9287,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6706 + //line php5/php5.y:6700 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node) yyVAL.list = []node.Node{arrayItem} @@ -9308,7 +9302,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:6719 + //line php5/php5.y:6713 { reference := expr.NewReference(yyDollar[6].node) arrayItem := expr.NewArrayItem(yyDollar[3].node, reference) @@ -9328,7 +9322,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6737 + //line php5/php5.y:6731 { reference := expr.NewReference(yyDollar[4].node) arrayItem := expr.NewArrayItem(nil, reference) @@ -9346,7 +9340,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6753 + //line php5/php5.y:6747 { reference := expr.NewReference(yyDollar[4].node) arrayItem := expr.NewArrayItem(yyDollar[1].node, reference) @@ -9365,7 +9359,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6770 + //line php5/php5.y:6764 { reference := expr.NewReference(yyDollar[2].node) arrayItem := expr.NewArrayItem(nil, reference) @@ -9382,7 +9376,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6788 + //line php5/php5.y:6782 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -9390,7 +9384,7 @@ yydefault: } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6794 + //line php5/php5.y:6788 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.list = append(yyDollar[1].list, encapsed) @@ -9405,7 +9399,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6807 + //line php5/php5.y:6801 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -9413,7 +9407,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6813 + //line php5/php5.y:6807 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} @@ -9428,7 +9422,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6829 + //line php5/php5.y:6823 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -9445,7 +9439,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6844 + //line php5/php5.y:6838 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -9465,7 +9459,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6862 + //line php5/php5.y:6856 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -9487,7 +9481,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6882 + //line php5/php5.y:6876 { variable := expr.NewVariable(yyDollar[2].node) @@ -9504,7 +9498,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6897 + //line php5/php5.y:6891 { name := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(name) @@ -9523,7 +9517,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:6914 + //line php5/php5.y:6908 { identifier := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(identifier) @@ -9544,7 +9538,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6933 + //line php5/php5.y:6927 { yyVAL.node = yyDollar[2].node @@ -9556,7 +9550,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6946 + //line php5/php5.y:6940 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -9570,7 +9564,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6958 + //line php5/php5.y:6952 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -9589,7 +9583,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6975 + //line php5/php5.y:6969 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(identifier) @@ -9606,7 +9600,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6993 + //line php5/php5.y:6987 { yyVAL.node = expr.NewIsset(yyDollar[3].list) @@ -9622,7 +9616,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7007 + //line php5/php5.y:7001 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) @@ -9638,7 +9632,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7021 + //line php5/php5.y:7015 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) @@ -9654,7 +9648,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7035 + //line php5/php5.y:7029 { yyVAL.node = expr.NewInclude(yyDollar[2].node) @@ -9668,7 +9662,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7047 + //line php5/php5.y:7041 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) @@ -9682,7 +9676,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7059 + //line php5/php5.y:7053 { yyVAL.node = expr.NewEval(yyDollar[3].node) @@ -9698,7 +9692,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7073 + //line php5/php5.y:7067 { yyVAL.node = expr.NewRequire(yyDollar[2].node) @@ -9712,7 +9706,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7085 + //line php5/php5.y:7079 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) @@ -9726,7 +9720,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7100 + //line php5/php5.y:7094 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -9734,7 +9728,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7106 + //line php5/php5.y:7100 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -9745,7 +9739,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7118 + //line php5/php5.y:7112 { yyVAL.node = yyDollar[1].node @@ -9753,7 +9747,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7124 + //line php5/php5.y:7118 { yyVAL.node = yyDollar[1].node @@ -9761,7 +9755,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7133 + //line php5/php5.y:7127 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9779,7 +9773,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7149 + //line php5/php5.y:7143 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9797,7 +9791,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7168 + //line php5/php5.y:7162 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9815,7 +9809,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7187 + //line php5/php5.y:7181 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) diff --git a/php5/php5.y b/php5/php5.y index 57a8ba7..1239310 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -282,11 +282,9 @@ start: yylex.(*Parser).rootNode = node.NewRoot($1) yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1)) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating) + yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - if yylex.(*Parser).currentToken.Value == "\xff" { - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating) - } } ; @@ -383,8 +381,6 @@ top_statement: yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } | T_NAMESPACE namespace_name ';' { @@ -871,8 +867,6 @@ inner_statement: yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } ; diff --git a/php5/php5_bench_test.go b/php5/php5_bench_test.go index a5418f2..cf823b5 100644 --- a/php5/php5_bench_test.go +++ b/php5/php5_bench_test.go @@ -1,7 +1,6 @@ package php5_test import ( - "bytes" "testing" "github.com/z7zmey/php-parser/php5" @@ -414,7 +413,7 @@ CAD; ` for n := 0; n < b.N; n++ { - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() } } diff --git a/php5/php5_test.go b/php5/php5_test.go index dbf370f..2d5b940 100644 --- a/php5/php5_test.go +++ b/php5/php5_test.go @@ -1,7 +1,6 @@ package php5_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -407,7 +406,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 379, - StartPos: 6, + StartPos: 5, EndPos: 6944, }, Stmts: []node.Node{ @@ -415,21 +414,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 20, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 19, }, Function: &name.Name{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 8, }, Parts: []node.Node{ @@ -437,7 +436,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 8, }, Value: "foo", @@ -448,7 +447,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 9, + StartPos: 8, EndPos: 19, }, Arguments: []node.Node{ @@ -456,23 +455,23 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -483,7 +482,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 14, + StartPos: 13, EndPos: 18, }, Variadic: true, @@ -492,14 +491,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -514,28 +513,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 39, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 38, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 27, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 27, }, Value: "foo", @@ -545,7 +544,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 28, + StartPos: 27, EndPos: 38, }, Arguments: []node.Node{ @@ -553,7 +552,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Variadic: false, @@ -562,14 +561,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Value: "a", @@ -580,7 +579,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 33, + StartPos: 32, EndPos: 37, }, Variadic: true, @@ -589,14 +588,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 36, + StartPos: 35, EndPos: 37, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 36, + StartPos: 35, EndPos: 37, }, Value: "b", @@ -611,28 +610,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 63, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 62, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 46, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 46, }, Value: "foo", @@ -642,7 +641,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 49, + StartPos: 48, EndPos: 51, }, Value: "bar", @@ -651,7 +650,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 52, + StartPos: 51, EndPos: 62, }, Arguments: []node.Node{ @@ -659,7 +658,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, Variadic: false, @@ -668,14 +667,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, Value: "a", @@ -686,7 +685,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 57, + StartPos: 56, EndPos: 61, }, Variadic: true, @@ -695,14 +694,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 60, + StartPos: 59, EndPos: 61, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 60, + StartPos: 59, EndPos: 61, }, Value: "b", @@ -717,21 +716,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 86, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 85, }, Class: &name.Name{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 69, }, Parts: []node.Node{ @@ -739,7 +738,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 69, }, Value: "foo", @@ -750,7 +749,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 72, + StartPos: 71, EndPos: 74, }, Value: "bar", @@ -759,7 +758,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 75, + StartPos: 74, EndPos: 85, }, Arguments: []node.Node{ @@ -767,7 +766,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, Variadic: false, @@ -776,14 +775,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, Value: "a", @@ -794,7 +793,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 80, + StartPos: 79, EndPos: 84, }, Variadic: true, @@ -803,14 +802,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 83, + StartPos: 82, EndPos: 84, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 83, + StartPos: 82, EndPos: 84, }, Value: "b", @@ -825,28 +824,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 110, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 109, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 93, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 93, }, Value: "foo", @@ -856,7 +855,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 96, + StartPos: 95, EndPos: 98, }, Value: "bar", @@ -865,7 +864,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 99, + StartPos: 98, EndPos: 109, }, Arguments: []node.Node{ @@ -873,7 +872,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, Variadic: false, @@ -882,14 +881,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, Value: "a", @@ -900,7 +899,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 104, + StartPos: 103, EndPos: 108, }, Variadic: true, @@ -909,14 +908,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 107, + StartPos: 106, EndPos: 108, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 107, + StartPos: 106, EndPos: 108, }, Value: "b", @@ -931,21 +930,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 114, + StartPos: 113, EndPos: 132, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 114, + StartPos: 113, EndPos: 131, }, Class: &name.Name{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 118, + StartPos: 117, EndPos: 120, }, Parts: []node.Node{ @@ -953,7 +952,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 118, + StartPos: 117, EndPos: 120, }, Value: "foo", @@ -964,7 +963,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 121, + StartPos: 120, EndPos: 131, }, Arguments: []node.Node{ @@ -972,23 +971,23 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, Value: "a", @@ -999,7 +998,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 126, + StartPos: 125, EndPos: 130, }, Variadic: true, @@ -1008,14 +1007,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 129, + StartPos: 128, EndPos: 130, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 129, + StartPos: 128, EndPos: 130, }, Value: "b", @@ -1030,16 +1029,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 137, + StartPos: 136, EndPos: 180, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 146, + StartPos: 145, EndPos: 148, }, Value: "foo", @@ -1049,7 +1048,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 150, + StartPos: 149, EndPos: 162, }, ByRef: false, @@ -1058,7 +1057,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 150, + StartPos: 149, EndPos: 152, }, Parts: []node.Node{ @@ -1066,7 +1065,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 150, + StartPos: 149, EndPos: 152, }, Value: "bar", @@ -1077,14 +1076,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 154, + StartPos: 153, EndPos: 157, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 154, + StartPos: 153, EndPos: 157, }, Value: "bar", @@ -1094,14 +1093,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 159, + StartPos: 158, EndPos: 162, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 159, + StartPos: 158, EndPos: 162, }, Parts: []node.Node{ @@ -1109,7 +1108,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 159, + StartPos: 158, EndPos: 162, }, Value: "null", @@ -1122,7 +1121,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 165, + StartPos: 164, EndPos: 176, }, ByRef: true, @@ -1131,7 +1130,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 165, + StartPos: 164, EndPos: 167, }, Parts: []node.Node{ @@ -1139,7 +1138,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 165, + StartPos: 164, EndPos: 167, }, Value: "baz", @@ -1150,14 +1149,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 173, + StartPos: 172, EndPos: 176, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 173, + StartPos: 172, EndPos: 176, }, Value: "baz", @@ -1171,7 +1170,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 184, + StartPos: 183, EndPos: 246, }, PhpDocComment: "", @@ -1179,7 +1178,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 190, + StartPos: 189, EndPos: 192, }, Value: "foo", @@ -1189,16 +1188,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 195, + StartPos: 194, EndPos: 245, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", MethodName: &node.Identifier{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 211, + StartPos: 210, EndPos: 213, }, Value: "foo", @@ -1208,7 +1207,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 195, + StartPos: 194, EndPos: 200, }, Value: "public", @@ -1219,7 +1218,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 215, + StartPos: 214, EndPos: 227, }, ByRef: false, @@ -1228,7 +1227,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 215, + StartPos: 214, EndPos: 217, }, Parts: []node.Node{ @@ -1236,7 +1235,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 215, + StartPos: 214, EndPos: 217, }, Value: "bar", @@ -1247,14 +1246,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 219, + StartPos: 218, EndPos: 222, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 219, + StartPos: 218, EndPos: 222, }, Value: "bar", @@ -1264,14 +1263,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 224, + StartPos: 223, EndPos: 227, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 224, + StartPos: 223, EndPos: 227, }, Parts: []node.Node{ @@ -1279,7 +1278,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 224, + StartPos: 223, EndPos: 227, }, Value: "null", @@ -1292,16 +1291,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 230, + StartPos: 229, EndPos: 241, }, - Variadic: true, ByRef: true, + Variadic: true, VariableType: &name.Name{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 230, + StartPos: 229, EndPos: 232, }, Parts: []node.Node{ @@ -1309,7 +1308,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 230, + StartPos: 229, EndPos: 232, }, Value: "baz", @@ -1320,14 +1319,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 238, + StartPos: 237, EndPos: 241, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 238, + StartPos: 237, EndPos: 241, }, Value: "baz", @@ -1339,7 +1338,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 244, + StartPos: 243, EndPos: 245, }, Stmts: []node.Node{}, @@ -1351,25 +1350,25 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 250, + StartPos: 249, EndPos: 290, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 250, + StartPos: 249, EndPos: 289, }, + ReturnsRef: false, Static: false, PhpDocComment: "", - ReturnsRef: false, Params: []node.Node{ &node.Parameter{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 259, + StartPos: 258, EndPos: 271, }, ByRef: false, @@ -1378,7 +1377,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 259, + StartPos: 258, EndPos: 261, }, Parts: []node.Node{ @@ -1386,7 +1385,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 259, + StartPos: 258, EndPos: 261, }, Value: "bar", @@ -1397,14 +1396,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 263, + StartPos: 262, EndPos: 266, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 263, + StartPos: 262, EndPos: 266, }, Value: "bar", @@ -1414,14 +1413,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 268, + StartPos: 267, EndPos: 271, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 268, + StartPos: 267, EndPos: 271, }, Parts: []node.Node{ @@ -1429,7 +1428,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 268, + StartPos: 267, EndPos: 271, }, Value: "null", @@ -1442,16 +1441,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 274, + StartPos: 273, EndPos: 285, }, - Variadic: true, ByRef: true, + Variadic: true, VariableType: &name.Name{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 274, + StartPos: 273, EndPos: 276, }, Parts: []node.Node{ @@ -1459,7 +1458,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 274, + StartPos: 273, EndPos: 276, }, Value: "baz", @@ -1470,14 +1469,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 282, + StartPos: 281, EndPos: 285, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 282, + StartPos: 281, EndPos: 285, }, Value: "baz", @@ -1492,34 +1491,34 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 294, + StartPos: 293, EndPos: 341, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 294, + StartPos: 293, EndPos: 340, }, - PhpDocComment: "", ReturnsRef: false, Static: true, + PhpDocComment: "", Params: []node.Node{ &node.Parameter{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 310, + StartPos: 309, EndPos: 322, }, - Variadic: false, ByRef: false, + Variadic: false, VariableType: &name.Name{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 310, + StartPos: 309, EndPos: 312, }, Parts: []node.Node{ @@ -1527,7 +1526,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 310, + StartPos: 309, EndPos: 312, }, Value: "bar", @@ -1538,14 +1537,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 314, + StartPos: 313, EndPos: 317, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 314, + StartPos: 313, EndPos: 317, }, Value: "bar", @@ -1555,14 +1554,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 319, + StartPos: 318, EndPos: 322, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 319, + StartPos: 318, EndPos: 322, }, Parts: []node.Node{ @@ -1570,7 +1569,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 319, + StartPos: 318, EndPos: 322, }, Value: "null", @@ -1583,7 +1582,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 325, + StartPos: 324, EndPos: 336, }, ByRef: true, @@ -1592,7 +1591,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 325, + StartPos: 324, EndPos: 327, }, Parts: []node.Node{ @@ -1600,7 +1599,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 325, + StartPos: 324, EndPos: 327, }, Value: "baz", @@ -1611,14 +1610,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 333, + StartPos: 332, EndPos: 336, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 333, + StartPos: 332, EndPos: 336, }, Value: "baz", @@ -1633,14 +1632,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 346, + StartPos: 345, EndPos: 365, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 346, + StartPos: 345, EndPos: 364, }, Value: "1234567890123456789", @@ -1650,14 +1649,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 369, + StartPos: 368, EndPos: 389, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 369, + StartPos: 368, EndPos: 388, }, Value: "12345678901234567890", @@ -1667,14 +1666,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 393, + StartPos: 392, EndPos: 395, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 393, + StartPos: 392, EndPos: 394, }, Value: "0.", @@ -1684,14 +1683,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 17, EndLine: 17, - StartPos: 399, + StartPos: 398, EndPos: 465, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 17, EndLine: 17, - StartPos: 399, + StartPos: 398, EndPos: 464, }, Value: "0b0111111111111111111111111111111111111111111111111111111111111111", @@ -1701,14 +1700,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 469, + StartPos: 468, EndPos: 535, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 469, + StartPos: 468, EndPos: 534, }, Value: "0b1111111111111111111111111111111111111111111111111111111111111111", @@ -1718,14 +1717,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 539, + StartPos: 538, EndPos: 559, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 539, + StartPos: 538, EndPos: 558, }, Value: "0x007111111111111111", @@ -1735,14 +1734,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 563, + StartPos: 562, EndPos: 581, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 563, + StartPos: 562, EndPos: 580, }, Value: "0x8111111111111111", @@ -1752,14 +1751,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 585, + StartPos: 584, EndPos: 594, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 585, + StartPos: 584, EndPos: 593, }, Value: "__CLASS__", @@ -1769,14 +1768,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 22, EndLine: 22, - StartPos: 598, + StartPos: 597, EndPos: 605, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 22, EndLine: 22, - StartPos: 598, + StartPos: 597, EndPos: 604, }, Value: "__DIR__", @@ -1786,14 +1785,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 23, EndLine: 23, - StartPos: 609, + StartPos: 608, EndPos: 617, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 23, EndLine: 23, - StartPos: 609, + StartPos: 608, EndPos: 616, }, Value: "__FILE__", @@ -1803,14 +1802,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 24, EndLine: 24, - StartPos: 621, + StartPos: 620, EndPos: 633, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 24, EndLine: 24, - StartPos: 621, + StartPos: 620, EndPos: 632, }, Value: "__FUNCTION__", @@ -1820,14 +1819,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 25, EndLine: 25, - StartPos: 637, + StartPos: 636, EndPos: 645, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 25, EndLine: 25, - StartPos: 637, + StartPos: 636, EndPos: 644, }, Value: "__LINE__", @@ -1837,14 +1836,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 26, EndLine: 26, - StartPos: 649, + StartPos: 648, EndPos: 662, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 26, EndLine: 26, - StartPos: 649, + StartPos: 648, EndPos: 661, }, Value: "__NAMESPACE__", @@ -1854,14 +1853,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 27, EndLine: 27, - StartPos: 666, + StartPos: 665, EndPos: 676, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 27, EndLine: 27, - StartPos: 666, + StartPos: 665, EndPos: 675, }, Value: "__METHOD__", @@ -1871,14 +1870,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 28, EndLine: 28, - StartPos: 680, + StartPos: 679, EndPos: 689, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 28, EndLine: 28, - StartPos: 680, + StartPos: 679, EndPos: 688, }, Value: "__TRAIT__", @@ -1888,14 +1887,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 694, + StartPos: 693, EndPos: 705, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 694, + StartPos: 693, EndPos: 704, }, Parts: []node.Node{ @@ -1903,7 +1902,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 695, + StartPos: 694, EndPos: 699, }, Value: "test ", @@ -1912,14 +1911,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 700, + StartPos: 699, EndPos: 703, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 700, + StartPos: 699, EndPos: 703, }, Value: "var", @@ -1932,14 +1931,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 709, + StartPos: 708, EndPos: 723, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 709, + StartPos: 708, EndPos: 722, }, Parts: []node.Node{ @@ -1947,7 +1946,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 710, + StartPos: 709, EndPos: 714, }, Value: "test ", @@ -1956,21 +1955,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 715, + StartPos: 714, EndPos: 721, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 715, + StartPos: 714, EndPos: 718, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 715, + StartPos: 714, EndPos: 718, }, Value: "var", @@ -1980,7 +1979,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 720, + StartPos: 719, EndPos: 720, }, Value: "1", @@ -1993,14 +1992,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 727, + StartPos: 726, EndPos: 780, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 727, + StartPos: 726, EndPos: 779, }, Parts: []node.Node{ @@ -2008,7 +2007,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 728, + StartPos: 727, EndPos: 732, }, Value: "test ", @@ -2017,21 +2016,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 733, + StartPos: 732, EndPos: 778, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 733, + StartPos: 732, EndPos: 736, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 733, + StartPos: 732, EndPos: 736, }, Value: "var", @@ -2041,7 +2040,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 738, + StartPos: 737, EndPos: 777, }, Value: "1234567890123456789012345678901234567890", @@ -2054,14 +2053,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 784, + StartPos: 783, EndPos: 800, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 784, + StartPos: 783, EndPos: 799, }, Parts: []node.Node{ @@ -2069,7 +2068,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 785, + StartPos: 784, EndPos: 789, }, Value: "test ", @@ -2078,21 +2077,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 790, + StartPos: 789, EndPos: 798, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 790, + StartPos: 789, EndPos: 793, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 790, + StartPos: 789, EndPos: 793, }, Value: "var", @@ -2102,7 +2101,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 795, + StartPos: 794, EndPos: 797, }, Value: "bar", @@ -2115,14 +2114,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 804, + StartPos: 803, EndPos: 821, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 804, + StartPos: 803, EndPos: 820, }, Parts: []node.Node{ @@ -2130,7 +2129,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 805, + StartPos: 804, EndPos: 809, }, Value: "test ", @@ -2139,21 +2138,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 810, + StartPos: 809, EndPos: 819, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 810, + StartPos: 809, EndPos: 813, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 810, + StartPos: 809, EndPos: 813, }, Value: "var", @@ -2163,14 +2162,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 815, + StartPos: 814, EndPos: 818, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 815, + StartPos: 814, EndPos: 818, }, Value: "bar", @@ -2184,14 +2183,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 825, + StartPos: 824, EndPos: 836, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 825, + StartPos: 824, EndPos: 835, }, Parts: []node.Node{ @@ -2199,14 +2198,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 826, + StartPos: 825, EndPos: 829, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 826, + StartPos: 825, EndPos: 829, }, Value: "foo", @@ -2216,7 +2215,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 830, + StartPos: 829, EndPos: 830, }, Value: " ", @@ -2225,14 +2224,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 831, + StartPos: 830, EndPos: 834, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 831, + StartPos: 830, EndPos: 834, }, Value: "bar", @@ -2245,14 +2244,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 840, + StartPos: 839, EndPos: 858, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 840, + StartPos: 839, EndPos: 857, }, Parts: []node.Node{ @@ -2260,7 +2259,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 841, + StartPos: 840, EndPos: 845, }, Value: "test ", @@ -2269,21 +2268,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 846, + StartPos: 845, EndPos: 854, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 846, + StartPos: 845, EndPos: 849, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 846, + StartPos: 845, EndPos: 849, }, Value: "foo", @@ -2293,7 +2292,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 852, + StartPos: 851, EndPos: 854, }, Value: "bar", @@ -2303,7 +2302,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 855, + StartPos: 854, EndPos: 856, }, Value: "()", @@ -2315,14 +2314,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 862, + StartPos: 861, EndPos: 875, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 862, + StartPos: 861, EndPos: 874, }, Parts: []node.Node{ @@ -2330,7 +2329,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 863, + StartPos: 862, EndPos: 867, }, Value: "test ", @@ -2339,14 +2338,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 868, + StartPos: 867, EndPos: 873, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 870, + StartPos: 869, EndPos: 872, }, Value: "foo", @@ -2359,14 +2358,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 879, + StartPos: 878, EndPos: 895, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 879, + StartPos: 878, EndPos: 894, }, Parts: []node.Node{ @@ -2374,7 +2373,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 880, + StartPos: 879, EndPos: 884, }, Value: "test ", @@ -2383,21 +2382,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 885, + StartPos: 884, EndPos: 893, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 887, + StartPos: 886, EndPos: 889, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 887, + StartPos: 886, EndPos: 889, }, Value: "foo", @@ -2407,7 +2406,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 38, EndLine: 38, - StartPos: 891, + StartPos: 890, EndPos: 891, }, Value: "0", @@ -2420,14 +2419,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 899, + StartPos: 898, EndPos: 919, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 899, + StartPos: 898, EndPos: 918, }, Parts: []node.Node{ @@ -2435,7 +2434,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 900, + StartPos: 899, EndPos: 904, }, Value: "test ", @@ -2444,21 +2443,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 906, + StartPos: 905, EndPos: 916, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 906, + StartPos: 905, EndPos: 909, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 906, + StartPos: 905, EndPos: 909, }, Value: "foo", @@ -2468,7 +2467,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 912, + StartPos: 911, EndPos: 914, }, Value: "bar", @@ -2477,7 +2476,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 915, + StartPos: 914, EndPos: 916, }, }, @@ -2489,21 +2488,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 41, EndLine: 42, - StartPos: 924, + StartPos: 923, EndPos: 941, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 928, + StartPos: 927, EndPos: 929, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 928, + StartPos: 927, EndPos: 929, }, Value: "a", @@ -2523,21 +2522,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 43, EndLine: 45, - StartPos: 945, + StartPos: 944, EndPos: 977, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 949, + StartPos: 948, EndPos: 950, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 949, + StartPos: 948, EndPos: 950, }, Value: "a", @@ -2557,21 +2556,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 44, EndLine: -1, - StartPos: 957, + StartPos: 956, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 965, + StartPos: 964, EndPos: 966, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 965, + StartPos: 964, EndPos: 966, }, Value: "b", @@ -2593,21 +2592,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 46, EndLine: 48, - StartPos: 981, + StartPos: 980, EndPos: 1006, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 985, + StartPos: 984, EndPos: 986, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 985, + StartPos: 984, EndPos: 986, }, Value: "a", @@ -2626,7 +2625,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: -1, - StartPos: 993, + StartPos: 992, EndPos: -1, }, Stmt: &stmt.StmtList{ @@ -2644,21 +2643,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 49, EndLine: 53, - StartPos: 1010, + StartPos: 1009, EndPos: 1065, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1014, + StartPos: 1013, EndPos: 1015, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1014, + StartPos: 1013, EndPos: 1015, }, Value: "a", @@ -2678,21 +2677,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 50, EndLine: -1, - StartPos: 1022, + StartPos: 1021, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1030, + StartPos: 1029, EndPos: 1031, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1030, + StartPos: 1029, EndPos: 1031, }, Value: "b", @@ -2712,21 +2711,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: -1, - StartPos: 1037, + StartPos: 1036, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1045, + StartPos: 1044, EndPos: 1046, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1045, + StartPos: 1044, EndPos: 1046, }, Value: "c", @@ -2747,7 +2746,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 52, EndLine: -1, - StartPos: 1052, + StartPos: 1051, EndPos: -1, }, Stmt: &stmt.StmtList{ @@ -2765,14 +2764,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1070, + StartPos: 1069, EndPos: 1089, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1077, + StartPos: 1076, EndPos: 1077, }, Value: "1", @@ -2781,7 +2780,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1080, + StartPos: 1079, EndPos: 1089, }, Stmts: []node.Node{ @@ -2789,7 +2788,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1082, + StartPos: 1081, EndPos: 1087, }, }, @@ -2800,14 +2799,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1093, + StartPos: 1092, EndPos: 1114, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1100, + StartPos: 1099, EndPos: 1100, }, Value: "1", @@ -2816,7 +2815,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1103, + StartPos: 1102, EndPos: 1114, }, Stmts: []node.Node{ @@ -2824,14 +2823,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1105, + StartPos: 1104, EndPos: 1112, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1111, + StartPos: 1110, EndPos: 1111, }, Value: "2", @@ -2844,14 +2843,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 57, EndLine: 57, - StartPos: 1118, + StartPos: 1117, EndPos: 1148, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 57, EndLine: 57, - StartPos: 1125, + StartPos: 1124, EndPos: 1125, }, Value: "1", @@ -2860,7 +2859,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 57, EndLine: 57, - StartPos: 1130, + StartPos: 1129, EndPos: 1138, }, Stmts: []node.Node{ @@ -2868,14 +2867,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 57, EndLine: 57, - StartPos: 1130, + StartPos: 1129, EndPos: 1138, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 57, EndLine: 57, - StartPos: 1136, + StartPos: 1135, EndPos: 1136, }, Value: "3", @@ -2888,7 +2887,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1152, + StartPos: 1151, EndPos: 1187, }, PhpDocComment: "", @@ -2896,7 +2895,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1158, + StartPos: 1157, EndPos: 1160, }, Value: "foo", @@ -2906,7 +2905,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1163, + StartPos: 1162, EndPos: 1185, }, Consts: []node.Node{ @@ -2914,7 +2913,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1169, + StartPos: 1168, EndPos: 1175, }, PhpDocComment: "", @@ -2922,7 +2921,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1169, + StartPos: 1168, EndPos: 1171, }, Value: "FOO", @@ -2931,7 +2930,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1175, + StartPos: 1174, EndPos: 1175, }, Value: "1", @@ -2941,7 +2940,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1178, + StartPos: 1177, EndPos: 1184, }, PhpDocComment: "", @@ -2949,7 +2948,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1178, + StartPos: 1177, EndPos: 1180, }, Value: "BAR", @@ -2958,7 +2957,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1184, + StartPos: 1183, EndPos: 1184, }, Value: "2", @@ -2972,7 +2971,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: 59, - StartPos: 1191, + StartPos: 1190, EndPos: 1220, }, PhpDocComment: "", @@ -2980,7 +2979,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: 59, - StartPos: 1197, + StartPos: 1196, EndPos: 1199, }, Value: "foo", @@ -2990,7 +2989,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: 59, - StartPos: 1202, + StartPos: 1201, EndPos: 1218, }, ReturnsRef: false, @@ -2999,7 +2998,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: 59, - StartPos: 1211, + StartPos: 1210, EndPos: 1213, }, Value: "bar", @@ -3008,7 +3007,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: 59, - StartPos: 1217, + StartPos: 1216, EndPos: 1218, }, Stmts: []node.Node{}, @@ -3020,7 +3019,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1224, + StartPos: 1223, EndPos: 1268, }, PhpDocComment: "", @@ -3028,7 +3027,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1230, + StartPos: 1229, EndPos: 1232, }, Value: "foo", @@ -3038,7 +3037,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1235, + StartPos: 1234, EndPos: 1266, }, ReturnsRef: true, @@ -3047,7 +3046,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1259, + StartPos: 1258, EndPos: 1261, }, Value: "bar", @@ -3057,7 +3056,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1235, + StartPos: 1234, EndPos: 1240, }, Value: "public", @@ -3066,7 +3065,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1242, + StartPos: 1241, EndPos: 1247, }, Value: "static", @@ -3076,7 +3075,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 60, EndLine: 60, - StartPos: 1265, + StartPos: 1264, EndPos: 1266, }, Stmts: []node.Node{}, @@ -3088,7 +3087,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1272, + StartPos: 1271, EndPos: 1343, }, PhpDocComment: "", @@ -3096,7 +3095,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1278, + StartPos: 1277, EndPos: 1280, }, Value: "foo", @@ -3106,7 +3105,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1283, + StartPos: 1282, EndPos: 1313, }, ReturnsRef: false, @@ -3115,7 +3114,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1306, + StartPos: 1305, EndPos: 1308, }, Value: "bar", @@ -3125,7 +3124,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1283, + StartPos: 1282, EndPos: 1287, }, Value: "final", @@ -3134,7 +3133,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1289, + StartPos: 1288, EndPos: 1295, }, Value: "private", @@ -3144,7 +3143,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1312, + StartPos: 1311, EndPos: 1313, }, Stmts: []node.Node{}, @@ -3154,7 +3153,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1315, + StartPos: 1314, EndPos: 1341, }, ReturnsRef: false, @@ -3163,7 +3162,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1334, + StartPos: 1333, EndPos: 1336, }, Value: "baz", @@ -3173,7 +3172,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1315, + StartPos: 1314, EndPos: 1323, }, Value: "protected", @@ -3183,7 +3182,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1340, + StartPos: 1339, EndPos: 1341, }, Stmts: []node.Node{}, @@ -3195,7 +3194,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1347, + StartPos: 1346, EndPos: 1399, }, PhpDocComment: "", @@ -3203,7 +3202,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1362, + StartPos: 1361, EndPos: 1364, }, Value: "foo", @@ -3213,7 +3212,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1347, + StartPos: 1346, EndPos: 1354, }, Value: "abstract", @@ -3224,7 +3223,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1367, + StartPos: 1366, EndPos: 1397, }, ReturnsRef: false, @@ -3233,7 +3232,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1392, + StartPos: 1391, EndPos: 1394, }, Value: "bar", @@ -3243,7 +3242,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1367, + StartPos: 1366, EndPos: 1374, }, Value: "abstract", @@ -3252,7 +3251,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1376, + StartPos: 1375, EndPos: 1381, }, Value: "public", @@ -3262,7 +3261,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1397, + StartPos: 1396, EndPos: 1397, }, }, @@ -3273,7 +3272,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1403, + StartPos: 1402, EndPos: 1433, }, PhpDocComment: "", @@ -3281,7 +3280,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1415, + StartPos: 1414, EndPos: 1417, }, Value: "foo", @@ -3291,7 +3290,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1403, + StartPos: 1402, EndPos: 1407, }, Value: "final", @@ -3301,14 +3300,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1419, + StartPos: 1418, EndPos: 1429, }, ClassName: &name.Name{ Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1427, + StartPos: 1426, EndPos: 1429, }, Parts: []node.Node{ @@ -3316,7 +3315,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1427, + StartPos: 1426, EndPos: 1429, }, Value: "bar", @@ -3330,7 +3329,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1437, + StartPos: 1436, EndPos: 1470, }, PhpDocComment: "", @@ -3338,7 +3337,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1449, + StartPos: 1448, EndPos: 1451, }, Value: "foo", @@ -3348,7 +3347,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1437, + StartPos: 1436, EndPos: 1441, }, Value: "final", @@ -3358,7 +3357,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1453, + StartPos: 1452, EndPos: 1466, }, InterfaceNames: []node.Node{ @@ -3366,7 +3365,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1464, + StartPos: 1463, EndPos: 1466, }, Parts: []node.Node{ @@ -3374,7 +3373,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: 64, - StartPos: 1464, + StartPos: 1463, EndPos: 1466, }, Value: "bar", @@ -3389,7 +3388,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1474, + StartPos: 1473, EndPos: 1512, }, PhpDocComment: "", @@ -3397,7 +3396,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1486, + StartPos: 1485, EndPos: 1488, }, Value: "foo", @@ -3407,7 +3406,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1474, + StartPos: 1473, EndPos: 1478, }, Value: "final", @@ -3417,7 +3416,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1490, + StartPos: 1489, EndPos: 1508, }, InterfaceNames: []node.Node{ @@ -3425,7 +3424,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1501, + StartPos: 1500, EndPos: 1503, }, Parts: []node.Node{ @@ -3433,7 +3432,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1501, + StartPos: 1500, EndPos: 1503, }, Value: "bar", @@ -3444,7 +3443,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1506, + StartPos: 1505, EndPos: 1508, }, Parts: []node.Node{ @@ -3452,7 +3451,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 65, EndLine: 65, - StartPos: 1506, + StartPos: 1505, EndPos: 1508, }, Value: "baz", @@ -3467,7 +3466,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1517, + StartPos: 1516, EndPos: 1539, }, Consts: []node.Node{ @@ -3475,7 +3474,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1523, + StartPos: 1522, EndPos: 1529, }, PhpDocComment: "", @@ -3483,7 +3482,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1523, + StartPos: 1522, EndPos: 1525, }, Value: "FOO", @@ -3492,7 +3491,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1529, + StartPos: 1528, EndPos: 1529, }, Value: "1", @@ -3502,7 +3501,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1532, + StartPos: 1531, EndPos: 1538, }, PhpDocComment: "", @@ -3510,7 +3509,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1532, + StartPos: 1531, EndPos: 1534, }, Value: "BAR", @@ -3519,7 +3518,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1538, + StartPos: 1537, EndPos: 1538, }, Value: "2", @@ -3531,14 +3530,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1543, + StartPos: 1542, EndPos: 1565, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1550, + StartPos: 1549, EndPos: 1550, }, Value: "1", @@ -3547,7 +3546,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1553, + StartPos: 1552, EndPos: 1565, }, Stmts: []node.Node{ @@ -3555,7 +3554,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1555, + StartPos: 1554, EndPos: 1563, }, }, @@ -3566,14 +3565,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1569, + StartPos: 1568, EndPos: 1593, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1576, + StartPos: 1575, EndPos: 1576, }, Value: "1", @@ -3582,7 +3581,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1579, + StartPos: 1578, EndPos: 1593, }, Stmts: []node.Node{ @@ -3590,14 +3589,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1581, + StartPos: 1580, EndPos: 1591, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1590, + StartPos: 1589, EndPos: 1590, }, Value: "2", @@ -3610,14 +3609,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1597, + StartPos: 1596, EndPos: 1622, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1604, + StartPos: 1603, EndPos: 1604, }, Value: "1", @@ -3626,7 +3625,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1607, + StartPos: 1606, EndPos: 1622, }, Stmts: []node.Node{ @@ -3634,14 +3633,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1609, + StartPos: 1608, EndPos: 1620, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1618, + StartPos: 1617, EndPos: 1618, }, Value: "3", @@ -3654,15 +3653,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1626, + StartPos: 1625, EndPos: 1642, }, + Alt: false, Consts: []node.Node{ &stmt.Constant{ Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1634, + StartPos: 1633, EndPos: 1640, }, PhpDocComment: "", @@ -3670,7 +3670,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1634, + StartPos: 1633, EndPos: 1638, }, Value: "ticks", @@ -3679,7 +3679,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1640, + StartPos: 1639, EndPos: 1640, }, Value: "1", @@ -3690,7 +3690,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1642, + StartPos: 1641, EndPos: 1642, }, }, @@ -3699,15 +3699,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1646, + StartPos: 1645, EndPos: 1680, }, + Alt: false, Consts: []node.Node{ &stmt.Constant{ Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1654, + StartPos: 1653, EndPos: 1660, }, PhpDocComment: "", @@ -3715,7 +3716,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1654, + StartPos: 1653, EndPos: 1658, }, Value: "ticks", @@ -3724,7 +3725,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1660, + StartPos: 1659, EndPos: 1660, }, Value: "1", @@ -3734,7 +3735,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1663, + StartPos: 1662, EndPos: 1676, }, PhpDocComment: "", @@ -3742,7 +3743,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1663, + StartPos: 1662, EndPos: 1674, }, Value: "strict_types", @@ -3751,7 +3752,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1676, + StartPos: 1675, EndPos: 1676, }, Value: "1", @@ -3762,7 +3763,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1679, + StartPos: 1678, EndPos: 1680, }, Stmts: []node.Node{}, @@ -3772,7 +3773,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1684, + StartPos: 1683, EndPos: 1712, }, Alt: true, @@ -3781,7 +3782,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1692, + StartPos: 1691, EndPos: 1698, }, PhpDocComment: "", @@ -3789,7 +3790,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1692, + StartPos: 1691, EndPos: 1696, }, Value: "ticks", @@ -3798,7 +3799,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1698, + StartPos: 1697, EndPos: 1698, }, Value: "1", @@ -3819,14 +3820,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1716, + StartPos: 1715, EndPos: 1730, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1719, + StartPos: 1718, EndPos: 1720, }, Stmts: []node.Node{}, @@ -3835,7 +3836,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1728, + StartPos: 1727, EndPos: 1728, }, Value: "1", @@ -3845,7 +3846,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1734, + StartPos: 1733, EndPos: 1744, }, Exprs: []node.Node{ @@ -3853,14 +3854,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1739, + StartPos: 1738, EndPos: 1740, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1739, + StartPos: 1738, EndPos: 1740, }, Value: "a", @@ -3870,7 +3871,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1743, + StartPos: 1742, EndPos: 1743, }, Value: "1", @@ -3881,7 +3882,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1748, + StartPos: 1747, EndPos: 1756, }, Exprs: []node.Node{ @@ -3889,14 +3890,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1753, + StartPos: 1752, EndPos: 1754, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1753, + StartPos: 1752, EndPos: 1754, }, Value: "a", @@ -3908,7 +3909,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1760, + StartPos: 1759, EndPos: 1794, }, Init: []node.Node{ @@ -3916,21 +3917,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1764, + StartPos: 1763, EndPos: 1769, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1764, + StartPos: 1763, EndPos: 1765, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1764, + StartPos: 1763, EndPos: 1765, }, Value: "i", @@ -3940,7 +3941,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1769, + StartPos: 1768, EndPos: 1769, }, Value: "0", @@ -3952,21 +3953,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1772, + StartPos: 1771, EndPos: 1778, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1772, + StartPos: 1771, EndPos: 1773, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1772, + StartPos: 1771, EndPos: 1773, }, Value: "i", @@ -3976,7 +3977,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1777, + StartPos: 1776, EndPos: 1778, }, Value: "10", @@ -3988,21 +3989,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1781, + StartPos: 1780, EndPos: 1784, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1781, + StartPos: 1780, EndPos: 1782, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1781, + StartPos: 1780, EndPos: 1782, }, Value: "i", @@ -4013,21 +4014,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1787, + StartPos: 1786, EndPos: 1790, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1787, + StartPos: 1786, EndPos: 1788, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1787, + StartPos: 1786, EndPos: 1788, }, Value: "i", @@ -4039,7 +4040,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1793, + StartPos: 1792, EndPos: 1794, }, Stmts: []node.Node{}, @@ -4049,7 +4050,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1798, + StartPos: 1797, EndPos: 1827, }, Cond: []node.Node{ @@ -4057,21 +4058,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1804, + StartPos: 1803, EndPos: 1810, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1804, + StartPos: 1803, EndPos: 1805, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1804, + StartPos: 1803, EndPos: 1805, }, Value: "i", @@ -4081,7 +4082,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1809, + StartPos: 1808, EndPos: 1810, }, Value: "10", @@ -4093,21 +4094,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1813, + StartPos: 1812, EndPos: 1816, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1813, + StartPos: 1812, EndPos: 1814, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1813, + StartPos: 1812, EndPos: 1814, }, Value: "i", @@ -4129,21 +4130,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1831, + StartPos: 1830, EndPos: 1851, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1840, + StartPos: 1839, EndPos: 1841, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1840, + StartPos: 1839, EndPos: 1841, }, Value: "a", @@ -4153,14 +4154,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1846, + StartPos: 1845, EndPos: 1847, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1846, + StartPos: 1845, EndPos: 1847, }, Value: "v", @@ -4170,7 +4171,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1850, + StartPos: 1849, EndPos: 1851, }, Stmts: []node.Node{}, @@ -4180,14 +4181,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 80, EndLine: 80, - StartPos: 1855, + StartPos: 1854, EndPos: 1875, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 80, EndLine: 80, - StartPos: 1864, + StartPos: 1863, EndPos: 1865, }, Items: []node.Node{}, @@ -4196,14 +4197,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 80, EndLine: 80, - StartPos: 1870, + StartPos: 1869, EndPos: 1871, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 80, EndLine: 80, - StartPos: 1870, + StartPos: 1869, EndPos: 1871, }, Value: "v", @@ -4213,7 +4214,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 80, EndLine: 80, - StartPos: 1874, + StartPos: 1873, EndPos: 1875, }, Stmts: []node.Node{}, @@ -4223,21 +4224,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1879, + StartPos: 1878, EndPos: 1910, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1888, + StartPos: 1887, EndPos: 1889, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1888, + StartPos: 1887, EndPos: 1889, }, Value: "a", @@ -4247,14 +4248,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1894, + StartPos: 1893, EndPos: 1895, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1894, + StartPos: 1893, EndPos: 1895, }, Value: "v", @@ -4274,21 +4275,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1914, + StartPos: 1913, EndPos: 1940, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1923, + StartPos: 1922, EndPos: 1924, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1923, + StartPos: 1922, EndPos: 1924, }, Value: "a", @@ -4298,14 +4299,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1929, + StartPos: 1928, EndPos: 1930, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1929, + StartPos: 1928, EndPos: 1930, }, Value: "k", @@ -4315,14 +4316,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1935, + StartPos: 1934, EndPos: 1936, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1935, + StartPos: 1934, EndPos: 1936, }, Value: "v", @@ -4332,7 +4333,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1939, + StartPos: 1938, EndPos: 1940, }, Stmts: []node.Node{}, @@ -4342,14 +4343,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1944, + StartPos: 1943, EndPos: 1970, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1953, + StartPos: 1952, EndPos: 1954, }, Items: []node.Node{}, @@ -4358,14 +4359,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1959, + StartPos: 1958, EndPos: 1960, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1959, + StartPos: 1958, EndPos: 1960, }, Value: "k", @@ -4375,14 +4376,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1965, + StartPos: 1964, EndPos: 1966, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1965, + StartPos: 1964, EndPos: 1966, }, Value: "v", @@ -4392,7 +4393,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1969, + StartPos: 1968, EndPos: 1970, }, Stmts: []node.Node{}, @@ -4402,21 +4403,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1974, + StartPos: 1973, EndPos: 2001, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1983, + StartPos: 1982, EndPos: 1984, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1983, + StartPos: 1982, EndPos: 1984, }, Value: "a", @@ -4426,14 +4427,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1989, + StartPos: 1988, EndPos: 1990, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1989, + StartPos: 1988, EndPos: 1990, }, Value: "k", @@ -4443,21 +4444,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1995, + StartPos: 1994, EndPos: 1997, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1996, + StartPos: 1995, EndPos: 1997, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1996, + StartPos: 1995, EndPos: 1997, }, Value: "v", @@ -4468,7 +4469,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 2000, + StartPos: 1999, EndPos: 2001, }, Stmts: []node.Node{}, @@ -4478,21 +4479,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2005, + StartPos: 2004, EndPos: 2037, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2014, + StartPos: 2013, EndPos: 2015, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2014, + StartPos: 2013, EndPos: 2015, }, Value: "a", @@ -4502,14 +4503,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2020, + StartPos: 2019, EndPos: 2021, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2020, + StartPos: 2019, EndPos: 2021, }, Value: "k", @@ -4519,7 +4520,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2026, + StartPos: 2025, EndPos: 2033, }, Items: []node.Node{ @@ -4527,21 +4528,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2031, + StartPos: 2030, EndPos: 2032, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2031, + StartPos: 2030, EndPos: 2032, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2031, + StartPos: 2030, EndPos: 2032, }, Value: "v", @@ -4554,7 +4555,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 2036, + StartPos: 2035, EndPos: 2037, }, Stmts: []node.Node{}, @@ -4564,7 +4565,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 2041, + StartPos: 2040, EndPos: 2057, }, ReturnsRef: false, @@ -4573,7 +4574,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 2050, + StartPos: 2049, EndPos: 2052, }, Value: "foo", @@ -4584,16 +4585,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 88, EndLine: 92, - StartPos: 2062, + StartPos: 2061, EndPos: 2132, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 88, EndLine: 88, - StartPos: 2071, + StartPos: 2070, EndPos: 2073, }, Value: "foo", @@ -4603,16 +4604,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2082, + StartPos: 2081, EndPos: 2098, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2091, + StartPos: 2090, EndPos: 2093, }, Value: "bar", @@ -4623,7 +4624,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 90, EndLine: 90, - StartPos: 2103, + StartPos: 2102, EndPos: 2114, }, PhpDocComment: "", @@ -4631,7 +4632,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 90, EndLine: 90, - StartPos: 2109, + StartPos: 2108, EndPos: 2111, }, Value: "Baz", @@ -4642,21 +4643,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2119, + StartPos: 2118, EndPos: 2128, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2126, + StartPos: 2125, EndPos: 2127, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2126, + StartPos: 2125, EndPos: 2127, }, Value: "a", @@ -4669,7 +4670,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2139, + StartPos: 2138, EndPos: 2183, }, ReturnsRef: false, @@ -4678,7 +4679,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2148, + StartPos: 2147, EndPos: 2150, }, Value: "foo", @@ -4688,16 +4689,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2152, + StartPos: 2151, EndPos: 2159, }, - ByRef: false, Variadic: false, + ByRef: false, VariableType: &node.Identifier{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2152, + StartPos: 2151, EndPos: 2156, }, Value: "array", @@ -4706,14 +4707,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2158, + StartPos: 2157, EndPos: 2159, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2158, + StartPos: 2157, EndPos: 2159, }, Value: "a", @@ -4724,7 +4725,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2162, + StartPos: 2161, EndPos: 2172, }, ByRef: false, @@ -4733,7 +4734,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2162, + StartPos: 2161, EndPos: 2169, }, Value: "callable", @@ -4742,14 +4743,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2171, + StartPos: 2170, EndPos: 2172, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2171, + StartPos: 2170, EndPos: 2172, }, Value: "b", @@ -4762,7 +4763,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2176, + StartPos: 2175, EndPos: 2182, }, }, @@ -4772,7 +4773,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2187, + StartPos: 2186, EndPos: 2213, }, ReturnsRef: true, @@ -4781,7 +4782,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2197, + StartPos: 2196, EndPos: 2199, }, Value: "foo", @@ -4791,14 +4792,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2204, + StartPos: 2203, EndPos: 2212, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2211, + StartPos: 2210, EndPos: 2211, }, Value: "1", @@ -4810,16 +4811,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2217, + StartPos: 2216, EndPos: 2234, }, - PhpDocComment: "", ReturnsRef: true, + PhpDocComment: "", FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2227, + StartPos: 2226, EndPos: 2229, }, Value: "foo", @@ -4830,7 +4831,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2238, + StartPos: 2237, EndPos: 2266, }, Vars: []node.Node{ @@ -4838,14 +4839,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2245, + StartPos: 2244, EndPos: 2246, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2245, + StartPos: 2244, EndPos: 2246, }, Value: "a", @@ -4855,14 +4856,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2249, + StartPos: 2248, EndPos: 2250, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2249, + StartPos: 2248, EndPos: 2250, }, Value: "b", @@ -4872,21 +4873,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2253, + StartPos: 2252, EndPos: 2255, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2254, + StartPos: 2253, EndPos: 2255, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2254, + StartPos: 2253, EndPos: 2255, }, Value: "c", @@ -4897,21 +4898,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2258, + StartPos: 2257, EndPos: 2265, }, VarName: &expr.FunctionCall{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2260, + StartPos: 2259, EndPos: 2264, }, Function: &name.Name{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2260, + StartPos: 2259, EndPos: 2262, }, Parts: []node.Node{ @@ -4919,7 +4920,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2260, + StartPos: 2259, EndPos: 2262, }, Value: "foo", @@ -4930,7 +4931,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2263, + StartPos: 2262, EndPos: 2264, }, }, @@ -4942,14 +4943,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2270, + StartPos: 2269, EndPos: 2271, }, LabelName: &node.Identifier{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2270, + StartPos: 2269, EndPos: 2270, }, Value: "a", @@ -4959,14 +4960,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 99, EndLine: 99, - StartPos: 2276, + StartPos: 2275, EndPos: 2282, }, Label: &node.Identifier{ Position: &position.Position{ StartLine: 99, EndLine: 99, - StartPos: 2281, + StartPos: 2280, EndPos: 2281, }, Value: "a", @@ -4976,21 +4977,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2286, + StartPos: 2285, EndPos: 2295, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2290, + StartPos: 2289, EndPos: 2291, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2290, + StartPos: 2289, EndPos: 2291, }, Value: "a", @@ -5000,7 +5001,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2294, + StartPos: 2293, EndPos: 2295, }, Stmts: []node.Node{}, @@ -5010,21 +5011,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2299, + StartPos: 2298, EndPos: 2323, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2303, + StartPos: 2302, EndPos: 2304, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2303, + StartPos: 2302, EndPos: 2304, }, Value: "a", @@ -5034,7 +5035,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2307, + StartPos: 2306, EndPos: 2308, }, Stmts: []node.Node{}, @@ -5044,21 +5045,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2310, + StartPos: 2309, EndPos: 2323, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2318, + StartPos: 2317, EndPos: 2319, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2318, + StartPos: 2317, EndPos: 2319, }, Value: "b", @@ -5068,7 +5069,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2322, + StartPos: 2321, EndPos: 2323, }, Stmts: []node.Node{}, @@ -5080,21 +5081,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2327, + StartPos: 2326, EndPos: 2344, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2331, + StartPos: 2330, EndPos: 2332, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2331, + StartPos: 2330, EndPos: 2332, }, Value: "a", @@ -5104,7 +5105,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2335, + StartPos: 2334, EndPos: 2336, }, Stmts: []node.Node{}, @@ -5113,14 +5114,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2338, + StartPos: 2337, EndPos: 2344, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2343, + StartPos: 2342, EndPos: 2344, }, Stmts: []node.Node{}, @@ -5131,21 +5132,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2348, + StartPos: 2347, EndPos: 2395, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2352, + StartPos: 2351, EndPos: 2353, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2352, + StartPos: 2351, EndPos: 2353, }, Value: "a", @@ -5155,7 +5156,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2356, + StartPos: 2355, EndPos: 2357, }, Stmts: []node.Node{}, @@ -5165,21 +5166,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2359, + StartPos: 2358, EndPos: 2372, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2367, + StartPos: 2366, EndPos: 2368, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2367, + StartPos: 2366, EndPos: 2368, }, Value: "b", @@ -5189,7 +5190,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2371, + StartPos: 2370, EndPos: 2372, }, Stmts: []node.Node{}, @@ -5199,21 +5200,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2374, + StartPos: 2373, EndPos: 2387, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2382, + StartPos: 2381, EndPos: 2383, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2382, + StartPos: 2381, EndPos: 2383, }, Value: "c", @@ -5223,7 +5224,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2386, + StartPos: 2385, EndPos: 2387, }, Stmts: []node.Node{}, @@ -5234,14 +5235,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2389, + StartPos: 2388, EndPos: 2395, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2394, + StartPos: 2393, EndPos: 2395, }, Stmts: []node.Node{}, @@ -5252,21 +5253,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2399, + StartPos: 2398, EndPos: 2447, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2403, + StartPos: 2402, EndPos: 2404, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2403, + StartPos: 2402, EndPos: 2404, }, Value: "a", @@ -5276,7 +5277,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2407, + StartPos: 2406, EndPos: 2408, }, Stmts: []node.Node{}, @@ -5286,21 +5287,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2410, + StartPos: 2409, EndPos: 2423, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2418, + StartPos: 2417, EndPos: 2419, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2418, + StartPos: 2417, EndPos: 2419, }, Value: "b", @@ -5310,7 +5311,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2422, + StartPos: 2421, EndPos: 2423, }, Stmts: []node.Node{}, @@ -5321,28 +5322,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2425, + StartPos: 2424, EndPos: 2447, }, Stmt: &stmt.If{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2430, + StartPos: 2429, EndPos: 2447, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2434, + StartPos: 2433, EndPos: 2435, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2434, + StartPos: 2433, EndPos: 2435, }, Value: "c", @@ -5352,7 +5353,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2438, + StartPos: 2437, EndPos: 2439, }, Stmts: []node.Node{}, @@ -5361,14 +5362,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2441, + StartPos: 2440, EndPos: 2447, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2446, + StartPos: 2445, EndPos: 2447, }, Stmts: []node.Node{}, @@ -5381,7 +5382,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 105, EndLine: 105, - StartPos: 2451, + StartPos: 2450, EndPos: 2452, }, }, @@ -5389,16 +5390,16 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 105, EndLine: 105, - StartPos: 2454, + StartPos: 2452, EndPos: 2465, }, - Value: "
", + Value: "
", }, &stmt.Interface{ Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2471, + StartPos: 2470, EndPos: 2486, }, PhpDocComment: "", @@ -5406,7 +5407,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2481, + StartPos: 2480, EndPos: 2483, }, Value: "Foo", @@ -5417,7 +5418,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2490, + StartPos: 2489, EndPos: 2517, }, PhpDocComment: "", @@ -5425,7 +5426,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2500, + StartPos: 2499, EndPos: 2502, }, Value: "Foo", @@ -5434,7 +5435,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2504, + StartPos: 2503, EndPos: 2514, }, InterfaceNames: []node.Node{ @@ -5442,7 +5443,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2512, + StartPos: 2511, EndPos: 2514, }, Parts: []node.Node{ @@ -5450,7 +5451,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2512, + StartPos: 2511, EndPos: 2514, }, Value: "Bar", @@ -5465,7 +5466,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2521, + StartPos: 2520, EndPos: 2553, }, PhpDocComment: "", @@ -5473,7 +5474,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2531, + StartPos: 2530, EndPos: 2533, }, Value: "Foo", @@ -5482,7 +5483,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2535, + StartPos: 2534, EndPos: 2550, }, InterfaceNames: []node.Node{ @@ -5490,7 +5491,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2543, + StartPos: 2542, EndPos: 2545, }, Parts: []node.Node{ @@ -5498,7 +5499,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2543, + StartPos: 2542, EndPos: 2545, }, Value: "Bar", @@ -5509,7 +5510,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2548, + StartPos: 2547, EndPos: 2550, }, Parts: []node.Node{ @@ -5517,7 +5518,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2548, + StartPos: 2547, EndPos: 2550, }, Value: "Baz", @@ -5532,14 +5533,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2557, + StartPos: 2556, EndPos: 2570, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2567, + StartPos: 2566, EndPos: 2569, }, Parts: []node.Node{ @@ -5547,7 +5548,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2567, + StartPos: 2566, EndPos: 2569, }, Value: "Foo", @@ -5559,14 +5560,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2574, + StartPos: 2573, EndPos: 2593, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2584, + StartPos: 2583, EndPos: 2590, }, Parts: []node.Node{ @@ -5574,7 +5575,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2584, + StartPos: 2583, EndPos: 2586, }, Value: "Foo", @@ -5583,7 +5584,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2588, + StartPos: 2587, EndPos: 2590, }, Value: "Bar", @@ -5596,7 +5597,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 111, EndLine: 111, - StartPos: 2597, + StartPos: 2596, EndPos: 2608, }, Stmts: []node.Node{}, @@ -5605,7 +5606,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2612, + StartPos: 2611, EndPos: 2630, }, PhpDocComment: "", @@ -5613,7 +5614,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2618, + StartPos: 2617, EndPos: 2620, }, Value: "foo", @@ -5623,7 +5624,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2623, + StartPos: 2622, EndPos: 2629, }, Modifiers: []node.Node{ @@ -5631,7 +5632,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2623, + StartPos: 2622, EndPos: 2625, }, Value: "var", @@ -5642,7 +5643,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2627, + StartPos: 2626, EndPos: 2628, }, PhpDocComment: "", @@ -5650,14 +5651,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2627, + StartPos: 2626, EndPos: 2628, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2627, + StartPos: 2626, EndPos: 2628, }, Value: "a", @@ -5672,7 +5673,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2634, + StartPos: 2633, EndPos: 2670, }, PhpDocComment: "", @@ -5680,7 +5681,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2640, + StartPos: 2639, EndPos: 2642, }, Value: "foo", @@ -5690,7 +5691,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2645, + StartPos: 2644, EndPos: 2669, }, Modifiers: []node.Node{ @@ -5698,7 +5699,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2645, + StartPos: 2644, EndPos: 2650, }, Value: "public", @@ -5707,7 +5708,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2652, + StartPos: 2651, EndPos: 2657, }, Value: "static", @@ -5718,7 +5719,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2659, + StartPos: 2658, EndPos: 2660, }, PhpDocComment: "", @@ -5726,14 +5727,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2659, + StartPos: 2658, EndPos: 2660, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2659, + StartPos: 2658, EndPos: 2660, }, Value: "a", @@ -5744,7 +5745,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2663, + StartPos: 2662, EndPos: 2668, }, PhpDocComment: "", @@ -5752,14 +5753,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2663, + StartPos: 2662, EndPos: 2664, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2663, + StartPos: 2662, EndPos: 2664, }, Value: "b", @@ -5769,7 +5770,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2668, + StartPos: 2667, EndPos: 2668, }, Value: "1", @@ -5783,7 +5784,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2674, + StartPos: 2673, EndPos: 2710, }, PhpDocComment: "", @@ -5791,7 +5792,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2680, + StartPos: 2679, EndPos: 2682, }, Value: "foo", @@ -5801,7 +5802,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2685, + StartPos: 2684, EndPos: 2709, }, Modifiers: []node.Node{ @@ -5809,7 +5810,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2685, + StartPos: 2684, EndPos: 2690, }, Value: "public", @@ -5818,7 +5819,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2692, + StartPos: 2691, EndPos: 2697, }, Value: "static", @@ -5829,7 +5830,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2699, + StartPos: 2698, EndPos: 2704, }, PhpDocComment: "", @@ -5837,14 +5838,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2699, + StartPos: 2698, EndPos: 2700, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2699, + StartPos: 2698, EndPos: 2700, }, Value: "a", @@ -5854,7 +5855,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2704, + StartPos: 2703, EndPos: 2704, }, Value: "1", @@ -5864,7 +5865,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2707, + StartPos: 2706, EndPos: 2708, }, PhpDocComment: "", @@ -5872,14 +5873,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2707, + StartPos: 2706, EndPos: 2708, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2707, + StartPos: 2706, EndPos: 2708, }, Value: "b", @@ -5894,7 +5895,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2714, + StartPos: 2713, EndPos: 2731, }, Vars: []node.Node{ @@ -5902,21 +5903,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2721, + StartPos: 2720, EndPos: 2722, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2721, + StartPos: 2720, EndPos: 2722, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2721, + StartPos: 2720, EndPos: 2722, }, Value: "a", @@ -5927,21 +5928,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2725, + StartPos: 2724, EndPos: 2730, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2725, + StartPos: 2724, EndPos: 2726, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2725, + StartPos: 2724, EndPos: 2726, }, Value: "b", @@ -5951,7 +5952,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2730, + StartPos: 2729, EndPos: 2730, }, Value: "1", @@ -5963,7 +5964,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2735, + StartPos: 2734, EndPos: 2752, }, Vars: []node.Node{ @@ -5971,21 +5972,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2742, + StartPos: 2741, EndPos: 2747, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2742, + StartPos: 2741, EndPos: 2743, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2742, + StartPos: 2741, EndPos: 2743, }, Value: "a", @@ -5995,7 +5996,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2747, + StartPos: 2746, EndPos: 2747, }, Value: "1", @@ -6005,21 +6006,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2750, + StartPos: 2749, EndPos: 2751, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2750, + StartPos: 2749, EndPos: 2751, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2750, + StartPos: 2749, EndPos: 2751, }, Value: "b", @@ -6032,14 +6033,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 122, - StartPos: 2757, + StartPos: 2756, EndPos: 2815, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2765, + StartPos: 2764, EndPos: 2765, }, Value: "1", @@ -6048,7 +6049,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: -1, - StartPos: 2773, + StartPos: 2772, EndPos: -1, }, Cases: []node.Node{ @@ -6056,14 +6057,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: -1, - StartPos: 2773, + StartPos: 2772, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2778, + StartPos: 2777, EndPos: 2778, }, Value: "1", @@ -6074,7 +6075,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 120, EndLine: -1, - StartPos: 2784, + StartPos: 2783, EndPos: -1, }, Stmts: []node.Node{}, @@ -6083,14 +6084,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 121, EndLine: -1, - StartPos: 2796, + StartPos: 2795, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 121, EndLine: 121, - StartPos: 2801, + StartPos: 2800, EndPos: 2801, }, Value: "2", @@ -6104,14 +6105,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 124, EndLine: 127, - StartPos: 2820, + StartPos: 2819, EndPos: 2867, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 124, EndLine: 124, - StartPos: 2828, + StartPos: 2827, EndPos: 2828, }, Value: "1", @@ -6120,7 +6121,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 125, EndLine: -1, - StartPos: 2837, + StartPos: 2836, EndPos: -1, }, Cases: []node.Node{ @@ -6128,14 +6129,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 125, EndLine: -1, - StartPos: 2837, + StartPos: 2836, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 125, EndLine: 125, - StartPos: 2842, + StartPos: 2841, EndPos: 2842, }, Value: "1", @@ -6146,14 +6147,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 126, EndLine: -1, - StartPos: 2848, + StartPos: 2847, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 126, EndLine: 126, - StartPos: 2853, + StartPos: 2852, EndPos: 2853, }, Value: "2", @@ -6167,14 +6168,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 129, EndLine: 132, - StartPos: 2874, + StartPos: 2873, EndPos: 2925, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 129, EndLine: 129, - StartPos: 2882, + StartPos: 2881, EndPos: 2882, }, Value: "1", @@ -6183,7 +6184,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 129, EndLine: 132, - StartPos: 2885, + StartPos: 2884, EndPos: 2925, }, Cases: []node.Node{ @@ -6191,14 +6192,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 130, EndLine: 130, - StartPos: 2890, + StartPos: 2889, EndPos: 2903, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 130, EndLine: 130, - StartPos: 2895, + StartPos: 2894, EndPos: 2895, }, Value: "1", @@ -6208,7 +6209,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 130, EndLine: 130, - StartPos: 2898, + StartPos: 2897, EndPos: 2903, }, }, @@ -6218,14 +6219,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 131, EndLine: 131, - StartPos: 2908, + StartPos: 2907, EndPos: 2921, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 131, EndLine: 131, - StartPos: 2913, + StartPos: 2912, EndPos: 2913, }, Value: "2", @@ -6235,7 +6236,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 131, EndLine: 131, - StartPos: 2916, + StartPos: 2915, EndPos: 2921, }, }, @@ -6248,14 +6249,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 134, EndLine: 137, - StartPos: 2932, + StartPos: 2931, EndPos: 2984, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 134, EndLine: 134, - StartPos: 2940, + StartPos: 2939, EndPos: 2940, }, Value: "1", @@ -6264,7 +6265,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 134, EndLine: 137, - StartPos: 2943, + StartPos: 2942, EndPos: 2984, }, Cases: []node.Node{ @@ -6272,14 +6273,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 2949, + StartPos: 2948, EndPos: 2962, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 2954, + StartPos: 2953, EndPos: 2954, }, Value: "1", @@ -6289,7 +6290,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 2957, + StartPos: 2956, EndPos: 2962, }, }, @@ -6299,14 +6300,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 136, EndLine: 136, - StartPos: 2967, + StartPos: 2966, EndPos: 2980, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 136, EndLine: 136, - StartPos: 2972, + StartPos: 2971, EndPos: 2972, }, Value: "2", @@ -6316,7 +6317,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 136, EndLine: 136, - StartPos: 2975, + StartPos: 2974, EndPos: 2980, }, }, @@ -6329,21 +6330,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 138, EndLine: 138, - StartPos: 2988, + StartPos: 2987, EndPos: 2996, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 138, EndLine: 138, - StartPos: 2994, + StartPos: 2993, EndPos: 2995, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 138, EndLine: 138, - StartPos: 2994, + StartPos: 2993, EndPos: 2995, }, Value: "e", @@ -6354,7 +6355,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 139, EndLine: 139, - StartPos: 3000, + StartPos: 2999, EndPos: 3011, }, PhpDocComment: "", @@ -6362,7 +6363,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 139, EndLine: 139, - StartPos: 3006, + StartPos: 3005, EndPos: 3008, }, Value: "Foo", @@ -6373,7 +6374,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3015, + StartPos: 3014, EndPos: 3036, }, PhpDocComment: "", @@ -6381,7 +6382,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3021, + StartPos: 3020, EndPos: 3023, }, Value: "Foo", @@ -6391,7 +6392,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3027, + StartPos: 3026, EndPos: 3034, }, Traits: []node.Node{ @@ -6399,7 +6400,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3031, + StartPos: 3030, EndPos: 3033, }, Parts: []node.Node{ @@ -6407,7 +6408,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3031, + StartPos: 3030, EndPos: 3033, }, Value: "Bar", @@ -6419,7 +6420,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3034, + StartPos: 3033, EndPos: 3034, }, }, @@ -6430,7 +6431,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3040, + StartPos: 3039, EndPos: 3068, }, PhpDocComment: "", @@ -6438,7 +6439,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3046, + StartPos: 3045, EndPos: 3048, }, Value: "Foo", @@ -6448,7 +6449,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3052, + StartPos: 3051, EndPos: 3066, }, Traits: []node.Node{ @@ -6456,7 +6457,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3056, + StartPos: 3055, EndPos: 3058, }, Parts: []node.Node{ @@ -6464,7 +6465,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3056, + StartPos: 3055, EndPos: 3058, }, Value: "Bar", @@ -6475,7 +6476,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3061, + StartPos: 3060, EndPos: 3063, }, Parts: []node.Node{ @@ -6483,7 +6484,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3061, + StartPos: 3060, EndPos: 3063, }, Value: "Baz", @@ -6495,7 +6496,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 141, EndLine: 141, - StartPos: 3065, + StartPos: 3064, EndPos: 3066, }, }, @@ -6506,7 +6507,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3072, + StartPos: 3071, EndPos: 3116, }, PhpDocComment: "", @@ -6514,7 +6515,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3078, + StartPos: 3077, EndPos: 3080, }, Value: "Foo", @@ -6524,7 +6525,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3084, + StartPos: 3083, EndPos: 3114, }, Traits: []node.Node{ @@ -6532,7 +6533,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3088, + StartPos: 3087, EndPos: 3090, }, Parts: []node.Node{ @@ -6540,7 +6541,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3088, + StartPos: 3087, EndPos: 3090, }, Value: "Bar", @@ -6551,7 +6552,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3093, + StartPos: 3092, EndPos: 3095, }, Parts: []node.Node{ @@ -6559,7 +6560,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3093, + StartPos: 3092, EndPos: 3095, }, Value: "Baz", @@ -6571,7 +6572,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3097, + StartPos: 3096, EndPos: 3114, }, Adaptations: []node.Node{ @@ -6579,21 +6580,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3099, + StartPos: 3098, EndPos: 3111, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3099, + StartPos: 3098, EndPos: 3101, }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3099, + StartPos: 3098, EndPos: 3101, }, Value: "one", @@ -6603,7 +6604,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 142, EndLine: 142, - StartPos: 3106, + StartPos: 3105, EndPos: 3111, }, Value: "public", @@ -6618,7 +6619,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3120, + StartPos: 3119, EndPos: 3168, }, PhpDocComment: "", @@ -6626,7 +6627,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3126, + StartPos: 3125, EndPos: 3128, }, Value: "Foo", @@ -6636,7 +6637,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3132, + StartPos: 3131, EndPos: 3166, }, Traits: []node.Node{ @@ -6644,7 +6645,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3136, + StartPos: 3135, EndPos: 3138, }, Parts: []node.Node{ @@ -6652,7 +6653,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3136, + StartPos: 3135, EndPos: 3138, }, Value: "Bar", @@ -6663,7 +6664,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3141, + StartPos: 3140, EndPos: 3143, }, Parts: []node.Node{ @@ -6671,7 +6672,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3141, + StartPos: 3140, EndPos: 3143, }, Value: "Baz", @@ -6683,7 +6684,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3145, + StartPos: 3144, EndPos: 3166, }, Adaptations: []node.Node{ @@ -6691,21 +6692,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3147, + StartPos: 3146, EndPos: 3163, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3147, + StartPos: 3146, EndPos: 3149, }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3147, + StartPos: 3146, EndPos: 3149, }, Value: "one", @@ -6715,7 +6716,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3154, + StartPos: 3153, EndPos: 3159, }, Value: "public", @@ -6724,7 +6725,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3161, + StartPos: 3160, EndPos: 3163, }, Value: "two", @@ -6739,7 +6740,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3172, + StartPos: 3171, EndPos: 3248, }, PhpDocComment: "", @@ -6747,7 +6748,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3178, + StartPos: 3177, EndPos: 3180, }, Value: "Foo", @@ -6757,7 +6758,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3184, + StartPos: 3183, EndPos: 3246, }, Traits: []node.Node{ @@ -6765,7 +6766,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3188, + StartPos: 3187, EndPos: 3190, }, Parts: []node.Node{ @@ -6773,7 +6774,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3188, + StartPos: 3187, EndPos: 3190, }, Value: "Bar", @@ -6784,7 +6785,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3193, + StartPos: 3192, EndPos: 3195, }, Parts: []node.Node{ @@ -6792,7 +6793,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3193, + StartPos: 3192, EndPos: 3195, }, Value: "Baz", @@ -6804,7 +6805,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3197, + StartPos: 3196, EndPos: 3246, }, Adaptations: []node.Node{ @@ -6812,21 +6813,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3199, + StartPos: 3198, EndPos: 3226, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3199, + StartPos: 3198, EndPos: 3206, }, Trait: &name.Name{ Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3199, + StartPos: 3198, EndPos: 3201, }, Parts: []node.Node{ @@ -6834,7 +6835,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3199, + StartPos: 3198, EndPos: 3201, }, Value: "Bar", @@ -6845,7 +6846,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3204, + StartPos: 3203, EndPos: 3206, }, Value: "one", @@ -6856,7 +6857,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3218, + StartPos: 3217, EndPos: 3220, }, Parts: []node.Node{ @@ -6864,7 +6865,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3218, + StartPos: 3217, EndPos: 3220, }, Value: "Baz", @@ -6875,7 +6876,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3223, + StartPos: 3222, EndPos: 3226, }, Parts: []node.Node{ @@ -6883,7 +6884,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3223, + StartPos: 3222, EndPos: 3226, }, Value: "Quux", @@ -6896,21 +6897,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3229, + StartPos: 3228, EndPos: 3243, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3229, + StartPos: 3228, EndPos: 3236, }, Trait: &name.Name{ Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3229, + StartPos: 3228, EndPos: 3231, }, Parts: []node.Node{ @@ -6918,7 +6919,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3229, + StartPos: 3228, EndPos: 3231, }, Value: "Baz", @@ -6929,7 +6930,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3234, + StartPos: 3233, EndPos: 3236, }, Value: "one", @@ -6939,7 +6940,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 144, EndLine: 144, - StartPos: 3241, + StartPos: 3240, EndPos: 3243, }, Value: "two", @@ -6954,7 +6955,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: -1, - StartPos: 3253, + StartPos: 3252, EndPos: -1, }, Stmts: []node.Node{}, @@ -6964,7 +6965,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3262, + StartPos: 3261, EndPos: 3291, }, Stmts: []node.Node{}, @@ -6973,7 +6974,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3269, + StartPos: 3268, EndPos: 3291, }, Types: []node.Node{ @@ -6981,7 +6982,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3276, + StartPos: 3275, EndPos: 3284, }, Parts: []node.Node{ @@ -6989,7 +6990,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3276, + StartPos: 3275, EndPos: 3284, }, Value: "Exception", @@ -7001,14 +7002,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3286, + StartPos: 3285, EndPos: 3287, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3286, + StartPos: 3285, EndPos: 3287, }, Value: "e", @@ -7022,7 +7023,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3295, + StartPos: 3294, EndPos: 3355, }, Stmts: []node.Node{}, @@ -7031,7 +7032,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3302, + StartPos: 3301, EndPos: 3324, }, Types: []node.Node{ @@ -7039,7 +7040,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3309, + StartPos: 3308, EndPos: 3317, }, Parts: []node.Node{ @@ -7047,7 +7048,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3309, + StartPos: 3308, EndPos: 3317, }, Value: "Exception", @@ -7059,14 +7060,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3319, + StartPos: 3318, EndPos: 3320, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3319, + StartPos: 3318, EndPos: 3320, }, Value: "e", @@ -7078,7 +7079,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3326, + StartPos: 3325, EndPos: 3355, }, Types: []node.Node{ @@ -7086,7 +7087,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3333, + StartPos: 3332, EndPos: 3348, }, Parts: []node.Node{ @@ -7094,7 +7095,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3333, + StartPos: 3332, EndPos: 3348, }, Value: "RuntimeException", @@ -7106,14 +7107,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3350, + StartPos: 3349, EndPos: 3351, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3350, + StartPos: 3349, EndPos: 3351, }, Value: "e", @@ -7127,7 +7128,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3359, + StartPos: 3358, EndPos: 3462, }, Stmts: []node.Node{}, @@ -7136,7 +7137,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3366, + StartPos: 3365, EndPos: 3388, }, Types: []node.Node{ @@ -7144,7 +7145,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3373, + StartPos: 3372, EndPos: 3381, }, Parts: []node.Node{ @@ -7152,7 +7153,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3373, + StartPos: 3372, EndPos: 3381, }, Value: "Exception", @@ -7164,14 +7165,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3383, + StartPos: 3382, EndPos: 3384, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3383, + StartPos: 3382, EndPos: 3384, }, Value: "e", @@ -7183,7 +7184,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3390, + StartPos: 3389, EndPos: 3420, }, Types: []node.Node{ @@ -7191,7 +7192,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3397, + StartPos: 3396, EndPos: 3413, }, Parts: []node.Node{ @@ -7199,7 +7200,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3398, + StartPos: 3397, EndPos: 3413, }, Value: "RuntimeException", @@ -7211,14 +7212,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3415, + StartPos: 3414, EndPos: 3416, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3415, + StartPos: 3414, EndPos: 3416, }, Value: "e", @@ -7230,7 +7231,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3422, + StartPos: 3421, EndPos: 3462, }, Types: []node.Node{ @@ -7238,7 +7239,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3429, + StartPos: 3428, EndPos: 3455, }, Parts: []node.Node{ @@ -7246,7 +7247,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3439, + StartPos: 3438, EndPos: 3455, }, Value: "AdditionException", @@ -7258,14 +7259,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3457, + StartPos: 3456, EndPos: 3458, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3457, + StartPos: 3456, EndPos: 3458, }, Value: "e", @@ -7279,7 +7280,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3466, + StartPos: 3465, EndPos: 3506, }, Stmts: []node.Node{}, @@ -7288,7 +7289,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3473, + StartPos: 3472, EndPos: 3495, }, Types: []node.Node{ @@ -7296,7 +7297,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3480, + StartPos: 3479, EndPos: 3488, }, Parts: []node.Node{ @@ -7304,7 +7305,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3480, + StartPos: 3479, EndPos: 3488, }, Value: "Exception", @@ -7316,14 +7317,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3490, + StartPos: 3489, EndPos: 3491, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3490, + StartPos: 3489, EndPos: 3491, }, Value: "e", @@ -7336,7 +7337,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3497, + StartPos: 3496, EndPos: 3506, }, Stmts: []node.Node{}, @@ -7346,7 +7347,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 152, EndLine: 152, - StartPos: 3511, + StartPos: 3510, EndPos: 3524, }, Vars: []node.Node{ @@ -7354,14 +7355,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 152, EndLine: 152, - StartPos: 3517, + StartPos: 3516, EndPos: 3518, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 152, EndLine: 152, - StartPos: 3517, + StartPos: 3516, EndPos: 3518, }, Value: "a", @@ -7371,14 +7372,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 152, EndLine: 152, - StartPos: 3521, + StartPos: 3520, EndPos: 3522, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 152, EndLine: 152, - StartPos: 3521, + StartPos: 3520, EndPos: 3522, }, Value: "b", @@ -7390,7 +7391,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3529, + StartPos: 3528, EndPos: 3536, }, Uses: []node.Node{ @@ -7398,14 +7399,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3533, + StartPos: 3532, EndPos: 3535, }, Use: &name.Name{ Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3533, + StartPos: 3532, EndPos: 3535, }, Parts: []node.Node{ @@ -7413,7 +7414,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3533, + StartPos: 3532, EndPos: 3535, }, Value: "Foo", @@ -7427,7 +7428,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3540, + StartPos: 3539, EndPos: 3548, }, Uses: []node.Node{ @@ -7435,14 +7436,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3545, + StartPos: 3544, EndPos: 3547, }, Use: &name.Name{ Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3545, + StartPos: 3544, EndPos: 3547, }, Parts: []node.Node{ @@ -7450,7 +7451,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3545, + StartPos: 3544, EndPos: 3547, }, Value: "Foo", @@ -7464,7 +7465,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3552, + StartPos: 3551, EndPos: 3567, }, Uses: []node.Node{ @@ -7472,14 +7473,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3557, + StartPos: 3556, EndPos: 3566, }, Use: &name.Name{ Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3557, + StartPos: 3556, EndPos: 3559, }, Parts: []node.Node{ @@ -7487,7 +7488,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3557, + StartPos: 3556, EndPos: 3559, }, Value: "Foo", @@ -7498,7 +7499,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3564, + StartPos: 3563, EndPos: 3566, }, Value: "Bar", @@ -7510,7 +7511,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3571, + StartPos: 3570, EndPos: 3583, }, Uses: []node.Node{ @@ -7518,14 +7519,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3575, + StartPos: 3574, EndPos: 3577, }, Use: &name.Name{ Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3575, + StartPos: 3574, EndPos: 3577, }, Parts: []node.Node{ @@ -7533,7 +7534,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3575, + StartPos: 3574, EndPos: 3577, }, Value: "Foo", @@ -7545,14 +7546,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3580, + StartPos: 3579, EndPos: 3582, }, Use: &name.Name{ Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3580, + StartPos: 3579, EndPos: 3582, }, Parts: []node.Node{ @@ -7560,7 +7561,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3580, + StartPos: 3579, EndPos: 3582, }, Value: "Bar", @@ -7574,7 +7575,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3587, + StartPos: 3586, EndPos: 3606, }, Uses: []node.Node{ @@ -7582,14 +7583,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3591, + StartPos: 3590, EndPos: 3593, }, Use: &name.Name{ Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3591, + StartPos: 3590, EndPos: 3593, }, Parts: []node.Node{ @@ -7597,7 +7598,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3591, + StartPos: 3590, EndPos: 3593, }, Value: "Foo", @@ -7609,14 +7610,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3596, + StartPos: 3595, EndPos: 3605, }, Use: &name.Name{ Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3596, + StartPos: 3595, EndPos: 3598, }, Parts: []node.Node{ @@ -7624,7 +7625,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3596, + StartPos: 3595, EndPos: 3598, }, Value: "Bar", @@ -7635,7 +7636,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 158, EndLine: 158, - StartPos: 3603, + StartPos: 3602, EndPos: 3605, }, Value: "Baz", @@ -7647,14 +7648,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3610, + StartPos: 3609, EndPos: 3632, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3614, + StartPos: 3613, EndPos: 3621, }, Value: "function", @@ -7664,14 +7665,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3623, + StartPos: 3622, EndPos: 3625, }, Use: &name.Name{ Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3623, + StartPos: 3622, EndPos: 3625, }, Parts: []node.Node{ @@ -7679,7 +7680,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3623, + StartPos: 3622, EndPos: 3625, }, Value: "Foo", @@ -7691,14 +7692,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3629, + StartPos: 3628, EndPos: 3631, }, Use: &name.Name{ Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3629, + StartPos: 3628, EndPos: 3631, }, Parts: []node.Node{ @@ -7706,7 +7707,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3629, + StartPos: 3628, EndPos: 3631, }, Value: "Bar", @@ -7720,14 +7721,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3636, + StartPos: 3635, EndPos: 3672, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3640, + StartPos: 3639, EndPos: 3647, }, Value: "function", @@ -7737,14 +7738,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3649, + StartPos: 3648, EndPos: 3658, }, Use: &name.Name{ Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3649, + StartPos: 3648, EndPos: 3651, }, Parts: []node.Node{ @@ -7752,7 +7753,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3649, + StartPos: 3648, EndPos: 3651, }, Value: "Foo", @@ -7763,7 +7764,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3656, + StartPos: 3655, EndPos: 3658, }, Value: "foo", @@ -7773,14 +7774,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3662, + StartPos: 3661, EndPos: 3671, }, Use: &name.Name{ Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3662, + StartPos: 3661, EndPos: 3664, }, Parts: []node.Node{ @@ -7788,7 +7789,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3662, + StartPos: 3661, EndPos: 3664, }, Value: "Bar", @@ -7799,7 +7800,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 160, EndLine: 160, - StartPos: 3669, + StartPos: 3668, EndPos: 3671, }, Value: "bar", @@ -7811,14 +7812,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3676, + StartPos: 3675, EndPos: 3695, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3680, + StartPos: 3679, EndPos: 3684, }, Value: "const", @@ -7828,14 +7829,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3686, + StartPos: 3685, EndPos: 3688, }, Use: &name.Name{ Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3686, + StartPos: 3685, EndPos: 3688, }, Parts: []node.Node{ @@ -7843,7 +7844,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3686, + StartPos: 3685, EndPos: 3688, }, Value: "Foo", @@ -7855,14 +7856,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3692, + StartPos: 3691, EndPos: 3694, }, Use: &name.Name{ Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3692, + StartPos: 3691, EndPos: 3694, }, Parts: []node.Node{ @@ -7870,7 +7871,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3692, + StartPos: 3691, EndPos: 3694, }, Value: "Bar", @@ -7884,14 +7885,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3699, + StartPos: 3698, EndPos: 3732, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3703, + StartPos: 3702, EndPos: 3707, }, Value: "const", @@ -7901,14 +7902,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3709, + StartPos: 3708, EndPos: 3718, }, Use: &name.Name{ Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3709, + StartPos: 3708, EndPos: 3711, }, Parts: []node.Node{ @@ -7916,7 +7917,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3709, + StartPos: 3708, EndPos: 3711, }, Value: "Foo", @@ -7927,7 +7928,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3716, + StartPos: 3715, EndPos: 3718, }, Value: "foo", @@ -7937,14 +7938,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3722, + StartPos: 3721, EndPos: 3731, }, Use: &name.Name{ Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3722, + StartPos: 3721, EndPos: 3724, }, Parts: []node.Node{ @@ -7952,7 +7953,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3722, + StartPos: 3721, EndPos: 3724, }, Value: "Bar", @@ -7963,7 +7964,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3729, + StartPos: 3728, EndPos: 3731, }, Value: "bar", @@ -7975,28 +7976,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3737, + StartPos: 3736, EndPos: 3742, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3737, + StartPos: 3736, EndPos: 3741, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3737, + StartPos: 3736, EndPos: 3738, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3737, + StartPos: 3736, EndPos: 3738, }, Value: "a", @@ -8006,7 +8007,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3740, + StartPos: 3739, EndPos: 3740, }, Value: "1", @@ -8017,35 +8018,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3746, + StartPos: 3745, EndPos: 3754, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3746, + StartPos: 3745, EndPos: 3753, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3746, + StartPos: 3745, EndPos: 3750, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3746, + StartPos: 3745, EndPos: 3747, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3746, + StartPos: 3745, EndPos: 3747, }, Value: "a", @@ -8055,7 +8056,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3749, + StartPos: 3748, EndPos: 3749, }, Value: "1", @@ -8065,7 +8066,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3752, + StartPos: 3751, EndPos: 3752, }, Value: "2", @@ -8076,14 +8077,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3758, + StartPos: 3757, EndPos: 3765, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3758, + StartPos: 3757, EndPos: 3764, }, Items: []node.Node{}, @@ -8093,14 +8094,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3769, + StartPos: 3768, EndPos: 3777, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3769, + StartPos: 3768, EndPos: 3776, }, Items: []node.Node{ @@ -8108,14 +8109,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3775, + StartPos: 3774, EndPos: 3775, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3775, + StartPos: 3774, EndPos: 3775, }, Value: "1", @@ -8128,14 +8129,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3781, + StartPos: 3780, EndPos: 3798, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3781, + StartPos: 3780, EndPos: 3797, }, Items: []node.Node{ @@ -8143,14 +8144,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3787, + StartPos: 3786, EndPos: 3790, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3787, + StartPos: 3786, EndPos: 3787, }, Value: "1", @@ -8159,7 +8160,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3790, + StartPos: 3789, EndPos: 3790, }, Value: "1", @@ -8169,28 +8170,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3793, + StartPos: 3792, EndPos: 3795, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3793, + StartPos: 3792, EndPos: 3795, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3794, + StartPos: 3793, EndPos: 3795, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3794, + StartPos: 3793, EndPos: 3795, }, Value: "b", @@ -8206,14 +8207,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3802, + StartPos: 3801, EndPos: 3816, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3802, + StartPos: 3801, EndPos: 3815, }, Items: []node.Node{ @@ -8221,14 +8222,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3808, + StartPos: 3807, EndPos: 3814, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3808, + StartPos: 3807, EndPos: 3808, }, Value: "3", @@ -8237,21 +8238,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3812, + StartPos: 3811, EndPos: 3814, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3813, + StartPos: 3812, EndPos: 3814, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3813, + StartPos: 3812, EndPos: 3814, }, Value: "b", @@ -8266,14 +8267,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3820, + StartPos: 3819, EndPos: 3848, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3820, + StartPos: 3819, EndPos: 3847, }, Items: []node.Node{ @@ -8281,28 +8282,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3826, + StartPos: 3825, EndPos: 3828, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3826, + StartPos: 3825, EndPos: 3828, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3827, + StartPos: 3826, EndPos: 3828, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3827, + StartPos: 3826, EndPos: 3828, }, Value: "b", @@ -8314,14 +8315,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3831, + StartPos: 3830, EndPos: 3834, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3831, + StartPos: 3830, EndPos: 3831, }, Value: "1", @@ -8330,7 +8331,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3834, + StartPos: 3833, EndPos: 3834, }, Value: "1", @@ -8340,14 +8341,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3837, + StartPos: 3836, EndPos: 3837, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3837, + StartPos: 3836, EndPos: 3837, }, Value: "1", @@ -8357,14 +8358,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3840, + StartPos: 3839, EndPos: 3846, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3840, + StartPos: 3839, EndPos: 3840, }, Value: "3", @@ -8373,21 +8374,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3844, + StartPos: 3843, EndPos: 3846, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3845, + StartPos: 3844, EndPos: 3846, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 170, EndLine: 170, - StartPos: 3845, + StartPos: 3844, EndPos: 3846, }, Value: "b", @@ -8402,28 +8403,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3852, + StartPos: 3851, EndPos: 3855, }, Expr: &expr.BitwiseNot{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3852, + StartPos: 3851, EndPos: 3854, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3853, + StartPos: 3852, EndPos: 3854, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3853, + StartPos: 3852, EndPos: 3854, }, Value: "a", @@ -8435,28 +8436,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3859, + StartPos: 3858, EndPos: 3862, }, Expr: &expr.BooleanNot{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3859, + StartPos: 3858, EndPos: 3861, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3860, + StartPos: 3859, EndPos: 3861, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3860, + StartPos: 3859, EndPos: 3861, }, Value: "a", @@ -8468,21 +8469,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3867, + StartPos: 3866, EndPos: 3875, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3867, + StartPos: 3866, EndPos: 3874, }, Class: &name.Name{ Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3867, + StartPos: 3866, EndPos: 3869, }, Parts: []node.Node{ @@ -8490,7 +8491,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3867, + StartPos: 3866, EndPos: 3869, }, Value: "Foo", @@ -8501,7 +8502,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3872, + StartPos: 3871, EndPos: 3874, }, Value: "Bar", @@ -8512,28 +8513,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3879, + StartPos: 3878, EndPos: 3888, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3879, + StartPos: 3878, EndPos: 3886, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3885, + StartPos: 3884, EndPos: 3886, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3885, + StartPos: 3884, EndPos: 3886, }, Value: "a", @@ -8545,28 +8546,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 176, EndLine: 176, - StartPos: 3892, + StartPos: 3891, EndPos: 3900, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 176, EndLine: 176, - StartPos: 3892, + StartPos: 3891, EndPos: 3899, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 176, EndLine: 176, - StartPos: 3898, + StartPos: 3897, EndPos: 3899, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 176, EndLine: 176, - StartPos: 3898, + StartPos: 3897, EndPos: 3899, }, Value: "a", @@ -8578,19 +8579,19 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3904, + StartPos: 3903, EndPos: 3916, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3904, + StartPos: 3903, EndPos: 3915, }, + Static: false, PhpDocComment: "", ReturnsRef: false, - Static: false, Stmts: []node.Node{}, }, }, @@ -8598,14 +8599,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3920, + StartPos: 3919, EndPos: 3953, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3920, + StartPos: 3919, EndPos: 3952, }, ReturnsRef: false, @@ -8616,7 +8617,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3929, + StartPos: 3928, EndPos: 3930, }, ByRef: false, @@ -8625,14 +8626,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3929, + StartPos: 3928, EndPos: 3930, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3929, + StartPos: 3928, EndPos: 3930, }, Value: "a", @@ -8643,23 +8644,23 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3933, + StartPos: 3932, EndPos: 3934, }, - ByRef: false, Variadic: false, + ByRef: false, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3933, + StartPos: 3932, EndPos: 3934, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3933, + StartPos: 3932, EndPos: 3934, }, Value: "b", @@ -8671,7 +8672,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3937, + StartPos: 3936, EndPos: 3949, }, Uses: []node.Node{ @@ -8679,14 +8680,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3942, + StartPos: 3941, EndPos: 3943, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3942, + StartPos: 3941, EndPos: 3943, }, Value: "c", @@ -8696,21 +8697,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3946, + StartPos: 3945, EndPos: 3948, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3947, + StartPos: 3946, EndPos: 3948, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3947, + StartPos: 3946, EndPos: 3948, }, Value: "d", @@ -8726,14 +8727,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3957, + StartPos: 3956, EndPos: 3990, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3957, + StartPos: 3956, EndPos: 3989, }, ReturnsRef: false, @@ -8744,7 +8745,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3966, + StartPos: 3965, EndPos: 3967, }, ByRef: false, @@ -8753,14 +8754,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3966, + StartPos: 3965, EndPos: 3967, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3966, + StartPos: 3965, EndPos: 3967, }, Value: "a", @@ -8771,7 +8772,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3970, + StartPos: 3969, EndPos: 3971, }, ByRef: false, @@ -8780,14 +8781,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3970, + StartPos: 3969, EndPos: 3971, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3970, + StartPos: 3969, EndPos: 3971, }, Value: "b", @@ -8799,7 +8800,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3974, + StartPos: 3973, EndPos: 3986, }, Uses: []node.Node{ @@ -8807,21 +8808,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3979, + StartPos: 3978, EndPos: 3981, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3980, + StartPos: 3979, EndPos: 3981, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3980, + StartPos: 3979, EndPos: 3981, }, Value: "c", @@ -8832,14 +8833,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3984, + StartPos: 3983, EndPos: 3985, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 3984, + StartPos: 3983, EndPos: 3985, }, Value: "d", @@ -8854,14 +8855,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 3994, + StartPos: 3993, EndPos: 4007, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 3994, + StartPos: 3993, EndPos: 4006, }, ReturnsRef: false, @@ -8874,21 +8875,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4011, + StartPos: 4010, EndPos: 4014, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4011, + StartPos: 4010, EndPos: 4013, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4011, + StartPos: 4010, EndPos: 4013, }, Parts: []node.Node{ @@ -8896,7 +8897,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4011, + StartPos: 4010, EndPos: 4013, }, Value: "foo", @@ -8909,21 +8910,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4018, + StartPos: 4017, EndPos: 4031, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4018, + StartPos: 4017, EndPos: 4030, }, Constant: &name.Relative{ Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4018, + StartPos: 4017, EndPos: 4030, }, Parts: []node.Node{ @@ -8931,7 +8932,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4028, + StartPos: 4027, EndPos: 4030, }, Value: "foo", @@ -8944,21 +8945,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4035, + StartPos: 4034, EndPos: 4039, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4035, + StartPos: 4034, EndPos: 4038, }, Constant: &name.FullyQualified{ Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4035, + StartPos: 4034, EndPos: 4038, }, Parts: []node.Node{ @@ -8966,7 +8967,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4036, + StartPos: 4035, EndPos: 4038, }, Value: "foo", @@ -8979,28 +8980,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4044, + StartPos: 4043, EndPos: 4053, }, Expr: &expr.Empty{ Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4044, + StartPos: 4043, EndPos: 4052, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4050, + StartPos: 4049, EndPos: 4051, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4050, + StartPos: 4049, EndPos: 4051, }, Value: "a", @@ -9012,28 +9013,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4057, + StartPos: 4056, EndPos: 4067, }, Expr: &expr.Empty{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4057, + StartPos: 4056, EndPos: 4066, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4063, + StartPos: 4062, EndPos: 4065, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4063, + StartPos: 4062, EndPos: 4065, }, Parts: []node.Node{ @@ -9041,7 +9042,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4063, + StartPos: 4062, EndPos: 4065, }, Value: "Foo", @@ -9055,28 +9056,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4071, + StartPos: 4070, EndPos: 4074, }, Expr: &expr.ErrorSuppress{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4071, + StartPos: 4070, EndPos: 4073, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4072, + StartPos: 4071, EndPos: 4073, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4072, + StartPos: 4071, EndPos: 4073, }, Value: "a", @@ -9088,28 +9089,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4078, + StartPos: 4077, EndPos: 4086, }, Expr: &expr.Eval{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4078, + StartPos: 4077, EndPos: 4085, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4083, + StartPos: 4082, EndPos: 4084, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4083, + StartPos: 4082, EndPos: 4084, }, Value: "a", @@ -9121,14 +9122,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 189, EndLine: 189, - StartPos: 4090, + StartPos: 4089, EndPos: 4094, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 189, EndLine: 189, - StartPos: 4090, + StartPos: 4089, EndPos: 4093, }, Die: false, @@ -9138,14 +9139,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4098, + StartPos: 4097, EndPos: 4106, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4098, + StartPos: 4097, EndPos: 4105, }, Die: false, @@ -9153,14 +9154,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4103, + StartPos: 4102, EndPos: 4104, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4103, + StartPos: 4102, EndPos: 4104, }, Value: "a", @@ -9172,14 +9173,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4110, + StartPos: 4109, EndPos: 4115, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4110, + StartPos: 4109, EndPos: 4114, }, Die: true, @@ -9189,14 +9190,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4119, + StartPos: 4118, EndPos: 4126, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4119, + StartPos: 4118, EndPos: 4125, }, Die: true, @@ -9204,14 +9205,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4123, + StartPos: 4122, EndPos: 4124, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4123, + StartPos: 4122, EndPos: 4124, }, Value: "a", @@ -9223,21 +9224,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4130, + StartPos: 4129, EndPos: 4135, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4130, + StartPos: 4129, EndPos: 4134, }, Function: &name.Name{ Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4130, + StartPos: 4129, EndPos: 4132, }, Parts: []node.Node{ @@ -9245,7 +9246,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4130, + StartPos: 4129, EndPos: 4132, }, Value: "foo", @@ -9256,7 +9257,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4133, + StartPos: 4132, EndPos: 4134, }, }, @@ -9266,21 +9267,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4139, + StartPos: 4138, EndPos: 4157, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4139, + StartPos: 4138, EndPos: 4156, }, Function: &name.Relative{ Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4139, + StartPos: 4138, EndPos: 4151, }, Parts: []node.Node{ @@ -9288,7 +9289,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4149, + StartPos: 4148, EndPos: 4151, }, Value: "foo", @@ -9299,7 +9300,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4152, + StartPos: 4151, EndPos: 4156, }, Arguments: []node.Node{ @@ -9307,7 +9308,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4154, + StartPos: 4153, EndPos: 4155, }, Variadic: false, @@ -9316,14 +9317,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4154, + StartPos: 4153, EndPos: 4155, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4154, + StartPos: 4153, EndPos: 4155, }, Value: "a", @@ -9338,21 +9339,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4161, + StartPos: 4160, EndPos: 4169, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4161, + StartPos: 4160, EndPos: 4168, }, Function: &name.FullyQualified{ Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4161, + StartPos: 4160, EndPos: 4164, }, Parts: []node.Node{ @@ -9360,7 +9361,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4162, + StartPos: 4161, EndPos: 4164, }, Value: "foo", @@ -9371,7 +9372,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4165, + StartPos: 4164, EndPos: 4168, }, Arguments: []node.Node{ @@ -9379,7 +9380,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4166, + StartPos: 4165, EndPos: 4167, }, Variadic: false, @@ -9388,7 +9389,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 195, EndLine: 195, - StartPos: 4166, + StartPos: 4165, EndPos: 4167, }, Items: []node.Node{}, @@ -9402,28 +9403,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4173, + StartPos: 4172, EndPos: 4187, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4173, + StartPos: 4172, EndPos: 4186, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4173, + StartPos: 4172, EndPos: 4176, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4173, + StartPos: 4172, EndPos: 4176, }, Value: "foo", @@ -9433,7 +9434,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4177, + StartPos: 4176, EndPos: 4186, }, Arguments: []node.Node{ @@ -9441,30 +9442,30 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4178, + StartPos: 4177, EndPos: 4185, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4178, + StartPos: 4177, EndPos: 4185, }, Value: &expr.Variable{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4184, + StartPos: 4183, EndPos: 4185, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4184, + StartPos: 4183, EndPos: 4185, }, Value: "a", @@ -9480,28 +9481,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4192, + StartPos: 4191, EndPos: 4196, }, Expr: &expr.PostDec{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4192, + StartPos: 4191, EndPos: 4195, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4192, + StartPos: 4191, EndPos: 4193, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4192, + StartPos: 4191, EndPos: 4193, }, Value: "a", @@ -9513,28 +9514,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4200, + StartPos: 4199, EndPos: 4204, }, Expr: &expr.PostInc{ Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4200, + StartPos: 4199, EndPos: 4203, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4200, + StartPos: 4199, EndPos: 4201, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4200, + StartPos: 4199, EndPos: 4201, }, Value: "a", @@ -9546,28 +9547,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4208, + StartPos: 4207, EndPos: 4212, }, Expr: &expr.PreDec{ Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4208, + StartPos: 4207, EndPos: 4211, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4210, + StartPos: 4209, EndPos: 4211, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4210, + StartPos: 4209, EndPos: 4211, }, Value: "a", @@ -9579,28 +9580,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4216, + StartPos: 4215, EndPos: 4220, }, Expr: &expr.PreInc{ Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4216, + StartPos: 4215, EndPos: 4219, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4218, + StartPos: 4217, EndPos: 4219, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4218, + StartPos: 4217, EndPos: 4219, }, Value: "a", @@ -9612,28 +9613,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4225, + StartPos: 4224, EndPos: 4235, }, Expr: &expr.Include{ Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4225, + StartPos: 4224, EndPos: 4234, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4233, + StartPos: 4232, EndPos: 4234, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4233, + StartPos: 4232, EndPos: 4234, }, Value: "a", @@ -9645,28 +9646,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4239, + StartPos: 4238, EndPos: 4254, }, Expr: &expr.IncludeOnce{ Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4239, + StartPos: 4238, EndPos: 4253, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4252, + StartPos: 4251, EndPos: 4253, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4252, + StartPos: 4251, EndPos: 4253, }, Value: "a", @@ -9678,28 +9679,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4258, + StartPos: 4257, EndPos: 4268, }, Expr: &expr.Require{ Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4258, + StartPos: 4257, EndPos: 4267, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4266, + StartPos: 4265, EndPos: 4267, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4266, + StartPos: 4265, EndPos: 4267, }, Value: "a", @@ -9711,28 +9712,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4272, + StartPos: 4271, EndPos: 4287, }, Expr: &expr.RequireOnce{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4272, + StartPos: 4271, EndPos: 4286, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4285, + StartPos: 4284, EndPos: 4286, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4285, + StartPos: 4284, EndPos: 4286, }, Value: "a", @@ -9744,28 +9745,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4292, + StartPos: 4291, EndPos: 4309, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4292, + StartPos: 4291, EndPos: 4308, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4292, + StartPos: 4291, EndPos: 4293, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4292, + StartPos: 4291, EndPos: 4293, }, Value: "a", @@ -9775,7 +9776,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4306, + StartPos: 4305, EndPos: 4308, }, Parts: []node.Node{ @@ -9783,7 +9784,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4306, + StartPos: 4305, EndPos: 4308, }, Value: "Foo", @@ -9796,28 +9797,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4313, + StartPos: 4312, EndPos: 4340, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4313, + StartPos: 4312, EndPos: 4339, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4313, + StartPos: 4312, EndPos: 4314, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4313, + StartPos: 4312, EndPos: 4314, }, Value: "a", @@ -9827,7 +9828,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4327, + StartPos: 4326, EndPos: 4339, }, Parts: []node.Node{ @@ -9835,7 +9836,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4337, + StartPos: 4336, EndPos: 4339, }, Value: "Foo", @@ -9848,28 +9849,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4344, + StartPos: 4343, EndPos: 4362, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4344, + StartPos: 4343, EndPos: 4361, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4344, + StartPos: 4343, EndPos: 4345, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4344, + StartPos: 4343, EndPos: 4345, }, Value: "a", @@ -9879,7 +9880,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4358, + StartPos: 4357, EndPos: 4361, }, Parts: []node.Node{ @@ -9887,7 +9888,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4359, + StartPos: 4358, EndPos: 4361, }, Value: "Foo", @@ -9900,14 +9901,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4367, + StartPos: 4366, EndPos: 4380, }, Expr: &expr.Isset{ Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4367, + StartPos: 4366, EndPos: 4379, }, Variables: []node.Node{ @@ -9915,14 +9916,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4373, + StartPos: 4372, EndPos: 4374, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4373, + StartPos: 4372, EndPos: 4374, }, Value: "a", @@ -9932,14 +9933,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4377, + StartPos: 4376, EndPos: 4378, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 212, EndLine: 212, - StartPos: 4377, + StartPos: 4376, EndPos: 4378, }, Value: "b", @@ -9952,14 +9953,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4384, + StartPos: 4383, EndPos: 4394, }, Expr: &expr.Isset{ Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4384, + StartPos: 4383, EndPos: 4393, }, Variables: []node.Node{ @@ -9967,14 +9968,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4390, + StartPos: 4389, EndPos: 4392, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4390, + StartPos: 4389, EndPos: 4392, }, Parts: []node.Node{ @@ -9982,7 +9983,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4390, + StartPos: 4389, EndPos: 4392, }, Value: "Foo", @@ -9997,21 +9998,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4398, + StartPos: 4397, EndPos: 4409, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4398, + StartPos: 4397, EndPos: 4408, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4398, + StartPos: 4397, EndPos: 4403, }, Items: []node.Node{}, @@ -10020,14 +10021,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4407, + StartPos: 4406, EndPos: 4408, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4407, + StartPos: 4406, EndPos: 4408, }, Value: "b", @@ -10039,21 +10040,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4413, + StartPos: 4412, EndPos: 4430, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4413, + StartPos: 4412, EndPos: 4429, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4413, + StartPos: 4412, EndPos: 4424, }, Items: []node.Node{ @@ -10061,21 +10062,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4418, + StartPos: 4417, EndPos: 4419, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4418, + StartPos: 4417, EndPos: 4419, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4418, + StartPos: 4417, EndPos: 4419, }, Value: "a", @@ -10086,21 +10087,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4422, + StartPos: 4421, EndPos: 4423, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4422, + StartPos: 4421, EndPos: 4423, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4422, + StartPos: 4421, EndPos: 4423, }, Value: "b", @@ -10113,14 +10114,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4428, + StartPos: 4427, EndPos: 4429, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4428, + StartPos: 4427, EndPos: 4429, }, Value: "b", @@ -10132,21 +10133,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4434, + StartPos: 4433, EndPos: 4449, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4434, + StartPos: 4433, EndPos: 4448, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4434, + StartPos: 4433, EndPos: 4443, }, Items: []node.Node{ @@ -10154,28 +10155,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4439, + StartPos: 4438, EndPos: 4442, }, Val: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4439, + StartPos: 4438, EndPos: 4442, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4439, + StartPos: 4438, EndPos: 4440, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4439, + StartPos: 4438, EndPos: 4440, }, Value: "a", @@ -10189,14 +10190,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4447, + StartPos: 4446, EndPos: 4448, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4447, + StartPos: 4446, EndPos: 4448, }, Value: "b", @@ -10208,21 +10209,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4453, + StartPos: 4452, EndPos: 4472, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4453, + StartPos: 4452, EndPos: 4471, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4453, + StartPos: 4452, EndPos: 4466, }, Items: []node.Node{ @@ -10230,14 +10231,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4458, + StartPos: 4457, EndPos: 4465, }, Val: &expr.List{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4458, + StartPos: 4457, EndPos: 4465, }, Items: []node.Node{ @@ -10245,21 +10246,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4463, + StartPos: 4462, EndPos: 4464, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4463, + StartPos: 4462, EndPos: 4464, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4463, + StartPos: 4462, EndPos: 4464, }, Value: "a", @@ -10275,14 +10276,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4470, + StartPos: 4469, EndPos: 4471, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 217, EndLine: 217, - StartPos: 4470, + StartPos: 4469, EndPos: 4471, }, Value: "b", @@ -10294,28 +10295,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4477, + StartPos: 4476, EndPos: 4486, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4477, + StartPos: 4476, EndPos: 4485, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4477, + StartPos: 4476, EndPos: 4478, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4477, + StartPos: 4476, EndPos: 4478, }, Value: "a", @@ -10325,7 +10326,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4481, + StartPos: 4480, EndPos: 4483, }, Value: "foo", @@ -10334,7 +10335,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4484, + StartPos: 4483, EndPos: 4485, }, }, @@ -10344,21 +10345,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4490, + StartPos: 4489, EndPos: 4497, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4490, + StartPos: 4489, EndPos: 4496, }, Class: &name.Name{ Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4494, + StartPos: 4493, EndPos: 4496, }, Parts: []node.Node{ @@ -10366,7 +10367,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4494, + StartPos: 4493, EndPos: 4496, }, Value: "Foo", @@ -10379,21 +10380,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 221, EndLine: 221, - StartPos: 4501, + StartPos: 4500, EndPos: 4520, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 221, EndLine: 221, - StartPos: 4501, + StartPos: 4500, EndPos: 4519, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 221, EndLine: 221, - StartPos: 4505, + StartPos: 4504, EndPos: 4517, }, Parts: []node.Node{ @@ -10401,7 +10402,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 221, EndLine: 221, - StartPos: 4515, + StartPos: 4514, EndPos: 4517, }, Value: "Foo", @@ -10412,7 +10413,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 221, EndLine: 221, - StartPos: 4518, + StartPos: 4517, EndPos: 4519, }, }, @@ -10422,21 +10423,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4524, + StartPos: 4523, EndPos: 4534, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4524, + StartPos: 4523, EndPos: 4533, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4528, + StartPos: 4527, EndPos: 4531, }, Parts: []node.Node{ @@ -10444,7 +10445,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4529, + StartPos: 4528, EndPos: 4531, }, Value: "Foo", @@ -10455,7 +10456,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4532, + StartPos: 4531, EndPos: 4533, }, }, @@ -10465,28 +10466,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4538, + StartPos: 4537, EndPos: 4547, }, Expr: &expr.Print{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4538, + StartPos: 4537, EndPos: 4545, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4544, + StartPos: 4543, EndPos: 4545, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4544, + StartPos: 4543, EndPos: 4545, }, Value: "a", @@ -10498,28 +10499,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4551, + StartPos: 4550, EndPos: 4558, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4551, + StartPos: 4550, EndPos: 4557, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4551, + StartPos: 4550, EndPos: 4552, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4551, + StartPos: 4550, EndPos: 4552, }, Value: "a", @@ -10529,7 +10530,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4555, + StartPos: 4554, EndPos: 4557, }, Value: "foo", @@ -10540,35 +10541,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4562, + StartPos: 4561, EndPos: 4572, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4562, + StartPos: 4561, EndPos: 4570, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4562, + StartPos: 4561, EndPos: 4568, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4562, + StartPos: 4561, EndPos: 4563, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4562, + StartPos: 4561, EndPos: 4563, }, Value: "a", @@ -10578,7 +10579,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4566, + StartPos: 4565, EndPos: 4568, }, Value: "foo", @@ -10588,7 +10589,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4570, + StartPos: 4569, EndPos: 4570, }, Value: "1", @@ -10599,56 +10600,56 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4604, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4602, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4600, }, Variable: &expr.MethodCall{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4594, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4587, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4582, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4577, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4576, + StartPos: 4575, EndPos: 4577, }, Value: "a", @@ -10658,7 +10659,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4580, + StartPos: 4579, EndPos: 4582, }, Value: "foo", @@ -10668,7 +10669,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4585, + StartPos: 4584, EndPos: 4587, }, Value: "bar", @@ -10678,7 +10679,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4590, + StartPos: 4589, EndPos: 4592, }, Value: "baz", @@ -10687,7 +10688,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4593, + StartPos: 4592, EndPos: 4594, }, }, @@ -10696,7 +10697,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4597, + StartPos: 4596, EndPos: 4600, }, Value: "quux", @@ -10706,7 +10707,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 226, EndLine: 226, - StartPos: 4602, + StartPos: 4601, EndPos: 4602, }, Value: "0", @@ -10717,42 +10718,42 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4623, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4621, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4618, }, Variable: &expr.MethodCall{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4616, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4609, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4608, + StartPos: 4607, EndPos: 4609, }, Value: "a", @@ -10762,7 +10763,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4612, + StartPos: 4611, EndPos: 4614, }, Value: "foo", @@ -10771,7 +10772,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4615, + StartPos: 4614, EndPos: 4616, }, }, @@ -10780,7 +10781,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4618, + StartPos: 4617, EndPos: 4618, }, Value: "1", @@ -10790,7 +10791,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4621, + StartPos: 4620, EndPos: 4621, }, Value: "1", @@ -10801,14 +10802,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4627, + StartPos: 4626, EndPos: 4635, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4627, + StartPos: 4626, EndPos: 4634, }, Parts: []node.Node{ @@ -10816,7 +10817,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4628, + StartPos: 4627, EndPos: 4631, }, Value: "cmd ", @@ -10825,14 +10826,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4632, + StartPos: 4631, EndPos: 4633, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4632, + StartPos: 4631, EndPos: 4633, }, Value: "a", @@ -10845,25 +10846,25 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4639, + StartPos: 4638, EndPos: 4644, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4639, + StartPos: 4638, EndPos: 4643, }, Parts: []node.Node{ &scalar.EncapsedStringPart{ - Value: "cmd", Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4640, + StartPos: 4639, EndPos: 4642, }, + Value: "cmd", }, }, }, @@ -10872,14 +10873,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4648, + StartPos: 4647, EndPos: 4650, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4648, + StartPos: 4647, EndPos: 4649, }, Parts: []node.Node{}, @@ -10889,14 +10890,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4654, + StartPos: 4653, EndPos: 4656, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4654, + StartPos: 4653, EndPos: 4655, }, Items: []node.Node{}, @@ -10906,14 +10907,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4660, + StartPos: 4659, EndPos: 4663, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4660, + StartPos: 4659, EndPos: 4662, }, Items: []node.Node{ @@ -10921,14 +10922,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4661, + StartPos: 4660, EndPos: 4661, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4661, + StartPos: 4660, EndPos: 4661, }, Value: "1", @@ -10941,14 +10942,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4667, + StartPos: 4666, EndPos: 4679, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4667, + StartPos: 4666, EndPos: 4678, }, Items: []node.Node{ @@ -10956,14 +10957,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4668, + StartPos: 4667, EndPos: 4671, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4668, + StartPos: 4667, EndPos: 4668, }, Value: "1", @@ -10972,7 +10973,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4671, + StartPos: 4670, EndPos: 4671, }, Value: "1", @@ -10982,28 +10983,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4674, + StartPos: 4673, EndPos: 4676, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4674, + StartPos: 4673, EndPos: 4676, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4675, + StartPos: 4674, EndPos: 4676, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4675, + StartPos: 4674, EndPos: 4676, }, Value: "b", @@ -11019,21 +11020,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4684, + StartPos: 4683, EndPos: 4694, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4684, + StartPos: 4683, EndPos: 4693, }, Class: &name.Name{ Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4684, + StartPos: 4683, EndPos: 4686, }, Parts: []node.Node{ @@ -11041,7 +11042,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4684, + StartPos: 4683, EndPos: 4686, }, Value: "Foo", @@ -11052,7 +11053,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4689, + StartPos: 4688, EndPos: 4691, }, Value: "bar", @@ -11061,7 +11062,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4692, + StartPos: 4691, EndPos: 4693, }, }, @@ -11071,21 +11072,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4698, + StartPos: 4697, EndPos: 4718, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4698, + StartPos: 4697, EndPos: 4717, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4698, + StartPos: 4697, EndPos: 4710, }, Parts: []node.Node{ @@ -11093,7 +11094,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4708, + StartPos: 4707, EndPos: 4710, }, Value: "Foo", @@ -11104,7 +11105,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4713, + StartPos: 4712, EndPos: 4715, }, Value: "bar", @@ -11113,7 +11114,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4716, + StartPos: 4715, EndPos: 4717, }, }, @@ -11123,21 +11124,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4722, + StartPos: 4721, EndPos: 4733, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4722, + StartPos: 4721, EndPos: 4732, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4722, + StartPos: 4721, EndPos: 4725, }, Parts: []node.Node{ @@ -11145,7 +11146,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4723, + StartPos: 4722, EndPos: 4725, }, Value: "Foo", @@ -11156,7 +11157,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4728, + StartPos: 4727, EndPos: 4730, }, Value: "bar", @@ -11165,7 +11166,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4731, + StartPos: 4730, EndPos: 4732, }, }, @@ -11175,21 +11176,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4737, + StartPos: 4736, EndPos: 4748, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4737, + StartPos: 4736, EndPos: 4747, }, Class: &name.Name{ Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4737, + StartPos: 4736, EndPos: 4739, }, Parts: []node.Node{ @@ -11197,7 +11198,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4737, + StartPos: 4736, EndPos: 4739, }, Value: "Foo", @@ -11208,14 +11209,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4742, + StartPos: 4741, EndPos: 4745, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4742, + StartPos: 4741, EndPos: 4745, }, Value: "bar", @@ -11225,7 +11226,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4746, + StartPos: 4745, EndPos: 4747, }, }, @@ -11235,28 +11236,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4752, + StartPos: 4751, EndPos: 4764, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4752, + StartPos: 4751, EndPos: 4763, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4752, + StartPos: 4751, EndPos: 4755, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4752, + StartPos: 4751, EndPos: 4755, }, Value: "foo", @@ -11266,14 +11267,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4758, + StartPos: 4757, EndPos: 4761, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4758, + StartPos: 4757, EndPos: 4761, }, Value: "bar", @@ -11283,7 +11284,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4762, + StartPos: 4761, EndPos: 4763, }, }, @@ -11293,21 +11294,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4768, + StartPos: 4767, EndPos: 4777, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4768, + StartPos: 4767, EndPos: 4776, }, Class: &name.Name{ Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4768, + StartPos: 4767, EndPos: 4770, }, Parts: []node.Node{ @@ -11315,7 +11316,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4768, + StartPos: 4767, EndPos: 4770, }, Value: "Foo", @@ -11326,14 +11327,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4773, + StartPos: 4772, EndPos: 4776, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 240, EndLine: 240, - StartPos: 4773, + StartPos: 4772, EndPos: 4776, }, Value: "bar", @@ -11345,21 +11346,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4781, + StartPos: 4780, EndPos: 4800, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4781, + StartPos: 4780, EndPos: 4799, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4781, + StartPos: 4780, EndPos: 4793, }, Parts: []node.Node{ @@ -11367,7 +11368,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4791, + StartPos: 4790, EndPos: 4793, }, Value: "Foo", @@ -11378,14 +11379,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4796, + StartPos: 4795, EndPos: 4799, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4796, + StartPos: 4795, EndPos: 4799, }, Value: "bar", @@ -11397,21 +11398,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4804, + StartPos: 4803, EndPos: 4814, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4804, + StartPos: 4803, EndPos: 4813, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4804, + StartPos: 4803, EndPos: 4807, }, Parts: []node.Node{ @@ -11419,7 +11420,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4805, + StartPos: 4804, EndPos: 4807, }, Value: "Foo", @@ -11430,14 +11431,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4810, + StartPos: 4809, EndPos: 4813, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4810, + StartPos: 4809, EndPos: 4813, }, Value: "bar", @@ -11449,28 +11450,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4818, + StartPos: 4817, EndPos: 4830, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4818, + StartPos: 4817, EndPos: 4829, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4818, + StartPos: 4817, EndPos: 4819, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4818, + StartPos: 4817, EndPos: 4819, }, Value: "a", @@ -11480,14 +11481,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4823, + StartPos: 4822, EndPos: 4824, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4823, + StartPos: 4822, EndPos: 4824, }, Value: "b", @@ -11497,14 +11498,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4828, + StartPos: 4827, EndPos: 4829, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4828, + StartPos: 4827, EndPos: 4829, }, Value: "c", @@ -11516,28 +11517,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4834, + StartPos: 4833, EndPos: 4843, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4834, + StartPos: 4833, EndPos: 4842, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4834, + StartPos: 4833, EndPos: 4835, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4834, + StartPos: 4833, EndPos: 4835, }, Value: "a", @@ -11547,14 +11548,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4841, + StartPos: 4840, EndPos: 4842, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4841, + StartPos: 4840, EndPos: 4842, }, Value: "c", @@ -11566,28 +11567,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4847, + StartPos: 4846, EndPos: 4869, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4847, + StartPos: 4846, EndPos: 4868, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4847, + StartPos: 4846, EndPos: 4848, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4847, + StartPos: 4846, EndPos: 4848, }, Value: "a", @@ -11597,21 +11598,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4852, + StartPos: 4851, EndPos: 4863, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4852, + StartPos: 4851, EndPos: 4853, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4852, + StartPos: 4851, EndPos: 4853, }, Value: "b", @@ -11621,14 +11622,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4857, + StartPos: 4856, EndPos: 4858, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4857, + StartPos: 4856, EndPos: 4858, }, Value: "c", @@ -11638,14 +11639,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4862, + StartPos: 4861, EndPos: 4863, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4862, + StartPos: 4861, EndPos: 4863, }, Value: "d", @@ -11656,14 +11657,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4867, + StartPos: 4866, EndPos: 4868, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4867, + StartPos: 4866, EndPos: 4868, }, Value: "e", @@ -11675,35 +11676,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4873, + StartPos: 4872, EndPos: 4895, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4873, + StartPos: 4872, EndPos: 4894, }, Condition: &expr.Ternary{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4873, + StartPos: 4872, EndPos: 4884, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4873, + StartPos: 4872, EndPos: 4874, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4873, + StartPos: 4872, EndPos: 4874, }, Value: "a", @@ -11713,14 +11714,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4878, + StartPos: 4877, EndPos: 4879, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4878, + StartPos: 4877, EndPos: 4879, }, Value: "b", @@ -11730,14 +11731,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4883, + StartPos: 4882, EndPos: 4884, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4883, + StartPos: 4882, EndPos: 4884, }, Value: "c", @@ -11748,14 +11749,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4888, + StartPos: 4887, EndPos: 4889, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4888, + StartPos: 4887, EndPos: 4889, }, Value: "d", @@ -11765,14 +11766,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4893, + StartPos: 4892, EndPos: 4894, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4893, + StartPos: 4892, EndPos: 4894, }, Value: "e", @@ -11784,28 +11785,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4899, + StartPos: 4898, EndPos: 4902, }, Expr: &expr.UnaryMinus{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4899, + StartPos: 4898, EndPos: 4901, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4900, + StartPos: 4899, EndPos: 4901, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4900, + StartPos: 4899, EndPos: 4901, }, Value: "a", @@ -11817,28 +11818,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4906, + StartPos: 4905, EndPos: 4909, }, Expr: &expr.UnaryPlus{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4906, + StartPos: 4905, EndPos: 4908, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4907, + StartPos: 4906, EndPos: 4908, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4907, + StartPos: 4906, EndPos: 4908, }, Value: "a", @@ -11850,28 +11851,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4913, + StartPos: 4912, EndPos: 4916, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4913, + StartPos: 4912, EndPos: 4915, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4914, + StartPos: 4913, EndPos: 4915, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4914, + StartPos: 4913, EndPos: 4915, }, Value: "a", @@ -11883,35 +11884,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4920, + StartPos: 4919, EndPos: 4924, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4920, + StartPos: 4919, EndPos: 4923, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4921, + StartPos: 4920, EndPos: 4923, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4922, + StartPos: 4921, EndPos: 4923, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4922, + StartPos: 4921, EndPos: 4923, }, Value: "a", @@ -11924,14 +11925,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4928, + StartPos: 4927, EndPos: 4933, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4928, + StartPos: 4927, EndPos: 4932, }, }, @@ -11940,28 +11941,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4937, + StartPos: 4936, EndPos: 4945, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4937, + StartPos: 4936, EndPos: 4944, }, Value: &expr.Variable{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4943, + StartPos: 4942, EndPos: 4944, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4943, + StartPos: 4942, EndPos: 4944, }, Value: "a", @@ -11973,28 +11974,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4949, + StartPos: 4948, EndPos: 4963, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4949, + StartPos: 4948, EndPos: 4962, }, Key: &expr.Variable{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4955, + StartPos: 4954, EndPos: 4956, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4955, + StartPos: 4954, EndPos: 4956, }, Value: "a", @@ -12004,14 +12005,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4961, + StartPos: 4960, EndPos: 4962, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4961, + StartPos: 4960, EndPos: 4962, }, Value: "b", @@ -12023,28 +12024,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4967, + StartPos: 4966, EndPos: 4983, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4967, + StartPos: 4966, EndPos: 4982, }, Value: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4973, + StartPos: 4972, EndPos: 4982, }, Class: &name.Name{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4973, + StartPos: 4972, EndPos: 4975, }, Parts: []node.Node{ @@ -12052,7 +12053,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4973, + StartPos: 4972, EndPos: 4975, }, Value: "Foo", @@ -12063,7 +12064,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4978, + StartPos: 4977, EndPos: 4982, }, Value: "class", @@ -12075,28 +12076,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4987, + StartPos: 4986, EndPos: 5009, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4987, + StartPos: 4986, EndPos: 5008, }, Key: &expr.Variable{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4993, + StartPos: 4992, EndPos: 4994, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4993, + StartPos: 4992, EndPos: 4994, }, Value: "a", @@ -12106,14 +12107,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4999, + StartPos: 4998, EndPos: 5008, }, Class: &name.Name{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4999, + StartPos: 4998, EndPos: 5001, }, Parts: []node.Node{ @@ -12121,7 +12122,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 4999, + StartPos: 4998, EndPos: 5001, }, Value: "Foo", @@ -12132,7 +12133,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 5004, + StartPos: 5003, EndPos: 5008, }, Value: "class", @@ -12144,28 +12145,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5016, + StartPos: 5015, EndPos: 5025, }, Expr: &cast.Array{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5016, + StartPos: 5015, EndPos: 5024, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5023, + StartPos: 5022, EndPos: 5024, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5023, + StartPos: 5022, EndPos: 5024, }, Value: "a", @@ -12177,28 +12178,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5029, + StartPos: 5028, EndPos: 5040, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5029, + StartPos: 5028, EndPos: 5039, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5038, + StartPos: 5037, EndPos: 5039, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5038, + StartPos: 5037, EndPos: 5039, }, Value: "a", @@ -12210,28 +12211,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5044, + StartPos: 5043, EndPos: 5052, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5044, + StartPos: 5043, EndPos: 5051, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5050, + StartPos: 5049, EndPos: 5051, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5050, + StartPos: 5049, EndPos: 5051, }, Value: "a", @@ -12243,28 +12244,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5056, + StartPos: 5055, EndPos: 5066, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5056, + StartPos: 5055, EndPos: 5065, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5064, + StartPos: 5063, EndPos: 5065, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5064, + StartPos: 5063, EndPos: 5065, }, Value: "a", @@ -12276,28 +12277,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5070, + StartPos: 5069, EndPos: 5079, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5070, + StartPos: 5069, EndPos: 5078, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5077, + StartPos: 5076, EndPos: 5078, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5077, + StartPos: 5076, EndPos: 5078, }, Value: "a", @@ -12309,28 +12310,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 262, EndLine: 262, - StartPos: 5083, + StartPos: 5082, EndPos: 5094, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 262, EndLine: 262, - StartPos: 5083, + StartPos: 5082, EndPos: 5093, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 262, EndLine: 262, - StartPos: 5092, + StartPos: 5091, EndPos: 5093, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 262, EndLine: 262, - StartPos: 5092, + StartPos: 5091, EndPos: 5093, }, Value: "a", @@ -12342,28 +12343,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5098, + StartPos: 5097, EndPos: 5105, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5098, + StartPos: 5097, EndPos: 5104, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5103, + StartPos: 5102, EndPos: 5104, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5103, + StartPos: 5102, EndPos: 5104, }, Value: "a", @@ -12375,28 +12376,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5109, + StartPos: 5108, EndPos: 5119, }, Expr: &cast.Object{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5109, + StartPos: 5108, EndPos: 5118, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5117, + StartPos: 5116, EndPos: 5118, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5117, + StartPos: 5116, EndPos: 5118, }, Value: "a", @@ -12408,28 +12409,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5123, + StartPos: 5122, EndPos: 5133, }, Expr: &cast.String{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5123, + StartPos: 5122, EndPos: 5132, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5131, + StartPos: 5130, EndPos: 5132, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5131, + StartPos: 5130, EndPos: 5132, }, Value: "a", @@ -12441,28 +12442,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5137, + StartPos: 5136, EndPos: 5146, }, Expr: &cast.Unset{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5137, + StartPos: 5136, EndPos: 5145, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5144, + StartPos: 5143, EndPos: 5145, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5144, + StartPos: 5143, EndPos: 5145, }, Value: "a", @@ -12474,28 +12475,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5151, + StartPos: 5150, EndPos: 5158, }, Expr: &binary.BitwiseAnd{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5151, + StartPos: 5150, EndPos: 5157, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5151, + StartPos: 5150, EndPos: 5152, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5151, + StartPos: 5150, EndPos: 5152, }, Value: "a", @@ -12505,14 +12506,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5156, + StartPos: 5155, EndPos: 5157, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5156, + StartPos: 5155, EndPos: 5157, }, Value: "b", @@ -12524,28 +12525,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5162, + StartPos: 5161, EndPos: 5169, }, Expr: &binary.BitwiseOr{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5162, + StartPos: 5161, EndPos: 5168, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5162, + StartPos: 5161, EndPos: 5163, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5162, + StartPos: 5161, EndPos: 5163, }, Value: "a", @@ -12555,14 +12556,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5167, + StartPos: 5166, EndPos: 5168, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5167, + StartPos: 5166, EndPos: 5168, }, Value: "b", @@ -12574,28 +12575,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5173, + StartPos: 5172, EndPos: 5180, }, Expr: &binary.BitwiseXor{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5173, + StartPos: 5172, EndPos: 5179, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5173, + StartPos: 5172, EndPos: 5174, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5173, + StartPos: 5172, EndPos: 5174, }, Value: "a", @@ -12605,14 +12606,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5178, + StartPos: 5177, EndPos: 5179, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5178, + StartPos: 5177, EndPos: 5179, }, Value: "b", @@ -12624,28 +12625,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5184, + StartPos: 5183, EndPos: 5192, }, Expr: &binary.BooleanAnd{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5184, + StartPos: 5183, EndPos: 5191, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5184, + StartPos: 5183, EndPos: 5185, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5184, + StartPos: 5183, EndPos: 5185, }, Value: "a", @@ -12655,14 +12656,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5190, + StartPos: 5189, EndPos: 5191, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5190, + StartPos: 5189, EndPos: 5191, }, Value: "b", @@ -12674,28 +12675,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5196, + StartPos: 5195, EndPos: 5204, }, Expr: &binary.BooleanOr{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5196, + StartPos: 5195, EndPos: 5203, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5196, + StartPos: 5195, EndPos: 5197, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5196, + StartPos: 5195, EndPos: 5197, }, Value: "a", @@ -12705,14 +12706,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5202, + StartPos: 5201, EndPos: 5203, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5202, + StartPos: 5201, EndPos: 5203, }, Value: "b", @@ -12724,28 +12725,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5208, + StartPos: 5207, EndPos: 5215, }, Expr: &binary.Concat{ Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5208, + StartPos: 5207, EndPos: 5214, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5208, + StartPos: 5207, EndPos: 5209, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5208, + StartPos: 5207, EndPos: 5209, }, Value: "a", @@ -12755,14 +12756,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5213, + StartPos: 5212, EndPos: 5214, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 273, EndLine: 273, - StartPos: 5213, + StartPos: 5212, EndPos: 5214, }, Value: "b", @@ -12774,28 +12775,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5219, + StartPos: 5218, EndPos: 5226, }, Expr: &binary.Div{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5219, + StartPos: 5218, EndPos: 5225, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5219, + StartPos: 5218, EndPos: 5220, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5219, + StartPos: 5218, EndPos: 5220, }, Value: "a", @@ -12805,14 +12806,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5224, + StartPos: 5223, EndPos: 5225, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5224, + StartPos: 5223, EndPos: 5225, }, Value: "b", @@ -12824,28 +12825,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5230, + StartPos: 5229, EndPos: 5238, }, Expr: &binary.Equal{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5230, + StartPos: 5229, EndPos: 5237, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5230, + StartPos: 5229, EndPos: 5231, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5230, + StartPos: 5229, EndPos: 5231, }, Value: "a", @@ -12855,14 +12856,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5236, + StartPos: 5235, EndPos: 5237, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5236, + StartPos: 5235, EndPos: 5237, }, Value: "b", @@ -12874,28 +12875,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5242, + StartPos: 5241, EndPos: 5250, }, Expr: &binary.GreaterOrEqual{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5242, + StartPos: 5241, EndPos: 5249, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5242, + StartPos: 5241, EndPos: 5243, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5242, + StartPos: 5241, EndPos: 5243, }, Value: "a", @@ -12905,14 +12906,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5248, + StartPos: 5247, EndPos: 5249, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5248, + StartPos: 5247, EndPos: 5249, }, Value: "b", @@ -12924,28 +12925,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5254, + StartPos: 5253, EndPos: 5261, }, Expr: &binary.Greater{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5254, + StartPos: 5253, EndPos: 5260, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5254, + StartPos: 5253, EndPos: 5255, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5254, + StartPos: 5253, EndPos: 5255, }, Value: "a", @@ -12955,14 +12956,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5259, + StartPos: 5258, EndPos: 5260, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5259, + StartPos: 5258, EndPos: 5260, }, Value: "b", @@ -12974,28 +12975,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5265, + StartPos: 5264, EndPos: 5274, }, Expr: &binary.Identical{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5265, + StartPos: 5264, EndPos: 5273, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5265, + StartPos: 5264, EndPos: 5266, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5265, + StartPos: 5264, EndPos: 5266, }, Value: "a", @@ -13005,14 +13006,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5272, + StartPos: 5271, EndPos: 5273, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5272, + StartPos: 5271, EndPos: 5273, }, Value: "b", @@ -13024,28 +13025,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5278, + StartPos: 5277, EndPos: 5287, }, Expr: &binary.LogicalAnd{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5278, + StartPos: 5277, EndPos: 5286, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5278, + StartPos: 5277, EndPos: 5279, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5278, + StartPos: 5277, EndPos: 5279, }, Value: "a", @@ -13055,14 +13056,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5285, + StartPos: 5284, EndPos: 5286, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5285, + StartPos: 5284, EndPos: 5286, }, Value: "b", @@ -13074,28 +13075,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5291, + StartPos: 5290, EndPos: 5299, }, Expr: &binary.LogicalOr{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5291, + StartPos: 5290, EndPos: 5298, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5291, + StartPos: 5290, EndPos: 5292, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5291, + StartPos: 5290, EndPos: 5292, }, Value: "a", @@ -13105,14 +13106,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5297, + StartPos: 5296, EndPos: 5298, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5297, + StartPos: 5296, EndPos: 5298, }, Value: "b", @@ -13124,28 +13125,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5303, + StartPos: 5302, EndPos: 5312, }, Expr: &binary.LogicalXor{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5303, + StartPos: 5302, EndPos: 5311, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5303, + StartPos: 5302, EndPos: 5304, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5303, + StartPos: 5302, EndPos: 5304, }, Value: "a", @@ -13155,14 +13156,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5310, + StartPos: 5309, EndPos: 5311, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5310, + StartPos: 5309, EndPos: 5311, }, Value: "b", @@ -13174,28 +13175,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5316, + StartPos: 5315, EndPos: 5323, }, Expr: &binary.Minus{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5316, + StartPos: 5315, EndPos: 5322, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5316, + StartPos: 5315, EndPos: 5317, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5316, + StartPos: 5315, EndPos: 5317, }, Value: "a", @@ -13205,14 +13206,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5321, + StartPos: 5320, EndPos: 5322, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5321, + StartPos: 5320, EndPos: 5322, }, Value: "b", @@ -13224,28 +13225,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5327, + StartPos: 5326, EndPos: 5334, }, Expr: &binary.Mod{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5327, + StartPos: 5326, EndPos: 5333, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5327, + StartPos: 5326, EndPos: 5328, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5327, + StartPos: 5326, EndPos: 5328, }, Value: "a", @@ -13255,14 +13256,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5332, + StartPos: 5331, EndPos: 5333, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5332, + StartPos: 5331, EndPos: 5333, }, Value: "b", @@ -13274,28 +13275,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5338, + StartPos: 5337, EndPos: 5345, }, Expr: &binary.Mul{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5338, + StartPos: 5337, EndPos: 5344, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5338, + StartPos: 5337, EndPos: 5339, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5338, + StartPos: 5337, EndPos: 5339, }, Value: "a", @@ -13305,14 +13306,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5343, + StartPos: 5342, EndPos: 5344, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5343, + StartPos: 5342, EndPos: 5344, }, Value: "b", @@ -13324,28 +13325,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5349, + StartPos: 5348, EndPos: 5357, }, Expr: &binary.NotEqual{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5349, + StartPos: 5348, EndPos: 5356, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5349, + StartPos: 5348, EndPos: 5350, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5349, + StartPos: 5348, EndPos: 5350, }, Value: "a", @@ -13355,14 +13356,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5355, + StartPos: 5354, EndPos: 5356, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5355, + StartPos: 5354, EndPos: 5356, }, Value: "b", @@ -13374,28 +13375,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5361, + StartPos: 5360, EndPos: 5370, }, Expr: &binary.NotIdentical{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5361, + StartPos: 5360, EndPos: 5369, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5361, + StartPos: 5360, EndPos: 5362, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5361, + StartPos: 5360, EndPos: 5362, }, Value: "a", @@ -13405,14 +13406,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5368, + StartPos: 5367, EndPos: 5369, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5368, + StartPos: 5367, EndPos: 5369, }, Value: "b", @@ -13424,28 +13425,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5374, + StartPos: 5373, EndPos: 5381, }, Expr: &binary.Plus{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5374, + StartPos: 5373, EndPos: 5380, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5374, + StartPos: 5373, EndPos: 5375, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5374, + StartPos: 5373, EndPos: 5375, }, Value: "a", @@ -13455,14 +13456,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5379, + StartPos: 5378, EndPos: 5380, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5379, + StartPos: 5378, EndPos: 5380, }, Value: "b", @@ -13474,28 +13475,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5385, + StartPos: 5384, EndPos: 5393, }, Expr: &binary.Pow{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5385, + StartPos: 5384, EndPos: 5392, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5385, + StartPos: 5384, EndPos: 5386, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5385, + StartPos: 5384, EndPos: 5386, }, Value: "a", @@ -13505,14 +13506,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5391, + StartPos: 5390, EndPos: 5392, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5391, + StartPos: 5390, EndPos: 5392, }, Value: "b", @@ -13524,28 +13525,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5397, + StartPos: 5396, EndPos: 5405, }, Expr: &binary.ShiftLeft{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5397, + StartPos: 5396, EndPos: 5404, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5397, + StartPos: 5396, EndPos: 5398, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5397, + StartPos: 5396, EndPos: 5398, }, Value: "a", @@ -13555,14 +13556,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5403, + StartPos: 5402, EndPos: 5404, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5403, + StartPos: 5402, EndPos: 5404, }, Value: "b", @@ -13574,28 +13575,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5409, + StartPos: 5408, EndPos: 5417, }, Expr: &binary.ShiftRight{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5409, + StartPos: 5408, EndPos: 5416, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5409, + StartPos: 5408, EndPos: 5410, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5409, + StartPos: 5408, EndPos: 5410, }, Value: "a", @@ -13605,14 +13606,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5415, + StartPos: 5414, EndPos: 5416, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5415, + StartPos: 5414, EndPos: 5416, }, Value: "b", @@ -13624,28 +13625,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5421, + StartPos: 5420, EndPos: 5429, }, Expr: &binary.SmallerOrEqual{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5421, + StartPos: 5420, EndPos: 5428, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5421, + StartPos: 5420, EndPos: 5422, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5421, + StartPos: 5420, EndPos: 5422, }, Value: "a", @@ -13655,14 +13656,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5427, + StartPos: 5426, EndPos: 5428, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5427, + StartPos: 5426, EndPos: 5428, }, Value: "b", @@ -13674,28 +13675,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5433, + StartPos: 5432, EndPos: 5440, }, Expr: &binary.Smaller{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5433, + StartPos: 5432, EndPos: 5439, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5433, + StartPos: 5432, EndPos: 5434, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5433, + StartPos: 5432, EndPos: 5434, }, Value: "a", @@ -13705,14 +13706,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5438, + StartPos: 5437, EndPos: 5439, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5438, + StartPos: 5437, EndPos: 5439, }, Value: "b", @@ -13724,28 +13725,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5445, + StartPos: 5444, EndPos: 5453, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5445, + StartPos: 5444, EndPos: 5452, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5445, + StartPos: 5444, EndPos: 5446, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5445, + StartPos: 5444, EndPos: 5446, }, Value: "a", @@ -13755,14 +13756,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5451, + StartPos: 5450, EndPos: 5452, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5451, + StartPos: 5450, EndPos: 5452, }, Value: "b", @@ -13774,28 +13775,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5457, + StartPos: 5456, EndPos: 5470, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5457, + StartPos: 5456, EndPos: 5469, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5457, + StartPos: 5456, EndPos: 5458, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5457, + StartPos: 5456, EndPos: 5458, }, Value: "a", @@ -13805,14 +13806,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5463, + StartPos: 5462, EndPos: 5469, }, Class: &name.Name{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5467, + StartPos: 5466, EndPos: 5469, }, Parts: []node.Node{ @@ -13820,7 +13821,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5467, + StartPos: 5466, EndPos: 5469, }, Value: "Foo", @@ -13834,28 +13835,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5474, + StartPos: 5473, EndPos: 5491, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5474, + StartPos: 5473, EndPos: 5490, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5474, + StartPos: 5473, EndPos: 5475, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5474, + StartPos: 5473, EndPos: 5475, }, Value: "a", @@ -13865,14 +13866,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5480, + StartPos: 5479, EndPos: 5490, }, Class: &name.Name{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5484, + StartPos: 5483, EndPos: 5486, }, Parts: []node.Node{ @@ -13880,7 +13881,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5484, + StartPos: 5483, EndPos: 5486, }, Value: "Foo", @@ -13891,7 +13892,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5487, + StartPos: 5486, EndPos: 5490, }, Arguments: []node.Node{ @@ -13899,23 +13900,23 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5488, + StartPos: 5487, EndPos: 5489, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5488, + StartPos: 5487, EndPos: 5489, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5488, + StartPos: 5487, EndPos: 5489, }, Value: "b", @@ -13931,28 +13932,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5495, + StartPos: 5494, EndPos: 5502, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5495, + StartPos: 5494, EndPos: 5501, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5495, + StartPos: 5494, EndPos: 5496, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5495, + StartPos: 5494, EndPos: 5496, }, Value: "a", @@ -13962,14 +13963,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5500, + StartPos: 5499, EndPos: 5501, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5500, + StartPos: 5499, EndPos: 5501, }, Value: "b", @@ -13981,28 +13982,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5506, + StartPos: 5505, EndPos: 5514, }, Expr: &assign.BitwiseAnd{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5506, + StartPos: 5505, EndPos: 5513, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5506, + StartPos: 5505, EndPos: 5507, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5506, + StartPos: 5505, EndPos: 5507, }, Value: "a", @@ -14012,14 +14013,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5512, + StartPos: 5511, EndPos: 5513, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5512, + StartPos: 5511, EndPos: 5513, }, Value: "b", @@ -14031,28 +14032,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5518, + StartPos: 5517, EndPos: 5526, }, Expr: &assign.BitwiseOr{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5518, + StartPos: 5517, EndPos: 5525, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5518, + StartPos: 5517, EndPos: 5519, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5518, + StartPos: 5517, EndPos: 5519, }, Value: "a", @@ -14062,14 +14063,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5524, + StartPos: 5523, EndPos: 5525, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5524, + StartPos: 5523, EndPos: 5525, }, Value: "b", @@ -14081,28 +14082,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5530, + StartPos: 5529, EndPos: 5538, }, Expr: &assign.BitwiseXor{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5530, + StartPos: 5529, EndPos: 5537, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5530, + StartPos: 5529, EndPos: 5531, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5530, + StartPos: 5529, EndPos: 5531, }, Value: "a", @@ -14112,14 +14113,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5536, + StartPos: 5535, EndPos: 5537, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5536, + StartPos: 5535, EndPos: 5537, }, Value: "b", @@ -14131,28 +14132,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5542, + StartPos: 5541, EndPos: 5550, }, Expr: &assign.Concat{ Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5542, + StartPos: 5541, EndPos: 5549, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5542, + StartPos: 5541, EndPos: 5543, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5542, + StartPos: 5541, EndPos: 5543, }, Value: "a", @@ -14162,14 +14163,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5548, + StartPos: 5547, EndPos: 5549, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 301, EndLine: 301, - StartPos: 5548, + StartPos: 5547, EndPos: 5549, }, Value: "b", @@ -14181,28 +14182,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5554, + StartPos: 5553, EndPos: 5562, }, Expr: &assign.Div{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5554, + StartPos: 5553, EndPos: 5561, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5554, + StartPos: 5553, EndPos: 5555, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5554, + StartPos: 5553, EndPos: 5555, }, Value: "a", @@ -14212,14 +14213,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5560, + StartPos: 5559, EndPos: 5561, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5560, + StartPos: 5559, EndPos: 5561, }, Value: "b", @@ -14231,28 +14232,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5566, + StartPos: 5565, EndPos: 5574, }, Expr: &assign.Minus{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5566, + StartPos: 5565, EndPos: 5573, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5566, + StartPos: 5565, EndPos: 5567, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5566, + StartPos: 5565, EndPos: 5567, }, Value: "a", @@ -14262,14 +14263,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5572, + StartPos: 5571, EndPos: 5573, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5572, + StartPos: 5571, EndPos: 5573, }, Value: "b", @@ -14281,28 +14282,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5578, + StartPos: 5577, EndPos: 5586, }, Expr: &assign.Mod{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5578, + StartPos: 5577, EndPos: 5585, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5578, + StartPos: 5577, EndPos: 5579, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5578, + StartPos: 5577, EndPos: 5579, }, Value: "a", @@ -14312,14 +14313,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5584, + StartPos: 5583, EndPos: 5585, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5584, + StartPos: 5583, EndPos: 5585, }, Value: "b", @@ -14331,28 +14332,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5590, + StartPos: 5589, EndPos: 5598, }, Expr: &assign.Mul{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5590, + StartPos: 5589, EndPos: 5597, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5590, + StartPos: 5589, EndPos: 5591, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5590, + StartPos: 5589, EndPos: 5591, }, Value: "a", @@ -14362,14 +14363,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5596, + StartPos: 5595, EndPos: 5597, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5596, + StartPos: 5595, EndPos: 5597, }, Value: "b", @@ -14381,28 +14382,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5602, + StartPos: 5601, EndPos: 5610, }, Expr: &assign.Plus{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5602, + StartPos: 5601, EndPos: 5609, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5602, + StartPos: 5601, EndPos: 5603, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5602, + StartPos: 5601, EndPos: 5603, }, Value: "a", @@ -14412,14 +14413,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5608, + StartPos: 5607, EndPos: 5609, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5608, + StartPos: 5607, EndPos: 5609, }, Value: "b", @@ -14431,28 +14432,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5614, + StartPos: 5613, EndPos: 5623, }, Expr: &assign.Pow{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5614, + StartPos: 5613, EndPos: 5622, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5614, + StartPos: 5613, EndPos: 5615, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5614, + StartPos: 5613, EndPos: 5615, }, Value: "a", @@ -14462,14 +14463,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5621, + StartPos: 5620, EndPos: 5622, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5621, + StartPos: 5620, EndPos: 5622, }, Value: "b", @@ -14481,28 +14482,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5627, + StartPos: 5626, EndPos: 5636, }, Expr: &assign.ShiftLeft{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5627, + StartPos: 5626, EndPos: 5635, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5627, + StartPos: 5626, EndPos: 5628, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5627, + StartPos: 5626, EndPos: 5628, }, Value: "a", @@ -14512,14 +14513,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5634, + StartPos: 5633, EndPos: 5635, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5634, + StartPos: 5633, EndPos: 5635, }, Value: "b", @@ -14531,28 +14532,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5649, }, Expr: &assign.ShiftRight{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5648, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5641, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5641, }, Value: "a", @@ -14562,14 +14563,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5647, + StartPos: 5646, EndPos: 5648, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5647, + StartPos: 5646, EndPos: 5648, }, Value: "b", @@ -14581,21 +14582,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5656, + StartPos: 5655, EndPos: 5667, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5656, + StartPos: 5655, EndPos: 5665, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5660, + StartPos: 5659, EndPos: 5663, }, Parts: []node.Node{ @@ -14603,7 +14604,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5661, + StartPos: 5660, EndPos: 5663, }, Value: "Foo", @@ -14614,7 +14615,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5664, + StartPos: 5663, EndPos: 5665, }, }, @@ -14624,35 +14625,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5692, + StartPos: 5691, EndPos: 5695, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5692, + StartPos: 5691, EndPos: 5694, }, Variable: &expr.MethodCall{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5688, + StartPos: 5687, EndPos: 5689, }, Variable: &expr.New{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5672, + StartPos: 5671, EndPos: 5681, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5676, + StartPos: 5675, EndPos: 5679, }, Parts: []node.Node{ @@ -14660,7 +14661,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5677, + StartPos: 5676, EndPos: 5679, }, Value: "Foo", @@ -14671,7 +14672,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5680, + StartPos: 5679, EndPos: 5681, }, }, @@ -14680,7 +14681,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5685, + StartPos: 5684, EndPos: 5687, }, Value: "bar", @@ -14689,7 +14690,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5688, + StartPos: 5687, EndPos: 5689, }, }, @@ -14698,7 +14699,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5692, + StartPos: 5691, EndPos: 5694, }, Value: "baz", @@ -14709,35 +14710,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5715, + StartPos: 5714, EndPos: 5717, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5715, + StartPos: 5714, EndPos: 5715, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5712, + StartPos: 5711, EndPos: 5712, }, Variable: &expr.New{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5700, + StartPos: 5699, EndPos: 5709, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5704, + StartPos: 5703, EndPos: 5707, }, Parts: []node.Node{ @@ -14745,7 +14746,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5705, + StartPos: 5704, EndPos: 5707, }, Value: "Foo", @@ -14756,7 +14757,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5708, + StartPos: 5707, EndPos: 5709, }, }, @@ -14765,7 +14766,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5712, + StartPos: 5711, EndPos: 5712, }, Value: "0", @@ -14775,7 +14776,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5715, + StartPos: 5714, EndPos: 5715, }, Value: "0", @@ -14786,35 +14787,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5741, + StartPos: 5740, EndPos: 5743, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5741, + StartPos: 5740, EndPos: 5742, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5734, + StartPos: 5733, EndPos: 5734, }, Variable: &expr.New{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5722, + StartPos: 5721, EndPos: 5731, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5726, + StartPos: 5725, EndPos: 5729, }, Parts: []node.Node{ @@ -14822,7 +14823,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5727, + StartPos: 5726, EndPos: 5729, }, Value: "Foo", @@ -14833,7 +14834,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5730, + StartPos: 5729, EndPos: 5731, }, }, @@ -14842,7 +14843,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5734, + StartPos: 5733, EndPos: 5734, }, Value: "0", @@ -14852,7 +14853,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5738, + StartPos: 5737, EndPos: 5740, }, Value: "bar", @@ -14861,7 +14862,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5741, + StartPos: 5740, EndPos: 5742, }, }, @@ -14871,28 +14872,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5748, + StartPos: 5747, EndPos: 5764, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5748, + StartPos: 5747, EndPos: 5763, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5748, + StartPos: 5747, EndPos: 5760, }, Variable: &expr.Array{ Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5748, + StartPos: 5747, EndPos: 5757, }, Items: []node.Node{ @@ -14900,14 +14901,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5754, + StartPos: 5753, EndPos: 5756, }, Val: &expr.ShortArray{ Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5754, + StartPos: 5753, EndPos: 5756, }, Items: []node.Node{ @@ -14915,14 +14916,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5755, + StartPos: 5754, EndPos: 5755, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5755, + StartPos: 5754, EndPos: 5755, }, Value: "0", @@ -14937,7 +14938,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5759, + StartPos: 5758, EndPos: 5759, }, Value: "0", @@ -14947,7 +14948,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5762, + StartPos: 5761, EndPos: 5762, }, Value: "0", @@ -14958,21 +14959,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5768, + StartPos: 5767, EndPos: 5776, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5768, + StartPos: 5767, EndPos: 5775, }, Variable: &scalar.String{ Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5768, + StartPos: 5767, EndPos: 5772, }, Value: "\"foo\"", @@ -14981,7 +14982,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5774, + StartPos: 5773, EndPos: 5774, }, Value: "0", @@ -14992,28 +14993,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5780, + StartPos: 5779, EndPos: 5786, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5780, + StartPos: 5779, EndPos: 5785, }, Variable: &expr.ConstFetch{ Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5780, + StartPos: 5779, EndPos: 5782, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5780, + StartPos: 5779, EndPos: 5782, }, Parts: []node.Node{ @@ -15021,7 +15022,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5780, + StartPos: 5779, EndPos: 5782, }, Value: "foo", @@ -15033,7 +15034,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 319, EndLine: 319, - StartPos: 5784, + StartPos: 5783, EndPos: 5784, }, Value: "0", @@ -15044,21 +15045,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5790, + StartPos: 5789, EndPos: 5801, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5790, + StartPos: 5789, EndPos: 5800, }, Class: &node.Identifier{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5790, + StartPos: 5789, EndPos: 5795, }, Value: "static", @@ -15067,7 +15068,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5798, + StartPos: 5797, EndPos: 5800, }, Value: "foo", @@ -15078,28 +15079,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5806, + StartPos: 5805, EndPos: 5814, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5806, + StartPos: 5805, EndPos: 5813, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5810, + StartPos: 5809, EndPos: 5813, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5810, + StartPos: 5809, EndPos: 5813, }, Value: "foo", @@ -15111,35 +15112,35 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5818, + StartPos: 5817, EndPos: 5832, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5818, + StartPos: 5817, EndPos: 5831, }, Class: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5822, + StartPos: 5821, EndPos: 5831, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5822, + StartPos: 5821, EndPos: 5825, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5822, + StartPos: 5821, EndPos: 5825, }, Value: "foo", @@ -15149,14 +15150,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5828, + StartPos: 5827, EndPos: 5831, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5828, + StartPos: 5827, EndPos: 5831, }, Value: "bar", @@ -15169,42 +15170,42 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5836, + StartPos: 5835, EndPos: 5848, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5836, + StartPos: 5835, EndPos: 5846, }, Class: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5846, + StartPos: 5845, EndPos: 5846, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5844, + StartPos: 5843, EndPos: 5846, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5840, + StartPos: 5839, EndPos: 5844, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5840, + StartPos: 5839, EndPos: 5841, }, Value: "a", @@ -15214,7 +15215,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5844, + StartPos: 5843, EndPos: 5844, }, Value: "b", @@ -15224,7 +15225,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5846, + StartPos: 5845, EndPos: 5846, }, Value: "0", @@ -15236,63 +15237,63 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5852, + StartPos: 5851, EndPos: 5883, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5852, + StartPos: 5851, EndPos: 5881, }, Class: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5881, + StartPos: 5880, EndPos: 5881, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5879, + StartPos: 5878, EndPos: 5881, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5875, + StartPos: 5874, EndPos: 5879, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5862, + StartPos: 5861, EndPos: 5876, }, Variable: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5860, + StartPos: 5859, EndPos: 5871, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5856, + StartPos: 5855, EndPos: 5860, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5856, + StartPos: 5855, EndPos: 5857, }, Value: "a", @@ -15302,7 +15303,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5860, + StartPos: 5859, EndPos: 5860, }, Value: "b", @@ -15312,21 +15313,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5862, + StartPos: 5861, EndPos: 5871, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5862, + StartPos: 5861, EndPos: 5863, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5862, + StartPos: 5861, EndPos: 5863, }, Value: "b", @@ -15336,14 +15337,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5868, + StartPos: 5867, EndPos: 5871, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5868, + StartPos: 5867, EndPos: 5871, }, Parts: []node.Node{ @@ -15351,7 +15352,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5868, + StartPos: 5867, EndPos: 5871, }, Value: "null", @@ -15365,14 +15366,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5875, + StartPos: 5874, EndPos: 5876, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5875, + StartPos: 5874, EndPos: 5876, }, Value: "c", @@ -15383,7 +15384,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5879, + StartPos: 5878, EndPos: 5879, }, Value: "d", @@ -15393,7 +15394,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5881, + StartPos: 5880, EndPos: 5881, }, Value: "0", @@ -15405,7 +15406,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5884, + StartPos: 5883, EndPos: 5902, }, Vars: []node.Node{ @@ -15413,21 +15414,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5891, + StartPos: 5890, EndPos: 5901, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5891, + StartPos: 5890, EndPos: 5892, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5891, + StartPos: 5890, EndPos: 5892, }, Value: "a", @@ -15437,14 +15438,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5896, + StartPos: 5895, EndPos: 5901, }, Variable: &expr.ShortArray{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5896, + StartPos: 5895, EndPos: 5898, }, Items: []node.Node{ @@ -15452,14 +15453,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5897, + StartPos: 5896, EndPos: 5897, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5897, + StartPos: 5896, EndPos: 5897, }, Value: "1", @@ -15471,7 +15472,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5900, + StartPos: 5899, EndPos: 5900, }, Value: "0", @@ -15484,7 +15485,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5907, + StartPos: 5906, EndPos: 5921, }, Vars: []node.Node{ @@ -15492,21 +15493,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5914, + StartPos: 5913, EndPos: 5920, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5914, + StartPos: 5913, EndPos: 5915, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5914, + StartPos: 5913, EndPos: 5915, }, Value: "a", @@ -15516,14 +15517,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5919, + StartPos: 5918, EndPos: 5920, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 327, EndLine: 327, - StartPos: 5920, + StartPos: 5919, EndPos: 5920, }, Value: "1", @@ -15536,7 +15537,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5925, + StartPos: 5924, EndPos: 5939, }, Vars: []node.Node{ @@ -15544,21 +15545,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5932, + StartPos: 5931, EndPos: 5938, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5932, + StartPos: 5931, EndPos: 5933, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5932, + StartPos: 5931, EndPos: 5933, }, Value: "a", @@ -15568,14 +15569,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5937, + StartPos: 5936, EndPos: 5938, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5938, + StartPos: 5937, EndPos: 5938, }, Value: "1", @@ -15588,7 +15589,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5943, + StartPos: 5942, EndPos: 5957, }, Vars: []node.Node{ @@ -15596,21 +15597,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5950, + StartPos: 5949, EndPos: 5956, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5950, + StartPos: 5949, EndPos: 5951, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5950, + StartPos: 5949, EndPos: 5951, }, Value: "a", @@ -15620,14 +15621,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5955, + StartPos: 5954, EndPos: 5956, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5956, + StartPos: 5955, EndPos: 5956, }, Value: "1", @@ -15640,7 +15641,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5961, + StartPos: 5960, EndPos: 5975, }, Vars: []node.Node{ @@ -15648,21 +15649,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5968, + StartPos: 5967, EndPos: 5974, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5968, + StartPos: 5967, EndPos: 5969, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5968, + StartPos: 5967, EndPos: 5969, }, Value: "a", @@ -15672,14 +15673,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5973, + StartPos: 5972, EndPos: 5974, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5974, + StartPos: 5973, EndPos: 5974, }, Value: "1", @@ -15692,7 +15693,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 331, EndLine: 331, - StartPos: 5979, + StartPos: 5978, EndPos: 5994, }, Vars: []node.Node{ @@ -15700,21 +15701,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 331, EndLine: 331, - StartPos: 5986, + StartPos: 5985, EndPos: 5992, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 331, EndLine: 331, - StartPos: 5986, + StartPos: 5985, EndPos: 5987, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 331, EndLine: 331, - StartPos: 5986, + StartPos: 5985, EndPos: 5987, }, Value: "a", @@ -15724,7 +15725,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 331, EndLine: 331, - StartPos: 5992, + StartPos: 5991, EndPos: 5992, }, Value: "1", @@ -15736,7 +15737,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 5998, + StartPos: 5997, EndPos: 6016, }, Vars: []node.Node{ @@ -15744,21 +15745,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6005, + StartPos: 6004, EndPos: 6015, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6005, + StartPos: 6004, EndPos: 6006, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6005, + StartPos: 6004, EndPos: 6006, }, Value: "a", @@ -15768,14 +15769,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6010, + StartPos: 6009, EndPos: 6015, }, Condition: &scalar.Lnumber{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6010, + StartPos: 6009, EndPos: 6010, }, Value: "1", @@ -15784,7 +15785,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6015, + StartPos: 6014, EndPos: 6015, }, Value: "2", @@ -15797,7 +15798,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6020, + StartPos: 6019, EndPos: 6041, }, Vars: []node.Node{ @@ -15805,21 +15806,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6027, + StartPos: 6026, EndPos: 6040, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6027, + StartPos: 6026, EndPos: 6028, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6027, + StartPos: 6026, EndPos: 6028, }, Value: "a", @@ -15829,14 +15830,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6032, + StartPos: 6031, EndPos: 6040, }, Condition: &scalar.Lnumber{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6032, + StartPos: 6031, EndPos: 6032, }, Value: "1", @@ -15845,7 +15846,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6036, + StartPos: 6035, EndPos: 6036, }, Value: "2", @@ -15854,7 +15855,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6040, + StartPos: 6039, EndPos: 6040, }, Value: "3", @@ -15867,7 +15868,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6045, + StartPos: 6044, EndPos: 6062, }, Vars: []node.Node{ @@ -15875,21 +15876,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6052, + StartPos: 6051, EndPos: 6061, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6052, + StartPos: 6051, EndPos: 6053, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6052, + StartPos: 6051, EndPos: 6053, }, Value: "a", @@ -15899,14 +15900,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6057, + StartPos: 6056, EndPos: 6061, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6057, + StartPos: 6056, EndPos: 6057, }, Value: "1", @@ -15915,7 +15916,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6061, + StartPos: 6060, EndPos: 6061, }, Value: "2", @@ -15928,7 +15929,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6066, + StartPos: 6065, EndPos: 6083, }, Vars: []node.Node{ @@ -15936,21 +15937,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6073, + StartPos: 6072, EndPos: 6082, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6073, + StartPos: 6072, EndPos: 6074, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6073, + StartPos: 6072, EndPos: 6074, }, Value: "a", @@ -15960,14 +15961,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6078, + StartPos: 6077, EndPos: 6082, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6078, + StartPos: 6077, EndPos: 6078, }, Value: "1", @@ -15976,7 +15977,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6082, + StartPos: 6081, EndPos: 6082, }, Value: "2", @@ -15989,7 +15990,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6087, + StartPos: 6086, EndPos: 6104, }, Vars: []node.Node{ @@ -15997,21 +15998,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6094, + StartPos: 6093, EndPos: 6103, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6094, + StartPos: 6093, EndPos: 6095, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6094, + StartPos: 6093, EndPos: 6095, }, Value: "a", @@ -16021,14 +16022,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6099, + StartPos: 6098, EndPos: 6103, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6099, + StartPos: 6098, EndPos: 6099, }, Value: "1", @@ -16037,7 +16038,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6103, + StartPos: 6102, EndPos: 6103, }, Value: "2", @@ -16050,7 +16051,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6108, + StartPos: 6107, EndPos: 6126, }, Vars: []node.Node{ @@ -16058,21 +16059,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6115, + StartPos: 6114, EndPos: 6125, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6115, + StartPos: 6114, EndPos: 6116, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6115, + StartPos: 6114, EndPos: 6116, }, Value: "a", @@ -16082,14 +16083,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6120, + StartPos: 6119, EndPos: 6125, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6120, + StartPos: 6119, EndPos: 6120, }, Value: "1", @@ -16098,7 +16099,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6125, + StartPos: 6124, EndPos: 6125, }, Value: "2", @@ -16111,7 +16112,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6130, + StartPos: 6129, EndPos: 6148, }, Vars: []node.Node{ @@ -16119,21 +16120,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6137, + StartPos: 6136, EndPos: 6147, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6137, + StartPos: 6136, EndPos: 6138, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6137, + StartPos: 6136, EndPos: 6138, }, Value: "a", @@ -16143,14 +16144,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6142, + StartPos: 6141, EndPos: 6147, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6142, + StartPos: 6141, EndPos: 6142, }, Value: "1", @@ -16159,7 +16160,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6147, + StartPos: 6146, EndPos: 6147, }, Value: "2", @@ -16172,7 +16173,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6152, + StartPos: 6151, EndPos: 6169, }, Vars: []node.Node{ @@ -16180,21 +16181,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6159, + StartPos: 6158, EndPos: 6168, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6159, + StartPos: 6158, EndPos: 6160, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6159, + StartPos: 6158, EndPos: 6160, }, Value: "a", @@ -16204,14 +16205,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6164, + StartPos: 6163, EndPos: 6168, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6164, + StartPos: 6163, EndPos: 6164, }, Value: "1", @@ -16220,7 +16221,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 339, EndLine: 339, - StartPos: 6168, + StartPos: 6167, EndPos: 6168, }, Value: "2", @@ -16233,7 +16234,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6173, + StartPos: 6172, EndPos: 6190, }, Vars: []node.Node{ @@ -16241,21 +16242,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6180, + StartPos: 6179, EndPos: 6189, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6180, + StartPos: 6179, EndPos: 6181, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6180, + StartPos: 6179, EndPos: 6181, }, Value: "a", @@ -16265,14 +16266,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6185, + StartPos: 6184, EndPos: 6189, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6185, + StartPos: 6184, EndPos: 6185, }, Value: "1", @@ -16281,7 +16282,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6189, + StartPos: 6188, EndPos: 6189, }, Value: "2", @@ -16294,7 +16295,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6194, + StartPos: 6193, EndPos: 6212, }, Vars: []node.Node{ @@ -16302,21 +16303,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6201, + StartPos: 6200, EndPos: 6211, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6201, + StartPos: 6200, EndPos: 6202, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6201, + StartPos: 6200, EndPos: 6202, }, Value: "a", @@ -16326,14 +16327,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6206, + StartPos: 6205, EndPos: 6211, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6206, + StartPos: 6205, EndPos: 6206, }, Value: "1", @@ -16342,7 +16343,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6211, + StartPos: 6210, EndPos: 6211, }, Value: "2", @@ -16355,7 +16356,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6216, + StartPos: 6215, EndPos: 6234, }, Vars: []node.Node{ @@ -16363,21 +16364,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6223, + StartPos: 6222, EndPos: 6233, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6223, + StartPos: 6222, EndPos: 6224, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6223, + StartPos: 6222, EndPos: 6224, }, Value: "a", @@ -16387,14 +16388,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6228, + StartPos: 6227, EndPos: 6233, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6228, + StartPos: 6227, EndPos: 6228, }, Value: "1", @@ -16403,7 +16404,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 342, EndLine: 342, - StartPos: 6233, + StartPos: 6232, EndPos: 6233, }, Value: "2", @@ -16416,7 +16417,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6238, + StartPos: 6237, EndPos: 6255, }, Vars: []node.Node{ @@ -16424,21 +16425,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6245, + StartPos: 6244, EndPos: 6254, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6245, + StartPos: 6244, EndPos: 6246, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6245, + StartPos: 6244, EndPos: 6246, }, Value: "a", @@ -16448,14 +16449,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6250, + StartPos: 6249, EndPos: 6254, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6250, + StartPos: 6249, EndPos: 6250, }, Value: "1", @@ -16464,7 +16465,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6254, + StartPos: 6253, EndPos: 6254, }, Value: "2", @@ -16477,7 +16478,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6259, + StartPos: 6258, EndPos: 6278, }, Vars: []node.Node{ @@ -16485,21 +16486,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6266, + StartPos: 6265, EndPos: 6277, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6266, + StartPos: 6265, EndPos: 6267, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6266, + StartPos: 6265, EndPos: 6267, }, Value: "a", @@ -16509,14 +16510,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6271, + StartPos: 6270, EndPos: 6277, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6271, + StartPos: 6270, EndPos: 6271, }, Value: "1", @@ -16525,7 +16526,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6277, + StartPos: 6276, EndPos: 6277, }, Value: "2", @@ -16538,7 +16539,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6282, + StartPos: 6281, EndPos: 6301, }, Vars: []node.Node{ @@ -16546,21 +16547,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6289, + StartPos: 6288, EndPos: 6300, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6289, + StartPos: 6288, EndPos: 6290, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6289, + StartPos: 6288, EndPos: 6290, }, Value: "a", @@ -16570,14 +16571,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6294, + StartPos: 6293, EndPos: 6300, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6294, + StartPos: 6293, EndPos: 6294, }, Value: "1", @@ -16586,7 +16587,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 345, EndLine: 345, - StartPos: 6300, + StartPos: 6299, EndPos: 6300, }, Value: "2", @@ -16599,7 +16600,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6305, + StartPos: 6304, EndPos: 6323, }, Vars: []node.Node{ @@ -16607,21 +16608,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6312, + StartPos: 6311, EndPos: 6322, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6312, + StartPos: 6311, EndPos: 6313, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6312, + StartPos: 6311, EndPos: 6313, }, Value: "a", @@ -16631,14 +16632,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6317, + StartPos: 6316, EndPos: 6322, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6317, + StartPos: 6316, EndPos: 6317, }, Value: "1", @@ -16647,7 +16648,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6322, + StartPos: 6321, EndPos: 6322, }, Value: "2", @@ -16660,7 +16661,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6327, + StartPos: 6326, EndPos: 6346, }, Vars: []node.Node{ @@ -16668,21 +16669,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6334, + StartPos: 6333, EndPos: 6345, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6334, + StartPos: 6333, EndPos: 6335, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6334, + StartPos: 6333, EndPos: 6335, }, Value: "a", @@ -16692,14 +16693,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6339, + StartPos: 6338, EndPos: 6345, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6339, + StartPos: 6338, EndPos: 6339, }, Value: "1", @@ -16708,7 +16709,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 347, EndLine: 347, - StartPos: 6345, + StartPos: 6344, EndPos: 6345, }, Value: "2", @@ -16721,7 +16722,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6350, + StartPos: 6349, EndPos: 6367, }, Vars: []node.Node{ @@ -16729,21 +16730,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6357, + StartPos: 6356, EndPos: 6366, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6357, + StartPos: 6356, EndPos: 6358, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6357, + StartPos: 6356, EndPos: 6358, }, Value: "a", @@ -16753,14 +16754,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6362, + StartPos: 6361, EndPos: 6366, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6362, + StartPos: 6361, EndPos: 6362, }, Value: "1", @@ -16769,7 +16770,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6366, + StartPos: 6365, EndPos: 6366, }, Value: "2", @@ -16782,7 +16783,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6371, + StartPos: 6370, EndPos: 6388, }, Vars: []node.Node{ @@ -16790,21 +16791,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6378, + StartPos: 6377, EndPos: 6387, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6378, + StartPos: 6377, EndPos: 6379, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6378, + StartPos: 6377, EndPos: 6379, }, Value: "a", @@ -16814,14 +16815,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6383, + StartPos: 6382, EndPos: 6387, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6383, + StartPos: 6382, EndPos: 6383, }, Value: "1", @@ -16830,7 +16831,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 349, EndLine: 349, - StartPos: 6387, + StartPos: 6386, EndPos: 6387, }, Value: "2", @@ -16843,7 +16844,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6392, + StartPos: 6391, EndPos: 6409, }, Vars: []node.Node{ @@ -16851,21 +16852,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6399, + StartPos: 6398, EndPos: 6408, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6399, + StartPos: 6398, EndPos: 6400, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6399, + StartPos: 6398, EndPos: 6400, }, Value: "a", @@ -16875,14 +16876,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6404, + StartPos: 6403, EndPos: 6408, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6404, + StartPos: 6403, EndPos: 6404, }, Value: "1", @@ -16891,7 +16892,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 350, EndLine: 350, - StartPos: 6408, + StartPos: 6407, EndPos: 6408, }, Value: "2", @@ -16904,7 +16905,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6413, + StartPos: 6412, EndPos: 6431, }, Vars: []node.Node{ @@ -16912,21 +16913,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6420, + StartPos: 6419, EndPos: 6430, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6420, + StartPos: 6419, EndPos: 6421, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6420, + StartPos: 6419, EndPos: 6421, }, Value: "a", @@ -16936,14 +16937,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6425, + StartPos: 6424, EndPos: 6430, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6425, + StartPos: 6424, EndPos: 6425, }, Value: "1", @@ -16952,7 +16953,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 351, EndLine: 351, - StartPos: 6430, + StartPos: 6429, EndPos: 6430, }, Value: "2", @@ -16965,7 +16966,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6435, + StartPos: 6434, EndPos: 6454, }, Vars: []node.Node{ @@ -16973,21 +16974,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6442, + StartPos: 6441, EndPos: 6453, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6442, + StartPos: 6441, EndPos: 6443, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6442, + StartPos: 6441, EndPos: 6443, }, Value: "a", @@ -16997,14 +16998,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6447, + StartPos: 6446, EndPos: 6453, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6447, + StartPos: 6446, EndPos: 6447, }, Value: "1", @@ -17013,7 +17014,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 352, EndLine: 352, - StartPos: 6453, + StartPos: 6452, EndPos: 6453, }, Value: "2", @@ -17026,7 +17027,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6458, + StartPos: 6457, EndPos: 6475, }, Vars: []node.Node{ @@ -17034,21 +17035,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6465, + StartPos: 6464, EndPos: 6474, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6465, + StartPos: 6464, EndPos: 6466, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6465, + StartPos: 6464, EndPos: 6466, }, Value: "a", @@ -17058,14 +17059,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6470, + StartPos: 6469, EndPos: 6474, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6470, + StartPos: 6469, EndPos: 6470, }, Value: "1", @@ -17074,7 +17075,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 353, EndLine: 353, - StartPos: 6474, + StartPos: 6473, EndPos: 6474, }, Value: "2", @@ -17087,7 +17088,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6479, + StartPos: 6478, EndPos: 6497, }, Vars: []node.Node{ @@ -17095,21 +17096,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6486, + StartPos: 6485, EndPos: 6496, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6486, + StartPos: 6485, EndPos: 6487, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6486, + StartPos: 6485, EndPos: 6487, }, Value: "a", @@ -17119,14 +17120,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6491, + StartPos: 6490, EndPos: 6496, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6491, + StartPos: 6490, EndPos: 6491, }, Value: "1", @@ -17135,7 +17136,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 354, EndLine: 354, - StartPos: 6496, + StartPos: 6495, EndPos: 6496, }, Value: "2", @@ -17148,7 +17149,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6501, + StartPos: 6500, EndPos: 6519, }, Vars: []node.Node{ @@ -17156,21 +17157,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6508, + StartPos: 6507, EndPos: 6518, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6508, + StartPos: 6507, EndPos: 6509, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6508, + StartPos: 6507, EndPos: 6509, }, Value: "a", @@ -17180,14 +17181,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6513, + StartPos: 6512, EndPos: 6518, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6513, + StartPos: 6512, EndPos: 6513, }, Value: "1", @@ -17196,7 +17197,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 355, EndLine: 355, - StartPos: 6518, + StartPos: 6517, EndPos: 6518, }, Value: "2", @@ -17209,7 +17210,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6523, + StartPos: 6522, EndPos: 6541, }, Vars: []node.Node{ @@ -17217,21 +17218,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6530, + StartPos: 6529, EndPos: 6540, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6530, + StartPos: 6529, EndPos: 6531, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6530, + StartPos: 6529, EndPos: 6531, }, Value: "a", @@ -17241,14 +17242,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6535, + StartPos: 6534, EndPos: 6540, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6535, + StartPos: 6534, EndPos: 6535, }, Value: "1", @@ -17257,7 +17258,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 356, EndLine: 356, - StartPos: 6540, + StartPos: 6539, EndPos: 6540, }, Value: "2", @@ -17270,7 +17271,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6545, + StartPos: 6544, EndPos: 6563, }, Vars: []node.Node{ @@ -17278,21 +17279,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6552, + StartPos: 6551, EndPos: 6562, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6552, + StartPos: 6551, EndPos: 6553, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6552, + StartPos: 6551, EndPos: 6553, }, Value: "a", @@ -17302,14 +17303,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6557, + StartPos: 6556, EndPos: 6562, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6557, + StartPos: 6556, EndPos: 6557, }, Value: "1", @@ -17318,7 +17319,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 357, EndLine: 357, - StartPos: 6562, + StartPos: 6561, EndPos: 6562, }, Value: "2", @@ -17331,7 +17332,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6567, + StartPos: 6566, EndPos: 6584, }, Vars: []node.Node{ @@ -17339,21 +17340,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6574, + StartPos: 6573, EndPos: 6583, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6574, + StartPos: 6573, EndPos: 6575, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6574, + StartPos: 6573, EndPos: 6575, }, Value: "a", @@ -17363,14 +17364,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6579, + StartPos: 6578, EndPos: 6583, }, Left: &scalar.Lnumber{ Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6579, + StartPos: 6578, EndPos: 6579, }, Value: "1", @@ -17379,7 +17380,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 358, EndLine: 358, - StartPos: 6583, + StartPos: 6582, EndPos: 6583, }, Value: "2", @@ -17392,7 +17393,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6588, + StartPos: 6587, EndPos: 6608, }, Vars: []node.Node{ @@ -17400,21 +17401,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6595, + StartPos: 6594, EndPos: 6607, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6595, + StartPos: 6594, EndPos: 6596, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6595, + StartPos: 6594, EndPos: 6596, }, Value: "a", @@ -17424,14 +17425,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6600, + StartPos: 6599, EndPos: 6607, }, Class: &name.Name{ Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6600, + StartPos: 6599, EndPos: 6602, }, Parts: []node.Node{ @@ -17439,7 +17440,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6600, + StartPos: 6599, EndPos: 6602, }, Value: "Foo", @@ -17450,7 +17451,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 359, EndLine: 359, - StartPos: 6605, + StartPos: 6604, EndPos: 6607, }, Value: "bar", @@ -17463,7 +17464,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6612, + StartPos: 6611, EndPos: 6634, }, Vars: []node.Node{ @@ -17471,21 +17472,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6619, + StartPos: 6618, EndPos: 6633, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6619, + StartPos: 6618, EndPos: 6620, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6619, + StartPos: 6618, EndPos: 6620, }, Value: "a", @@ -17495,14 +17496,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6624, + StartPos: 6623, EndPos: 6633, }, Class: &name.Name{ Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6624, + StartPos: 6623, EndPos: 6626, }, Parts: []node.Node{ @@ -17510,7 +17511,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6624, + StartPos: 6623, EndPos: 6626, }, Value: "Foo", @@ -17521,7 +17522,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 360, EndLine: 360, - StartPos: 6629, + StartPos: 6628, EndPos: 6633, }, Value: "class", @@ -17534,7 +17535,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 361, EndLine: 361, - StartPos: 6638, + StartPos: 6637, EndPos: 6659, }, Vars: []node.Node{ @@ -17542,21 +17543,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 361, EndLine: 361, - StartPos: 6645, + StartPos: 6644, EndPos: 6658, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 361, EndLine: 361, - StartPos: 6645, + StartPos: 6644, EndPos: 6646, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 361, EndLine: 361, - StartPos: 6645, + StartPos: 6644, EndPos: 6646, }, Value: "a", @@ -17566,7 +17567,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 361, EndLine: 361, - StartPos: 6650, + StartPos: 6649, EndPos: 6658, }, Value: "__CLASS__", @@ -17578,7 +17579,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6663, + StartPos: 6662, EndPos: 6678, }, Vars: []node.Node{ @@ -17586,21 +17587,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6670, + StartPos: 6669, EndPos: 6677, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6670, + StartPos: 6669, EndPos: 6671, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6670, + StartPos: 6669, EndPos: 6671, }, Value: "a", @@ -17610,14 +17611,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6675, + StartPos: 6674, EndPos: 6677, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6675, + StartPos: 6674, EndPos: 6677, }, Parts: []node.Node{ @@ -17625,7 +17626,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 362, EndLine: 362, - StartPos: 6675, + StartPos: 6674, EndPos: 6677, }, Value: "Foo", @@ -17640,7 +17641,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6682, + StartPos: 6681, EndPos: 6707, }, Vars: []node.Node{ @@ -17648,21 +17649,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6689, + StartPos: 6688, EndPos: 6706, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6689, + StartPos: 6688, EndPos: 6690, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6689, + StartPos: 6688, EndPos: 6690, }, Value: "a", @@ -17672,14 +17673,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6694, + StartPos: 6693, EndPos: 6706, }, Constant: &name.Relative{ Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6694, + StartPos: 6693, EndPos: 6706, }, Parts: []node.Node{ @@ -17687,7 +17688,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 363, EndLine: 363, - StartPos: 6704, + StartPos: 6703, EndPos: 6706, }, Value: "Foo", @@ -17702,7 +17703,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6711, + StartPos: 6710, EndPos: 6727, }, Vars: []node.Node{ @@ -17710,21 +17711,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6718, + StartPos: 6717, EndPos: 6726, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6718, + StartPos: 6717, EndPos: 6719, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6718, + StartPos: 6717, EndPos: 6719, }, Value: "a", @@ -17734,14 +17735,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6723, + StartPos: 6722, EndPos: 6726, }, Constant: &name.FullyQualified{ Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6723, + StartPos: 6722, EndPos: 6726, }, Parts: []node.Node{ @@ -17749,7 +17750,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 364, EndLine: 364, - StartPos: 6724, + StartPos: 6723, EndPos: 6726, }, Value: "Foo", @@ -17764,7 +17765,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 365, EndLine: 365, - StartPos: 6731, + StartPos: 6730, EndPos: 6750, }, Vars: []node.Node{ @@ -17772,21 +17773,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 365, EndLine: 365, - StartPos: 6738, + StartPos: 6737, EndPos: 6749, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 365, EndLine: 365, - StartPos: 6738, + StartPos: 6737, EndPos: 6739, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 365, EndLine: 365, - StartPos: 6738, + StartPos: 6737, EndPos: 6739, }, Value: "a", @@ -17796,7 +17797,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 365, EndLine: 365, - StartPos: 6743, + StartPos: 6742, EndPos: 6749, }, }, @@ -17807,7 +17808,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6754, + StartPos: 6753, EndPos: 6782, }, Vars: []node.Node{ @@ -17815,21 +17816,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6761, + StartPos: 6760, EndPos: 6781, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6761, + StartPos: 6760, EndPos: 6762, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6761, + StartPos: 6760, EndPos: 6762, }, Value: "a", @@ -17839,7 +17840,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6766, + StartPos: 6765, EndPos: 6781, }, Items: []node.Node{ @@ -17847,14 +17848,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6772, + StartPos: 6771, EndPos: 6777, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6772, + StartPos: 6771, EndPos: 6772, }, Value: "1", @@ -17863,7 +17864,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6777, + StartPos: 6776, EndPos: 6777, }, Value: "1", @@ -17873,14 +17874,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6780, + StartPos: 6779, EndPos: 6780, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 366, EndLine: 366, - StartPos: 6780, + StartPos: 6779, EndPos: 6780, }, Value: "2", @@ -17895,7 +17896,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6786, + StartPos: 6785, EndPos: 6812, }, Vars: []node.Node{ @@ -17903,21 +17904,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6793, + StartPos: 6792, EndPos: 6811, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6793, + StartPos: 6792, EndPos: 6794, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6793, + StartPos: 6792, EndPos: 6794, }, Value: "a", @@ -17927,14 +17928,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6798, + StartPos: 6797, EndPos: 6811, }, Variable: &expr.ShortArray{ Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6798, + StartPos: 6797, EndPos: 6808, }, Items: []node.Node{ @@ -17942,14 +17943,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6799, + StartPos: 6798, EndPos: 6799, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6799, + StartPos: 6798, EndPos: 6799, }, Value: "1", @@ -17959,14 +17960,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6802, + StartPos: 6801, EndPos: 6807, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6802, + StartPos: 6801, EndPos: 6802, }, Value: "2", @@ -17975,7 +17976,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6807, + StartPos: 6806, EndPos: 6807, }, Value: "2", @@ -17987,7 +17988,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 367, EndLine: 367, - StartPos: 6810, + StartPos: 6809, EndPos: 6810, }, Value: "0", @@ -18000,21 +18001,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 369, EndLine: 369, - StartPos: 6817, + StartPos: 6816, EndPos: 6831, }, Cond: &expr.Yield{ Position: &position.Position{ StartLine: 369, EndLine: 369, - StartPos: 6821, + StartPos: 6820, EndPos: 6827, }, Value: &scalar.Lnumber{ Position: &position.Position{ StartLine: 369, EndLine: 369, - StartPos: 6827, + StartPos: 6826, EndPos: 6827, }, Value: "1", @@ -18024,7 +18025,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 369, EndLine: 369, - StartPos: 6830, + StartPos: 6829, EndPos: 6831, }, Stmts: []node.Node{}, @@ -18034,21 +18035,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6835, + StartPos: 6834, EndPos: 6845, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6835, + StartPos: 6834, EndPos: 6844, }, Class: &name.Name{ Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6835, + StartPos: 6834, EndPos: 6837, }, Parts: []node.Node{ @@ -18056,7 +18057,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6835, + StartPos: 6834, EndPos: 6837, }, Value: "Foo", @@ -18067,21 +18068,21 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6840, + StartPos: 6839, EndPos: 6844, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6841, + StartPos: 6840, EndPos: 6844, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 370, EndLine: 370, - StartPos: 6841, + StartPos: 6840, EndPos: 6844, }, Value: "bar", @@ -18094,28 +18095,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 372, EndLine: 372, - StartPos: 6850, + StartPos: 6849, EndPos: 6856, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 372, EndLine: 372, - StartPos: 6850, + StartPos: 6849, EndPos: 6855, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 372, EndLine: 372, - StartPos: 6850, + StartPos: 6849, EndPos: 6853, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 372, EndLine: 372, - StartPos: 6850, + StartPos: 6849, EndPos: 6853, }, Value: "foo", @@ -18125,7 +18126,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 372, EndLine: 372, - StartPos: 6854, + StartPos: 6853, EndPos: 6855, }, }, @@ -18135,42 +18136,42 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6872, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6871, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6868, }, Variable: &expr.FunctionCall{ Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6865, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6863, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6860, + StartPos: 6859, EndPos: 6863, }, Value: "foo", @@ -18180,7 +18181,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6864, + StartPos: 6863, EndPos: 6865, }, }, @@ -18189,7 +18190,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6867, + StartPos: 6866, EndPos: 6867, }, Value: "0", @@ -18199,7 +18200,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 373, EndLine: 373, - StartPos: 6870, + StartPos: 6869, EndPos: 6870, }, Value: "0", @@ -18210,28 +18211,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6876, + StartPos: 6875, EndPos: 6882, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6876, + StartPos: 6875, EndPos: 6881, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6876, + StartPos: 6875, EndPos: 6877, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6876, + StartPos: 6875, EndPos: 6877, }, Value: "a", @@ -18241,14 +18242,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6879, + StartPos: 6878, EndPos: 6880, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 374, EndLine: 374, - StartPos: 6879, + StartPos: 6878, EndPos: 6880, }, Value: "b", @@ -18260,28 +18261,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 375, EndLine: 375, - StartPos: 6886, + StartPos: 6885, EndPos: 6891, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 375, EndLine: 375, - StartPos: 6886, + StartPos: 6885, EndPos: 6890, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 375, EndLine: 375, - StartPos: 6888, + StartPos: 6887, EndPos: 6889, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 375, EndLine: 375, - StartPos: 6888, + StartPos: 6887, EndPos: 6889, }, Value: "a", @@ -18293,28 +18294,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6895, + StartPos: 6894, EndPos: 6909, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6895, + StartPos: 6894, EndPos: 6908, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6895, + StartPos: 6894, EndPos: 6898, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6895, + StartPos: 6894, EndPos: 6898, }, Value: "foo", @@ -18324,14 +18325,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6901, + StartPos: 6900, EndPos: 6906, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6902, + StartPos: 6901, EndPos: 6905, }, Value: "bar", @@ -18341,7 +18342,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 376, EndLine: 376, - StartPos: 6907, + StartPos: 6906, EndPos: 6908, }, }, @@ -18351,28 +18352,28 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 377, EndLine: 377, - StartPos: 6913, + StartPos: 6912, EndPos: 6922, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 377, EndLine: 377, - StartPos: 6913, + StartPos: 6912, EndPos: 6921, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 377, EndLine: 377, - StartPos: 6913, + StartPos: 6912, EndPos: 6916, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 377, EndLine: 377, - StartPos: 6913, + StartPos: 6912, EndPos: 6916, }, Value: "foo", @@ -18382,7 +18383,7 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 377, EndLine: 377, - StartPos: 6919, + StartPos: 6918, EndPos: 6921, }, Value: "bar", @@ -18393,14 +18394,14 @@ func TestPhp5(t *testing.T) { Position: &position.Position{ StartLine: 379, EndLine: 379, - StartPos: 6927, + StartPos: 6926, EndPos: 6944, }, }, }, } - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual := php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -18423,7 +18424,7 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 10, - StartPos: 6, + StartPos: 5, EndPos: 70, }, Stmts: []node.Node{ @@ -18431,14 +18432,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 12, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 11, }, Value: "\"test\"", @@ -18448,14 +18449,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 16, + StartPos: 15, EndPos: 24, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 16, + StartPos: 15, EndPos: 23, }, Value: "\"\\$test\"", @@ -18465,14 +18466,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 6, - StartPos: 28, + StartPos: 27, EndPos: 41, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 4, EndLine: 6, - StartPos: 28, + StartPos: 27, EndPos: 40, }, Value: "\"\n\t\t\ttest\n\t\t\"", @@ -18482,14 +18483,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 45, + StartPos: 44, EndPos: 52, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 45, + StartPos: 44, EndPos: 51, }, Value: "'$test'", @@ -18499,14 +18500,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 8, EndLine: 10, - StartPos: 56, + StartPos: 55, EndPos: 70, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 8, EndLine: 10, - StartPos: 56, + StartPos: 55, EndPos: 69, }, Value: "'\n\t\t\t$test\n\t\t'", @@ -18515,7 +18516,7 @@ func TestPhp5Strings(t *testing.T) { }, } - php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php") + php5parser := php5.NewParser([]byte(src)) php5parser.Parse() actual := php5parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -18543,7 +18544,7 @@ CAD; Position: &position.Position{ StartLine: 2, EndLine: 15, - StartPos: 9, + StartPos: 5, EndPos: 120, }, Stmts: []node.Node{ @@ -18551,43 +18552,43 @@ CAD; Position: &position.Position{ StartLine: 2, EndLine: 3, - StartPos: 9, + StartPos: 5, EndPos: 16, }, Expr: &scalar.Heredoc{ Position: &position.Position{ StartLine: 2, EndLine: 3, - StartPos: 9, + StartPos: 5, EndPos: 15, }, - Label: "CAD", + Label: "<< 0 { prevNode := lastNode(yyDollar[1].list) @@ -2600,7 +2598,7 @@ yydefault: } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:358 + //line php7/php7.y:356 { yyVAL.list = []node.Node{} @@ -2608,7 +2606,7 @@ yydefault: } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:367 + //line php7/php7.y:365 { namePart := name.NewNamePart(yyDollar[1].token.Value) yyVAL.list = []node.Node{namePart} @@ -2623,7 +2621,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:380 + //line php7/php7.y:378 { namePart := name.NewNamePart(yyDollar[3].token.Value) yyVAL.list = append(yyDollar[1].list, namePart) @@ -2639,7 +2637,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:397 + //line php7/php7.y:395 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -2653,7 +2651,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:409 + //line php7/php7.y:407 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -2668,7 +2666,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:422 + //line php7/php7.y:420 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -2682,7 +2680,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:437 + //line php7/php7.y:435 { // error yyVAL.node = nil @@ -2691,7 +2689,7 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:444 + //line php7/php7.y:442 { yyVAL.node = yyDollar[1].node @@ -2699,7 +2697,7 @@ yydefault: } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:450 + //line php7/php7.y:448 { yyVAL.node = yyDollar[1].node @@ -2707,7 +2705,7 @@ yydefault: } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:456 + //line php7/php7.y:454 { yyVAL.node = yyDollar[1].node @@ -2715,7 +2713,7 @@ yydefault: } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:462 + //line php7/php7.y:460 { yyVAL.node = yyDollar[1].node @@ -2723,7 +2721,7 @@ yydefault: } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:468 + //line php7/php7.y:466 { yyVAL.node = yyDollar[1].node @@ -2731,7 +2729,7 @@ yydefault: } case 91: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:474 + //line php7/php7.y:472 { yyVAL.node = stmt.NewHaltCompiler() @@ -2746,12 +2744,10 @@ yydefault: yylex.(*Parser).setFreeFloating(yyVAL.node, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken(yyDollar[4].token)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } case 92: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:492 + //line php7/php7.y:488 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, nil) @@ -2770,7 +2766,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:509 + //line php7/php7.y:505 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) @@ -2789,7 +2785,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:526 + //line php7/php7.y:522 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) @@ -2805,7 +2801,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:540 + //line php7/php7.y:536 { yyVAL.node = yyDollar[2].node @@ -2821,7 +2817,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:554 + //line php7/php7.y:550 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) @@ -2837,7 +2833,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:568 + //line php7/php7.y:564 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) @@ -2853,7 +2849,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:582 + //line php7/php7.y:578 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) @@ -2869,7 +2865,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:596 + //line php7/php7.y:592 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) @@ -2885,7 +2881,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:613 + //line php7/php7.y:609 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -2899,7 +2895,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:625 + //line php7/php7.y:621 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -2913,7 +2909,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:640 + //line php7/php7.y:636 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) @@ -2936,7 +2932,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:661 + //line php7/php7.y:657 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) @@ -2960,7 +2956,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:686 + //line php7/php7.y:682 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) @@ -2983,7 +2979,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:707 + //line php7/php7.y:703 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) @@ -3007,19 +3003,19 @@ yydefault: } case 106: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:732 + //line php7/php7.y:728 { yyVAL.token = nil } case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:736 + //line php7/php7.y:732 { yyVAL.token = yyDollar[1].token } case 108: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:743 + //line php7/php7.y:739 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3030,7 +3026,7 @@ yydefault: } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:752 + //line php7/php7.y:748 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3038,7 +3034,7 @@ yydefault: } case 110: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:761 + //line php7/php7.y:757 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3049,7 +3045,7 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:770 + //line php7/php7.y:766 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3057,7 +3053,7 @@ yydefault: } case 112: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:779 + //line php7/php7.y:775 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3068,7 +3064,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:788 + //line php7/php7.y:784 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3076,7 +3072,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:797 + //line php7/php7.y:793 { yyVAL.node = yyDollar[1].node @@ -3084,7 +3080,7 @@ yydefault: } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:803 + //line php7/php7.y:799 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) @@ -3092,7 +3088,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:812 + //line php7/php7.y:808 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -3108,7 +3104,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:826 + //line php7/php7.y:822 { name := name.NewName(yyDollar[1].list) alias := node.NewIdentifier(yyDollar[3].token.Value) @@ -3128,7 +3124,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:847 + //line php7/php7.y:843 { yyVAL.node = yyDollar[1].node @@ -3139,7 +3135,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:856 + //line php7/php7.y:852 { yyVAL.node = yyDollar[2].node @@ -3154,7 +3150,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:872 + //line php7/php7.y:868 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3165,7 +3161,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:881 + //line php7/php7.y:877 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3173,7 +3169,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:890 + //line php7/php7.y:886 { if inlineHtmlNode, ok := yyDollar[2].node.(*stmt.InlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -3188,7 +3184,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:903 + //line php7/php7.y:899 { yyVAL.list = []node.Node{} @@ -3196,7 +3192,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:912 + //line php7/php7.y:908 { // error yyVAL.node = nil @@ -3205,7 +3201,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:919 + //line php7/php7.y:915 { yyVAL.node = yyDollar[1].node @@ -3213,7 +3209,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:925 + //line php7/php7.y:921 { yyVAL.node = yyDollar[1].node @@ -3221,7 +3217,7 @@ yydefault: } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:931 + //line php7/php7.y:927 { yyVAL.node = yyDollar[1].node @@ -3229,7 +3225,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:937 + //line php7/php7.y:933 { yyVAL.node = yyDollar[1].node @@ -3237,7 +3233,7 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:943 + //line php7/php7.y:939 { yyVAL.node = yyDollar[1].node @@ -3245,7 +3241,7 @@ yydefault: } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:949 + //line php7/php7.y:945 { yyVAL.node = stmt.NewHaltCompiler() @@ -3263,7 +3259,7 @@ yydefault: } case 131: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:967 + //line php7/php7.y:963 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -3278,7 +3274,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:980 + //line php7/php7.y:976 { yyVAL.node = yyDollar[1].node @@ -3286,7 +3282,7 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:986 + //line php7/php7.y:982 { yyVAL.node = yyDollar[1].node @@ -3294,7 +3290,7 @@ yydefault: } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:992 + //line php7/php7.y:988 { switch n := yyDollar[5].node.(type) { case *stmt.While: @@ -3317,7 +3313,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:1013 + //line php7/php7.y:1009 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) @@ -3336,7 +3332,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:1030 + //line php7/php7.y:1026 { switch n := yyDollar[9].node.(type) { case *stmt.For: @@ -3365,7 +3361,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1057 + //line php7/php7.y:1053 { switch n := yyDollar[5].node.(type) { case *stmt.Switch: @@ -3390,7 +3386,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1080 + //line php7/php7.y:1076 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) @@ -3406,7 +3402,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1094 + //line php7/php7.y:1090 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) @@ -3422,7 +3418,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1108 + //line php7/php7.y:1104 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) @@ -3438,7 +3434,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1122 + //line php7/php7.y:1118 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) @@ -3454,7 +3450,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1136 + //line php7/php7.y:1132 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) @@ -3470,7 +3466,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1150 + //line php7/php7.y:1146 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) @@ -3487,7 +3483,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1165 + //line php7/php7.y:1161 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) @@ -3501,7 +3497,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1177 + //line php7/php7.y:1173 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) @@ -3517,7 +3513,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1191 + //line php7/php7.y:1187 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) @@ -3539,7 +3535,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:1211 + //line php7/php7.y:1207 { switch n := yyDollar[7].node.(type) { case *stmt.Foreach: @@ -3565,7 +3561,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:1236 + //line php7/php7.y:1232 { switch n := yyDollar[9].node.(type) { case *stmt.Foreach: @@ -3594,7 +3590,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1263 + //line php7/php7.y:1259 { yyVAL.node = yyDollar[5].node yyVAL.node.(*stmt.Declare).Consts = yyDollar[3].list @@ -3611,7 +3607,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1278 + //line php7/php7.y:1274 { yyVAL.node = stmt.NewNop() @@ -3626,7 +3622,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1291 + //line php7/php7.y:1287 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3645,7 +3641,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1308 + //line php7/php7.y:1304 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) @@ -3661,7 +3657,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1322 + //line php7/php7.y:1318 { label := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewGoto(label) @@ -3680,7 +3676,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1339 + //line php7/php7.y:1335 { label := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewLabel(label) @@ -3697,7 +3693,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1356 + //line php7/php7.y:1352 { yyVAL.list = []node.Node{} @@ -3705,7 +3701,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:1362 + //line php7/php7.y:1358 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[5].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -3730,7 +3726,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1387 + //line php7/php7.y:1383 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3738,7 +3734,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1393 + //line php7/php7.y:1389 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3749,7 +3745,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1405 + //line php7/php7.y:1401 { yyVAL.node = nil @@ -3757,7 +3753,7 @@ yydefault: } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1411 + //line php7/php7.y:1407 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) @@ -3773,7 +3769,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1428 + //line php7/php7.y:1424 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3781,7 +3777,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1434 + //line php7/php7.y:1430 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3792,7 +3788,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1446 + //line php7/php7.y:1442 { yyVAL.node = yyDollar[1].node @@ -3800,7 +3796,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1455 + //line php7/php7.y:1451 { name := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewFunction(name, yyDollar[2].token != nil, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) @@ -3836,31 +3832,31 @@ yydefault: } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1491 + //line php7/php7.y:1487 { yyVAL.token = nil } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1495 + //line php7/php7.y:1491 { yyVAL.token = yyDollar[1].token } case 167: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1502 + //line php7/php7.y:1498 { yyVAL.token = nil } case 168: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1506 + //line php7/php7.y:1502 { yyVAL.token = yyDollar[1].token } case 169: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:1513 + //line php7/php7.y:1509 { name := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].ClassExtends, yyDollar[5].ClassImplements, yyDollar[8].list, yyDollar[6].str) @@ -3880,7 +3876,7 @@ yydefault: } case 170: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:1531 + //line php7/php7.y:1527 { name := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].ClassExtends, yyDollar[4].ClassImplements, yyDollar[7].list, yyDollar[5].str) @@ -3899,7 +3895,7 @@ yydefault: } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1551 + //line php7/php7.y:1547 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -3907,7 +3903,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1557 + //line php7/php7.y:1553 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -3915,7 +3911,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1566 + //line php7/php7.y:1562 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -3929,7 +3925,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1578 + //line php7/php7.y:1574 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -3943,7 +3939,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1593 + //line php7/php7.y:1589 { name := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewTrait(name, yyDollar[5].list, yyDollar[3].str) @@ -3962,7 +3958,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:1613 + //line php7/php7.y:1609 { name := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewInterface(name, yyDollar[3].InterfaceExtends, yyDollar[6].list, yyDollar[4].str) @@ -3981,7 +3977,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1633 + //line php7/php7.y:1629 { yyVAL.ClassExtends = nil @@ -3989,7 +3985,7 @@ yydefault: } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1639 + //line php7/php7.y:1635 { yyVAL.ClassExtends = stmt.NewClassExtends(yyDollar[2].node) @@ -4003,7 +3999,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1654 + //line php7/php7.y:1650 { yyVAL.InterfaceExtends = nil @@ -4011,7 +4007,7 @@ yydefault: } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1660 + //line php7/php7.y:1656 { yyVAL.InterfaceExtends = stmt.NewInterfaceExtends(yyDollar[2].list) @@ -4025,7 +4021,7 @@ yydefault: } case 181: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1675 + //line php7/php7.y:1671 { yyVAL.ClassImplements = nil @@ -4033,7 +4029,7 @@ yydefault: } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1681 + //line php7/php7.y:1677 { yyVAL.ClassImplements = stmt.NewClassImplements(yyDollar[2].list) @@ -4047,7 +4043,7 @@ yydefault: } case 183: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1696 + //line php7/php7.y:1692 { yyVAL.node = yyDollar[1].node @@ -4055,7 +4051,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1702 + //line php7/php7.y:1698 { yyVAL.node = expr.NewReference(yyDollar[2].node) @@ -4069,7 +4065,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1714 + //line php7/php7.y:1710 { yyVAL.node = expr.NewList(yyDollar[3].list) @@ -4085,7 +4081,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1728 + //line php7/php7.y:1724 { yyVAL.node = expr.NewShortList(yyDollar[2].list) @@ -4100,7 +4096,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1744 + //line php7/php7.y:1740 { yyVAL.node = stmt.NewFor(nil, nil, nil, yyDollar[1].node) @@ -4111,7 +4107,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1753 + //line php7/php7.y:1749 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltFor(nil, nil, nil, stmtList) @@ -4130,7 +4126,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1773 + //line php7/php7.y:1769 { yyVAL.node = stmt.NewForeach(nil, nil, nil, yyDollar[1].node) @@ -4141,7 +4137,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1782 + //line php7/php7.y:1778 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltForeach(nil, nil, nil, stmtList) @@ -4160,7 +4156,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1802 + //line php7/php7.y:1798 { yyVAL.node = stmt.NewDeclare(nil, yyDollar[1].node, false) @@ -4171,7 +4167,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1811 + //line php7/php7.y:1807 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewDeclare(nil, stmtList, true) @@ -4190,7 +4186,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1831 + //line php7/php7.y:1827 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -4207,7 +4203,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1846 + //line php7/php7.y:1842 { caseList := stmt.NewCaseList(yyDollar[3].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -4225,7 +4221,7 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1862 + //line php7/php7.y:1858 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewAltSwitch(nil, caseList) @@ -4244,7 +4240,7 @@ yydefault: } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1879 + //line php7/php7.y:1875 { caseList := stmt.NewCaseList(yyDollar[3].list) @@ -4265,7 +4261,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1901 + //line php7/php7.y:1897 { yyVAL.list = []node.Node{} @@ -4273,7 +4269,7 @@ yydefault: } case 198: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1907 + //line php7/php7.y:1903 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) yyVAL.list = append(yyDollar[1].list, _case) @@ -4290,7 +4286,7 @@ yydefault: } case 199: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1922 + //line php7/php7.y:1918 { _default := stmt.NewDefault(yyDollar[4].list) yyVAL.list = append(yyDollar[1].list, _default) @@ -4307,19 +4303,19 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1940 + //line php7/php7.y:1936 { yyVAL.token = yyDollar[1].token } case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1944 + //line php7/php7.y:1940 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1951 + //line php7/php7.y:1947 { yyVAL.node = stmt.NewWhile(nil, yyDollar[1].node) @@ -4330,7 +4326,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1960 + //line php7/php7.y:1956 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltWhile(nil, stmtList) @@ -4349,7 +4345,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1980 + //line php7/php7.y:1976 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node, nil, nil) @@ -4365,7 +4361,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1994 + //line php7/php7.y:1990 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) yyVAL.node = yyDollar[1].node.(*stmt.If).AddElseIf(_elseIf) @@ -4383,7 +4379,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2013 + //line php7/php7.y:2009 { yyVAL.node = yyDollar[1].node @@ -4391,7 +4387,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2019 + //line php7/php7.y:2015 { _else := stmt.NewElse(yyDollar[3].node) yyVAL.node = yyDollar[1].node.(*stmt.If).SetElse(_else) @@ -4407,7 +4403,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2036 + //line php7/php7.y:2032 { stmts := stmt.NewStmtList(yyDollar[6].list) yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts, nil, nil) @@ -4426,7 +4422,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:2053 + //line php7/php7.y:2049 { stmts := stmt.NewStmtList(yyDollar[7].list) _elseIf := stmt.NewAltElseIf(yyDollar[4].node, stmts) @@ -4446,7 +4442,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2074 + //line php7/php7.y:2070 { yyVAL.node = yyDollar[1].node @@ -4462,7 +4458,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2088 + //line php7/php7.y:2084 { stmts := stmt.NewStmtList(yyDollar[4].list) _else := stmt.NewAltElse(stmts) @@ -4484,7 +4480,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2111 + //line php7/php7.y:2107 { yyVAL.list = yyDollar[1].list @@ -4492,7 +4488,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2117 + //line php7/php7.y:2113 { yyVAL.list = nil @@ -4500,7 +4496,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2126 + //line php7/php7.y:2122 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4508,7 +4504,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2132 + //line php7/php7.y:2128 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4519,7 +4515,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2144 + //line php7/php7.y:2140 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4569,7 +4565,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2189 + //line php7/php7.y:2185 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4620,7 +4616,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2238 + //line php7/php7.y:2234 { yyVAL.node = nil @@ -4628,7 +4624,7 @@ yydefault: } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2244 + //line php7/php7.y:2240 { yyVAL.node = yyDollar[1].node @@ -4636,7 +4632,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2253 + //line php7/php7.y:2249 { yyVAL.node = yyDollar[1].node @@ -4644,7 +4640,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2259 + //line php7/php7.y:2255 { yyVAL.node = node.NewNullable(yyDollar[2].node) @@ -4658,7 +4654,7 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2274 + //line php7/php7.y:2270 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -4672,7 +4668,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2286 + //line php7/php7.y:2282 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -4686,7 +4682,7 @@ yydefault: } case 224: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2298 + //line php7/php7.y:2294 { yyVAL.node = yyDollar[1].node @@ -4694,7 +4690,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2307 + //line php7/php7.y:2303 { yyVAL.node = nil @@ -4702,7 +4698,7 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2313 + //line php7/php7.y:2309 { yyVAL.node = yyDollar[2].node @@ -4713,7 +4709,7 @@ yydefault: } case 227: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2325 + //line php7/php7.y:2321 { yyVAL.node = node.NewArgumentList(nil) @@ -4728,7 +4724,7 @@ yydefault: } case 228: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2338 + //line php7/php7.y:2334 { yyVAL.node = node.NewArgumentList(yyDollar[2].list) @@ -4747,7 +4743,7 @@ yydefault: } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2358 + //line php7/php7.y:2354 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4755,7 +4751,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2364 + //line php7/php7.y:2360 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4766,7 +4762,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2376 + //line php7/php7.y:2372 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) @@ -4780,7 +4776,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2388 + //line php7/php7.y:2384 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) @@ -4794,7 +4790,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2403 + //line php7/php7.y:2399 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4805,7 +4801,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2412 + //line php7/php7.y:2408 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4813,7 +4809,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2421 + //line php7/php7.y:2417 { yyVAL.node = yyDollar[1].node @@ -4821,7 +4817,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2430 + //line php7/php7.y:2426 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4832,7 +4828,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2439 + //line php7/php7.y:2435 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4840,7 +4836,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2448 + //line php7/php7.y:2444 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4859,7 +4855,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2465 + //line php7/php7.y:2461 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -4879,7 +4875,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2486 + //line php7/php7.y:2482 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -4887,7 +4883,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2492 + //line php7/php7.y:2488 { yyVAL.list = []node.Node{} @@ -4895,7 +4891,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2501 + //line php7/php7.y:2497 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) @@ -4911,7 +4907,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2515 + //line php7/php7.y:2511 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) @@ -4932,7 +4928,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2534 + //line php7/php7.y:2530 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].node) @@ -4946,7 +4942,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-10 : yypt+1] - //line php7/php7.y:2546 + //line php7/php7.y:2542 { name := node.NewIdentifier(yyDollar[4].token.Value) yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].token != nil, yyDollar[7].list, yyDollar[9].node, yyDollar[10].node, yyDollar[5].str) @@ -4983,7 +4979,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2583 + //line php7/php7.y:2579 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -4991,7 +4987,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2589 + //line php7/php7.y:2585 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5002,7 +4998,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2601 + //line php7/php7.y:2597 { yyVAL.node = stmt.NewNop() @@ -5016,7 +5012,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2614 + //line php7/php7.y:2610 { yyVAL.node = stmt.NewTraitAdaptationList(nil) @@ -5030,7 +5026,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2626 + //line php7/php7.y:2622 { yyVAL.node = stmt.NewTraitAdaptationList(yyDollar[2].list) @@ -5044,7 +5040,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2641 + //line php7/php7.y:2637 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5052,7 +5048,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2647 + //line php7/php7.y:2643 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -5060,7 +5056,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2656 + //line php7/php7.y:2652 { yyVAL.node = yyDollar[1].node @@ -5072,7 +5068,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2666 + //line php7/php7.y:2662 { yyVAL.node = yyDollar[1].node @@ -5084,7 +5080,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2679 + //line php7/php7.y:2675 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) @@ -5099,7 +5095,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2695 + //line php7/php7.y:2691 { alias := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) @@ -5117,7 +5113,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2711 + //line php7/php7.y:2707 { alias := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) @@ -5135,7 +5131,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2727 + //line php7/php7.y:2723 { alias := node.NewIdentifier(yyDollar[4].token.Value) yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) @@ -5153,7 +5149,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2743 + //line php7/php7.y:2739 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) @@ -5168,7 +5164,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2759 + //line php7/php7.y:2755 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewTraitMethodRef(nil, name) @@ -5184,7 +5180,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2773 + //line php7/php7.y:2769 { yyVAL.node = yyDollar[1].node @@ -5192,7 +5188,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2782 + //line php7/php7.y:2778 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) @@ -5210,7 +5206,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2801 + //line php7/php7.y:2797 { yyVAL.node = stmt.NewNop() @@ -5225,7 +5221,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2814 + //line php7/php7.y:2810 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -5240,7 +5236,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2830 + //line php7/php7.y:2826 { yyVAL.list = yyDollar[1].list @@ -5248,7 +5244,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2836 + //line php7/php7.y:2832 { modifier := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.list = []node.Node{modifier} @@ -5263,7 +5259,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2852 + //line php7/php7.y:2848 { yyVAL.list = nil @@ -5271,7 +5267,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2858 + //line php7/php7.y:2854 { yyVAL.list = yyDollar[1].list @@ -5279,7 +5275,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2867 + //line php7/php7.y:2863 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5287,7 +5283,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2873 + //line php7/php7.y:2869 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -5295,7 +5291,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2882 + //line php7/php7.y:2878 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5309,7 +5305,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2894 + //line php7/php7.y:2890 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5323,7 +5319,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2906 + //line php7/php7.y:2902 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5337,7 +5333,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2918 + //line php7/php7.y:2914 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5351,7 +5347,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2930 + //line php7/php7.y:2926 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5365,7 +5361,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2942 + //line php7/php7.y:2938 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -5379,7 +5375,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2957 + //line php7/php7.y:2953 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5390,7 +5386,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2966 + //line php7/php7.y:2962 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5398,7 +5394,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2975 + //line php7/php7.y:2971 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5417,7 +5413,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2992 + //line php7/php7.y:2988 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -5437,7 +5433,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3013 + //line php7/php7.y:3009 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5448,7 +5444,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3022 + //line php7/php7.y:3018 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5456,7 +5452,7 @@ yydefault: } case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:3031 + //line php7/php7.y:3027 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) @@ -5473,7 +5469,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:3049 + //line php7/php7.y:3045 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) @@ -5490,7 +5486,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3067 + //line php7/php7.y:3063 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5501,7 +5497,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3076 + //line php7/php7.y:3072 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5509,7 +5505,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3085 + //line php7/php7.y:3081 { yyVAL.node = yyDollar[1].node @@ -5517,7 +5513,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:3094 + //line php7/php7.y:3090 { yyVAL.list = nil @@ -5525,7 +5521,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3100 + //line php7/php7.y:3096 { yyVAL.list = yyDollar[1].list @@ -5533,7 +5529,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3109 + //line php7/php7.y:3105 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5544,7 +5540,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3118 + //line php7/php7.y:3114 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -5552,7 +5548,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:3127 + //line php7/php7.y:3123 { if yyDollar[2].node != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].node.(*node.ArgumentList), yyDollar[3].ClassExtends, yyDollar[4].ClassImplements, yyDollar[7].list, yyDollar[5].str) @@ -5572,7 +5568,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3148 + //line php7/php7.y:3144 { if yyDollar[3].node != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].node.(*node.ArgumentList)) @@ -5589,7 +5585,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3163 + //line php7/php7.y:3159 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) @@ -5603,7 +5599,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:3178 + //line php7/php7.y:3174 { listNode := expr.NewList(yyDollar[3].list) yyVAL.node = assign.NewAssign(listNode, yyDollar[6].node) @@ -5622,7 +5618,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:3195 + //line php7/php7.y:3191 { shortList := expr.NewShortList(yyDollar[2].list) yyVAL.node = assign.NewAssign(shortList, yyDollar[5].node) @@ -5640,7 +5636,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3211 + //line php7/php7.y:3207 { yyVAL.node = assign.NewAssign(yyDollar[1].node, yyDollar[3].node) @@ -5655,7 +5651,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:3224 + //line php7/php7.y:3220 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) @@ -5671,7 +5667,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3238 + //line php7/php7.y:3234 { yyVAL.node = expr.NewClone(yyDollar[2].node) @@ -5685,7 +5681,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3250 + //line php7/php7.y:3246 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -5700,7 +5696,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3263 + //line php7/php7.y:3259 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -5715,7 +5711,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3276 + //line php7/php7.y:3272 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -5730,7 +5726,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3289 + //line php7/php7.y:3285 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -5745,7 +5741,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3302 + //line php7/php7.y:3298 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -5760,7 +5756,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3315 + //line php7/php7.y:3311 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -5775,7 +5771,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3328 + //line php7/php7.y:3324 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -5790,7 +5786,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3341 + //line php7/php7.y:3337 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -5805,7 +5801,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3354 + //line php7/php7.y:3350 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -5820,7 +5816,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3367 + //line php7/php7.y:3363 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -5835,7 +5831,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3380 + //line php7/php7.y:3376 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -5850,7 +5846,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3393 + //line php7/php7.y:3389 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -5865,7 +5861,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3406 + //line php7/php7.y:3402 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) @@ -5880,7 +5876,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3419 + //line php7/php7.y:3415 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) @@ -5894,7 +5890,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3431 + //line php7/php7.y:3427 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) @@ -5909,7 +5905,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3444 + //line php7/php7.y:3440 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) @@ -5923,7 +5919,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3456 + //line php7/php7.y:3452 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) @@ -5938,7 +5934,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3469 + //line php7/php7.y:3465 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) @@ -5953,7 +5949,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3482 + //line php7/php7.y:3478 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) @@ -5968,7 +5964,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3495 + //line php7/php7.y:3491 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) @@ -5983,7 +5979,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3508 + //line php7/php7.y:3504 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) @@ -5998,7 +5994,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3521 + //line php7/php7.y:3517 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -6013,7 +6009,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3534 + //line php7/php7.y:3530 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -6028,7 +6024,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3547 + //line php7/php7.y:3543 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -6043,7 +6039,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3560 + //line php7/php7.y:3556 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -6058,7 +6054,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3573 + //line php7/php7.y:3569 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -6073,7 +6069,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3586 + //line php7/php7.y:3582 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -6088,7 +6084,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3599 + //line php7/php7.y:3595 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -6103,7 +6099,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3612 + //line php7/php7.y:3608 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -6118,7 +6114,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3625 + //line php7/php7.y:3621 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -6133,7 +6129,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3638 + //line php7/php7.y:3634 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -6148,7 +6144,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3651 + //line php7/php7.y:3647 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -6163,7 +6159,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3664 + //line php7/php7.y:3660 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -6178,7 +6174,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3677 + //line php7/php7.y:3673 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) @@ -6192,7 +6188,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3689 + //line php7/php7.y:3685 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) @@ -6206,7 +6202,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3701 + //line php7/php7.y:3697 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) @@ -6220,7 +6216,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3713 + //line php7/php7.y:3709 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) @@ -6234,7 +6230,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3725 + //line php7/php7.y:3721 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6249,7 +6245,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3738 + //line php7/php7.y:3734 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6264,7 +6260,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3751 + //line php7/php7.y:3747 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) @@ -6279,7 +6275,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3764 + //line php7/php7.y:3760 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) @@ -6295,7 +6291,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3778 + //line php7/php7.y:3774 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) @@ -6310,7 +6306,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3791 + //line php7/php7.y:3787 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6325,7 +6321,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3804 + //line php7/php7.y:3800 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) @@ -6340,7 +6336,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3817 + //line php7/php7.y:3813 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6355,7 +6351,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3830 + //line php7/php7.y:3826 { yyVAL.node = binary.NewSpaceship(yyDollar[1].node, yyDollar[3].node) @@ -6370,7 +6366,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3843 + //line php7/php7.y:3839 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) @@ -6385,7 +6381,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3856 + //line php7/php7.y:3852 { yyVAL.node = yyDollar[2].node @@ -6397,7 +6393,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3866 + //line php7/php7.y:3862 { yyVAL.node = yyDollar[1].node @@ -6405,7 +6401,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:3872 + //line php7/php7.y:3868 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) @@ -6421,7 +6417,7 @@ yydefault: } case 350: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:3886 + //line php7/php7.y:3882 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) @@ -6437,7 +6433,7 @@ yydefault: } case 351: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:3900 + //line php7/php7.y:3896 { yyVAL.node = binary.NewCoalesce(yyDollar[1].node, yyDollar[3].node) @@ -6452,7 +6448,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:3913 + //line php7/php7.y:3909 { yyVAL.node = yyDollar[1].node @@ -6460,7 +6456,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3919 + //line php7/php7.y:3915 { yyVAL.node = cast.NewInt(yyDollar[2].node) @@ -6475,7 +6471,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3932 + //line php7/php7.y:3928 { yyVAL.node = cast.NewDouble(yyDollar[2].node) @@ -6490,7 +6486,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3945 + //line php7/php7.y:3941 { yyVAL.node = cast.NewString(yyDollar[2].node) @@ -6505,7 +6501,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3958 + //line php7/php7.y:3954 { yyVAL.node = cast.NewArray(yyDollar[2].node) @@ -6520,7 +6516,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3971 + //line php7/php7.y:3967 { yyVAL.node = cast.NewObject(yyDollar[2].node) @@ -6535,7 +6531,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3984 + //line php7/php7.y:3980 { yyVAL.node = cast.NewBool(yyDollar[2].node) @@ -6550,7 +6546,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:3997 + //line php7/php7.y:3993 { yyVAL.node = cast.NewUnset(yyDollar[2].node) @@ -6565,7 +6561,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4010 + //line php7/php7.y:4006 { var e *expr.Exit if yyDollar[2].node != nil { @@ -6594,7 +6590,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4037 + //line php7/php7.y:4033 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) @@ -6608,7 +6604,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4049 + //line php7/php7.y:4045 { yyVAL.node = yyDollar[1].node @@ -6616,7 +6612,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4055 + //line php7/php7.y:4051 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) @@ -6630,7 +6626,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4067 + //line php7/php7.y:4063 { yyVAL.node = expr.NewPrint(yyDollar[2].node) @@ -6644,7 +6640,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4079 + //line php7/php7.y:4075 { yyVAL.node = expr.NewYield(nil, nil) @@ -6658,7 +6654,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4091 + //line php7/php7.y:4087 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) @@ -6672,7 +6668,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4103 + //line php7/php7.y:4099 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) @@ -6687,7 +6683,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4116 + //line php7/php7.y:4112 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) @@ -6701,7 +6697,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:4128 + //line php7/php7.y:4124 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].ClosureUse, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].token != nil, yyDollar[3].str) @@ -6738,7 +6734,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-12 : yypt+1] - //line php7/php7.y:4160 + //line php7/php7.y:4156 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].ClosureUse, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].token != nil, yyDollar[4].str) @@ -6776,28 +6772,28 @@ yydefault: } case 371: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4196 + //line php7/php7.y:4192 { - yyVAL.str = yylex.(*Parser).PhpDocComment - yylex.(*Parser).PhpDocComment = "" + yyVAL.str = yylex.(*Parser).Lexer.GetPhpDocComment() + yylex.(*Parser).Lexer.SetPhpDocComment("") yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4206 + //line php7/php7.y:4202 { yyVAL.token = nil } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4210 + //line php7/php7.y:4206 { yyVAL.token = yyDollar[1].token } case 374: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4217 + //line php7/php7.y:4213 { yyVAL.ClosureUse = nil @@ -6805,7 +6801,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4223 + //line php7/php7.y:4219 { yyVAL.ClosureUse = expr.NewClosureUse(yyDollar[3].list) @@ -6821,7 +6817,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4240 + //line php7/php7.y:4236 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -6832,7 +6828,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4249 + //line php7/php7.y:4245 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -6840,7 +6836,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4258 + //line php7/php7.y:4254 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(identifier) @@ -6857,7 +6853,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4273 + //line php7/php7.y:4269 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[2].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -6877,7 +6873,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4294 + //line php7/php7.y:4290 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].node.(*node.ArgumentList)) @@ -6891,7 +6887,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4306 + //line php7/php7.y:4302 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -6906,7 +6902,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4319 + //line php7/php7.y:4315 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -6921,7 +6917,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4332 + //line php7/php7.y:4328 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].node.(*node.ArgumentList)) @@ -6935,7 +6931,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4347 + //line php7/php7.y:4343 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -6949,7 +6945,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4359 + //line php7/php7.y:4355 { yyVAL.node = yyDollar[1].node @@ -6957,7 +6953,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4368 + //line php7/php7.y:4364 { yyVAL.node = yyDollar[1].node @@ -6965,7 +6961,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4374 + //line php7/php7.y:4370 { yyVAL.node = yyDollar[1].node @@ -6973,7 +6969,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4383 + //line php7/php7.y:4379 { yyVAL.node = nil @@ -6981,7 +6977,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4389 + //line php7/php7.y:4385 { yyVAL.node = expr.NewExit(yyDollar[2].node) @@ -6996,7 +6992,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4405 + //line php7/php7.y:4401 { yyVAL.list = []node.Node{} @@ -7004,7 +7000,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4411 + //line php7/php7.y:4407 { part := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yyVAL.list = []node.Node{part} @@ -7016,7 +7012,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4421 + //line php7/php7.y:4417 { yyVAL.list = yyDollar[1].list @@ -7024,7 +7020,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4430 + //line php7/php7.y:4426 { yyVAL.node = nil @@ -7032,7 +7028,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4436 + //line php7/php7.y:4432 { yyVAL.node = yyDollar[1].node @@ -7040,7 +7036,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4445 + //line php7/php7.y:4441 { yyVAL.node = expr.NewArray(yyDollar[3].list) @@ -7056,7 +7052,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4459 + //line php7/php7.y:4455 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) @@ -7071,7 +7067,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4472 + //line php7/php7.y:4468 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -7085,7 +7081,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4487 + //line php7/php7.y:4483 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) @@ -7099,7 +7095,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4499 + //line php7/php7.y:4495 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) @@ -7113,7 +7109,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4511 + //line php7/php7.y:4507 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7127,7 +7123,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4523 + //line php7/php7.y:4519 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7141,7 +7137,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4535 + //line php7/php7.y:4531 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7155,7 +7151,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4547 + //line php7/php7.y:4543 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7169,7 +7165,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4559 + //line php7/php7.y:4555 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7183,7 +7179,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4571 + //line php7/php7.y:4567 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7197,7 +7193,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4583 + //line php7/php7.y:4579 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7211,7 +7207,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4595 + //line php7/php7.y:4591 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7225,7 +7221,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4607 + //line php7/php7.y:4603 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, []node.Node{encapsed}) @@ -7241,7 +7237,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4621 + //line php7/php7.y:4617 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) @@ -7255,7 +7251,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4633 + //line php7/php7.y:4629 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) @@ -7269,7 +7265,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4645 + //line php7/php7.y:4641 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) @@ -7283,7 +7279,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4657 + //line php7/php7.y:4653 { yyVAL.node = yyDollar[1].node @@ -7291,7 +7287,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4663 + //line php7/php7.y:4659 { yyVAL.node = yyDollar[1].node @@ -7299,7 +7295,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4672 + //line php7/php7.y:4668 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) @@ -7313,7 +7309,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4684 + //line php7/php7.y:4680 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -7331,7 +7327,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4700 + //line php7/php7.y:4696 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -7349,7 +7345,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4719 + //line php7/php7.y:4715 { yyVAL.node = yyDollar[1].node @@ -7357,7 +7353,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4725 + //line php7/php7.y:4721 { yyVAL.node = yyDollar[1].node @@ -7365,7 +7361,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:4734 + //line php7/php7.y:4730 { yyVAL.node = nil @@ -7373,7 +7369,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4740 + //line php7/php7.y:4736 { yyVAL.node = yyDollar[1].node @@ -7381,7 +7377,7 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4749 + //line php7/php7.y:4745 { yyVAL.node = yyDollar[1].node @@ -7389,7 +7385,7 @@ yydefault: } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4758 + //line php7/php7.y:4754 { yyVAL.node = yyDollar[1].node @@ -7397,7 +7393,7 @@ yydefault: } case 423: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4764 + //line php7/php7.y:4760 { yyVAL.node = yyDollar[2].node @@ -7409,7 +7405,7 @@ yydefault: } case 424: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4774 + //line php7/php7.y:4770 { yyVAL.node = yyDollar[1].node @@ -7417,7 +7413,7 @@ yydefault: } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4783 + //line php7/php7.y:4779 { yyVAL.node = yyDollar[1].node @@ -7425,7 +7421,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4789 + //line php7/php7.y:4785 { yyVAL.node = yyDollar[2].node @@ -7437,7 +7433,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4799 + //line php7/php7.y:4795 { yyVAL.node = yyDollar[1].node @@ -7445,7 +7441,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4808 + //line php7/php7.y:4804 { yyVAL.node = yyDollar[1].node @@ -7453,7 +7449,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4814 + //line php7/php7.y:4810 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7469,7 +7465,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4828 + //line php7/php7.y:4824 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7485,7 +7481,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4842 + //line php7/php7.y:4838 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7501,7 +7497,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4856 + //line php7/php7.y:4852 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7516,7 +7512,7 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4869 + //line php7/php7.y:4865 { yyVAL.node = yyDollar[1].node @@ -7524,7 +7520,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4878 + //line php7/php7.y:4874 { yyVAL.node = yyDollar[1].node @@ -7532,7 +7528,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4884 + //line php7/php7.y:4880 { yyVAL.node = yyDollar[1].node @@ -7540,7 +7536,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4890 + //line php7/php7.y:4886 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7555,7 +7551,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4906 + //line php7/php7.y:4902 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -7572,7 +7568,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4921 + //line php7/php7.y:4917 { yyVAL.node = expr.NewVariable(yyDollar[3].node) @@ -7589,7 +7585,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:4936 + //line php7/php7.y:4932 { yyVAL.node = expr.NewVariable(yyDollar[2].node) @@ -7604,7 +7600,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4952 + //line php7/php7.y:4948 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7619,7 +7615,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:4965 + //line php7/php7.y:4961 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7634,7 +7630,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:4981 + //line php7/php7.y:4977 { yyVAL.node = yyDollar[1].node @@ -7642,7 +7638,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:4987 + //line php7/php7.y:4983 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7658,7 +7654,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5001 + //line php7/php7.y:4997 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7674,7 +7670,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5015 + //line php7/php7.y:5011 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7689,7 +7685,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5028 + //line php7/php7.y:5024 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7704,7 +7700,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5041 + //line php7/php7.y:5037 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -7719,7 +7715,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5057 + //line php7/php7.y:5053 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -7733,7 +7729,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5069 + //line php7/php7.y:5065 { yyVAL.node = yyDollar[2].node @@ -7745,7 +7741,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5079 + //line php7/php7.y:5075 { yyVAL.node = yyDollar[1].node @@ -7753,7 +7749,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5088 + //line php7/php7.y:5084 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -7767,7 +7763,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5100 + //line php7/php7.y:5096 { yyVAL.node = yyDollar[2].node @@ -7779,7 +7775,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5110 + //line php7/php7.y:5106 { yyVAL.node = yyDollar[1].node @@ -7787,7 +7783,7 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5119 + //line php7/php7.y:5115 { yyVAL.list = yyDollar[1].list @@ -7795,7 +7791,7 @@ yydefault: } case 455: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:5128 + //line php7/php7.y:5124 { yyVAL.node = expr.NewArrayItem(nil, nil) @@ -7803,7 +7799,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5134 + //line php7/php7.y:5130 { yyVAL.node = yyDollar[1].node @@ -7811,7 +7807,7 @@ yydefault: } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5143 + //line php7/php7.y:5139 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []node.Node{expr.NewArrayItem(nil, nil)} @@ -7826,7 +7822,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5156 + //line php7/php7.y:5152 { if yyDollar[1].node.(*expr.ArrayItem).Key == nil && yyDollar[1].node.(*expr.ArrayItem).Val == nil { yyVAL.list = []node.Node{} @@ -7838,7 +7834,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5169 + //line php7/php7.y:5165 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node) @@ -7853,7 +7849,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5182 + //line php7/php7.y:5178 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node) @@ -7867,7 +7863,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5194 + //line php7/php7.y:5190 { reference := expr.NewReference(yyDollar[4].node) yyVAL.node = expr.NewArrayItem(yyDollar[1].node, reference) @@ -7885,7 +7881,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5210 + //line php7/php7.y:5206 { reference := expr.NewReference(yyDollar[2].node) yyVAL.node = expr.NewArrayItem(nil, reference) @@ -7901,7 +7897,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:5224 + //line php7/php7.y:5220 { // TODO: Cannot use list() as standalone expression listNode := expr.NewList(yyDollar[5].list) @@ -7922,7 +7918,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5243 + //line php7/php7.y:5239 { // TODO: Cannot use list() as standalone expression listNode := expr.NewList(yyDollar[3].list) @@ -7941,7 +7937,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5263 + //line php7/php7.y:5259 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -7949,7 +7945,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5269 + //line php7/php7.y:5265 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.list = append(yyDollar[1].list, encapsed) @@ -7964,7 +7960,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5282 + //line php7/php7.y:5278 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -7972,7 +7968,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5288 + //line php7/php7.y:5284 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} @@ -7987,7 +7983,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5304 + //line php7/php7.y:5300 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -8004,7 +8000,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5319 + //line php7/php7.y:5315 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -8024,7 +8020,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5337 + //line php7/php7.y:5333 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -8046,7 +8042,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5357 + //line php7/php7.y:5353 { variable := expr.NewVariable(yyDollar[2].node) @@ -8063,7 +8059,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5372 + //line php7/php7.y:5368 { name := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(name) @@ -8082,7 +8078,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:5389 + //line php7/php7.y:5385 { identifier := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(identifier) @@ -8103,7 +8099,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5408 + //line php7/php7.y:5404 { yyVAL.node = yyDollar[2].node @@ -8115,7 +8111,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5421 + //line php7/php7.y:5417 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -8129,7 +8125,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5433 + //line php7/php7.y:5429 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -8148,7 +8144,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5450 + //line php7/php7.y:5446 { var lnumber *scalar.Lnumber // TODO: add option to handle 64 bit integer @@ -8176,7 +8172,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5476 + //line php7/php7.y:5472 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(identifier) @@ -8193,7 +8189,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:5494 + //line php7/php7.y:5490 { yyVAL.node = expr.NewIsset(yyDollar[3].list) @@ -8213,7 +8209,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5512 + //line php7/php7.y:5508 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) @@ -8229,7 +8225,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5526 + //line php7/php7.y:5522 { yyVAL.node = expr.NewInclude(yyDollar[2].node) @@ -8243,7 +8239,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5538 + //line php7/php7.y:5534 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) @@ -8257,7 +8253,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:5550 + //line php7/php7.y:5546 { yyVAL.node = expr.NewEval(yyDollar[3].node) @@ -8273,7 +8269,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5564 + //line php7/php7.y:5560 { yyVAL.node = expr.NewRequire(yyDollar[2].node) @@ -8287,7 +8283,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:5576 + //line php7/php7.y:5572 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) @@ -8301,7 +8297,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5591 + //line php7/php7.y:5587 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -8309,7 +8305,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:5597 + //line php7/php7.y:5593 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -8320,7 +8316,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:5609 + //line php7/php7.y:5605 { yyVAL.node = yyDollar[1].node diff --git a/php7/php7.y b/php7/php7.y index 3ff11c0..fe41a71 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -303,11 +303,9 @@ start: // save position yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1)) + yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating) + yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - if yylex.(*Parser).currentToken.Value == "\xff" { - yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating) - } } ; @@ -485,8 +483,6 @@ top_statement: yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) - - yylex.(*Parser).Begin(scanner.HALT_COMPILER) } | T_NAMESPACE namespace_name ';' { @@ -4194,8 +4190,8 @@ expr_without_variable: backup_doc_comment: /* empty */ { - $$ = yylex.(*Parser).PhpDocComment - yylex.(*Parser).PhpDocComment = "" + $$ = yylex.(*Parser).Lexer.GetPhpDocComment() + yylex.(*Parser).Lexer.SetPhpDocComment("") yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } diff --git a/php7/php7_bench_test.go b/php7/php7_bench_test.go index 8cee251..de7bc0a 100644 --- a/php7/php7_bench_test.go +++ b/php7/php7_bench_test.go @@ -1,7 +1,6 @@ package php7_test import ( - "bytes" "testing" "github.com/z7zmey/php-parser/php7" @@ -382,7 +381,7 @@ CAD; ` for n := 0; n < b.N; n++ { - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() } } diff --git a/php7/php7_test.go b/php7/php7_test.go index df49ce0..792479a 100644 --- a/php7/php7_test.go +++ b/php7/php7_test.go @@ -1,7 +1,6 @@ package php7_test import ( - "bytes" "testing" "gotest.tools/assert" @@ -340,7 +339,7 @@ func TestPhp7(t *testing.T) { \foo\bar(); function foo(&$a, ...$b) { - __halt_compiler(); + function bar() {} class Baz {} trait Quux{} @@ -376,7 +375,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 348, - StartPos: 6, + StartPos: 5, EndPos: 6319, }, Stmts: []node.Node{ @@ -384,21 +383,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 20, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 19, }, Function: &name.Name{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 8, }, Parts: []node.Node{ @@ -406,7 +405,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 8, }, Value: "foo", @@ -417,7 +416,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 9, + StartPos: 8, EndPos: 19, }, Arguments: []node.Node{ @@ -425,7 +424,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Variadic: false, @@ -434,14 +433,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 10, + StartPos: 9, EndPos: 11, }, Value: "a", @@ -452,7 +451,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 14, + StartPos: 13, EndPos: 18, }, Variadic: true, @@ -461,14 +460,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 17, + StartPos: 16, EndPos: 18, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 17, + StartPos: 16, EndPos: 18, }, Value: "b", @@ -483,28 +482,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 39, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 38, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 27, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 24, + StartPos: 23, EndPos: 27, }, Value: "foo", @@ -514,7 +513,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 28, + StartPos: 27, EndPos: 38, }, Arguments: []node.Node{ @@ -522,7 +521,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Variadic: false, @@ -531,14 +530,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 29, + StartPos: 28, EndPos: 30, }, Value: "a", @@ -549,7 +548,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 33, + StartPos: 32, EndPos: 37, }, Variadic: true, @@ -558,14 +557,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 36, + StartPos: 35, EndPos: 37, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 36, + StartPos: 35, EndPos: 37, }, Value: "b", @@ -580,28 +579,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 63, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 62, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 46, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 43, + StartPos: 42, EndPos: 46, }, Value: "foo", @@ -611,7 +610,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 49, + StartPos: 48, EndPos: 51, }, Value: "bar", @@ -620,7 +619,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 52, + StartPos: 51, EndPos: 62, }, Arguments: []node.Node{ @@ -628,23 +627,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 53, + StartPos: 52, EndPos: 54, }, Value: "a", @@ -655,7 +654,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 57, + StartPos: 56, EndPos: 61, }, Variadic: true, @@ -664,14 +663,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 60, + StartPos: 59, EndPos: 61, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 4, EndLine: 4, - StartPos: 60, + StartPos: 59, EndPos: 61, }, Value: "b", @@ -686,21 +685,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 86, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 85, }, Class: &name.Name{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 69, }, Parts: []node.Node{ @@ -708,7 +707,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 67, + StartPos: 66, EndPos: 69, }, Value: "foo", @@ -719,7 +718,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 72, + StartPos: 71, EndPos: 74, }, Value: "bar", @@ -728,7 +727,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 75, + StartPos: 74, EndPos: 85, }, Arguments: []node.Node{ @@ -736,7 +735,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, Variadic: false, @@ -745,14 +744,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 76, + StartPos: 75, EndPos: 77, }, Value: "a", @@ -763,7 +762,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 80, + StartPos: 79, EndPos: 84, }, Variadic: true, @@ -772,14 +771,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 83, + StartPos: 82, EndPos: 84, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 5, EndLine: 5, - StartPos: 83, + StartPos: 82, EndPos: 84, }, Value: "b", @@ -794,28 +793,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 110, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 109, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 93, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 90, + StartPos: 89, EndPos: 93, }, Value: "foo", @@ -825,7 +824,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 96, + StartPos: 95, EndPos: 98, }, Value: "bar", @@ -834,7 +833,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 99, + StartPos: 98, EndPos: 109, }, Arguments: []node.Node{ @@ -842,23 +841,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, - IsReference: false, Variadic: false, + IsReference: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 100, + StartPos: 99, EndPos: 101, }, Value: "a", @@ -869,7 +868,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 104, + StartPos: 103, EndPos: 108, }, Variadic: true, @@ -878,14 +877,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 107, + StartPos: 106, EndPos: 108, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 6, EndLine: 6, - StartPos: 107, + StartPos: 106, EndPos: 108, }, Value: "b", @@ -900,21 +899,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 114, + StartPos: 113, EndPos: 132, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 114, + StartPos: 113, EndPos: 131, }, Class: &name.Name{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 118, + StartPos: 117, EndPos: 120, }, Parts: []node.Node{ @@ -922,7 +921,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 118, + StartPos: 117, EndPos: 120, }, Value: "foo", @@ -933,7 +932,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 121, + StartPos: 120, EndPos: 131, }, Arguments: []node.Node{ @@ -941,7 +940,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, Variadic: false, @@ -950,14 +949,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 122, + StartPos: 121, EndPos: 123, }, Value: "a", @@ -968,7 +967,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 126, + StartPos: 125, EndPos: 130, }, Variadic: true, @@ -977,14 +976,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 129, + StartPos: 128, EndPos: 130, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 129, + StartPos: 128, EndPos: 130, }, Value: "b", @@ -999,21 +998,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 161, + StartPos: 160, EndPos: 185, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 161, + StartPos: 160, EndPos: 184, }, Class: &stmt.Class{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 165, + StartPos: 164, EndPos: 184, }, PhpDocComment: "/** anonymous class */", @@ -1021,7 +1020,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 171, + StartPos: 170, EndPos: 181, }, Arguments: []node.Node{ @@ -1029,23 +1028,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 172, + StartPos: 171, EndPos: 173, }, - IsReference: false, Variadic: false, + IsReference: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 172, + StartPos: 171, EndPos: 173, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 172, + StartPos: 171, EndPos: 173, }, Value: "a", @@ -1056,7 +1055,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 176, + StartPos: 175, EndPos: 180, }, Variadic: true, @@ -1065,14 +1064,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 179, + StartPos: 178, EndPos: 180, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 9, EndLine: 9, - StartPos: 179, + StartPos: 178, EndPos: 180, }, Value: "b", @@ -1089,21 +1088,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 189, + StartPos: 188, EndPos: 201, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 189, + StartPos: 188, EndPos: 200, }, Class: &stmt.Class{ Position: &position.Position{ StartLine: 10, EndLine: 10, - StartPos: 193, + StartPos: 192, EndPos: 200, }, PhpDocComment: "", @@ -1115,28 +1114,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 205, + StartPos: 204, EndPos: 213, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 205, + StartPos: 204, EndPos: 212, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 209, + StartPos: 208, EndPos: 212, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 11, EndLine: 11, - StartPos: 209, + StartPos: 208, EndPos: 212, }, Value: "foo", @@ -1148,35 +1147,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 217, + StartPos: 216, EndPos: 228, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 217, + StartPos: 216, EndPos: 227, }, Class: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 221, + StartPos: 220, EndPos: 227, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 221, + StartPos: 220, EndPos: 224, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 221, + StartPos: 220, EndPos: 224, }, Value: "foo", @@ -1186,7 +1185,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 12, EndLine: 12, - StartPos: 226, + StartPos: 225, EndPos: 226, }, Value: "1", @@ -1198,35 +1197,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 232, + StartPos: 231, EndPos: 246, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 232, + StartPos: 231, EndPos: 245, }, Class: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 236, + StartPos: 235, EndPos: 245, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 236, + StartPos: 235, EndPos: 239, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 236, + StartPos: 235, EndPos: 239, }, Value: "foo", @@ -1236,14 +1235,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 241, + StartPos: 240, EndPos: 244, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 13, EndLine: 13, - StartPos: 241, + StartPos: 240, EndPos: 244, }, Value: "bar", @@ -1256,35 +1255,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 250, + StartPos: 249, EndPos: 263, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 250, + StartPos: 249, EndPos: 262, }, Class: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 254, + StartPos: 253, EndPos: 262, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 254, + StartPos: 253, EndPos: 257, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 254, + StartPos: 253, EndPos: 257, }, Value: "foo", @@ -1294,7 +1293,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 14, EndLine: 14, - StartPos: 260, + StartPos: 259, EndPos: 262, }, Value: "bar", @@ -1306,35 +1305,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 267, + StartPos: 266, EndPos: 281, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 267, + StartPos: 266, EndPos: 280, }, Class: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 271, + StartPos: 270, EndPos: 280, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 271, + StartPos: 270, EndPos: 274, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 271, + StartPos: 270, EndPos: 274, }, Value: "foo", @@ -1344,14 +1343,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 277, + StartPos: 276, EndPos: 280, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 15, EndLine: 15, - StartPos: 277, + StartPos: 276, EndPos: 280, }, Value: "bar", @@ -1364,28 +1363,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 285, + StartPos: 284, EndPos: 301, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 285, + StartPos: 284, EndPos: 300, }, Class: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 289, + StartPos: 288, EndPos: 300, }, Class: &node.Identifier{ Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 289, + StartPos: 288, EndPos: 294, }, Value: "static", @@ -1394,14 +1393,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 297, + StartPos: 296, EndPos: 300, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 16, EndLine: 16, - StartPos: 297, + StartPos: 296, EndPos: 300, }, Value: "bar", @@ -1414,16 +1413,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 306, + StartPos: 305, EndPos: 350, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 315, + StartPos: 314, EndPos: 317, }, Value: "foo", @@ -1433,23 +1432,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 319, + StartPos: 318, EndPos: 332, }, - Variadic: false, ByRef: false, + Variadic: false, VariableType: &node.Nullable{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 319, + StartPos: 318, EndPos: 322, }, Expr: &name.Name{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 320, + StartPos: 319, EndPos: 322, }, Parts: []node.Node{ @@ -1457,7 +1456,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 320, + StartPos: 319, EndPos: 322, }, Value: "bar", @@ -1469,14 +1468,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 324, + StartPos: 323, EndPos: 327, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 324, + StartPos: 323, EndPos: 327, }, Value: "bar", @@ -1486,14 +1485,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 329, + StartPos: 328, EndPos: 332, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 329, + StartPos: 328, EndPos: 332, }, Parts: []node.Node{ @@ -1501,7 +1500,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 329, + StartPos: 328, EndPos: 332, }, Value: "null", @@ -1514,16 +1513,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 335, + StartPos: 334, EndPos: 346, }, - ByRef: true, Variadic: true, + ByRef: true, VariableType: &name.Name{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 335, + StartPos: 334, EndPos: 337, }, Parts: []node.Node{ @@ -1531,7 +1530,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 335, + StartPos: 334, EndPos: 337, }, Value: "baz", @@ -1542,14 +1541,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 343, + StartPos: 342, EndPos: 346, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 18, EndLine: 18, - StartPos: 343, + StartPos: 342, EndPos: 346, }, Value: "baz", @@ -1563,7 +1562,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 354, + StartPos: 353, EndPos: 417, }, PhpDocComment: "", @@ -1571,7 +1570,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 360, + StartPos: 359, EndPos: 362, }, Value: "foo", @@ -1581,7 +1580,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 365, + StartPos: 364, EndPos: 416, }, ReturnsRef: false, @@ -1590,7 +1589,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 381, + StartPos: 380, EndPos: 383, }, Value: "foo", @@ -1600,7 +1599,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 365, + StartPos: 364, EndPos: 370, }, Value: "public", @@ -1611,7 +1610,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 385, + StartPos: 384, EndPos: 398, }, ByRef: false, @@ -1620,14 +1619,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 385, + StartPos: 384, EndPos: 388, }, Expr: &name.Name{ Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 386, + StartPos: 385, EndPos: 388, }, Parts: []node.Node{ @@ -1635,7 +1634,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 386, + StartPos: 385, EndPos: 388, }, Value: "bar", @@ -1647,14 +1646,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 390, + StartPos: 389, EndPos: 393, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 390, + StartPos: 389, EndPos: 393, }, Value: "bar", @@ -1664,14 +1663,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 395, + StartPos: 394, EndPos: 398, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 395, + StartPos: 394, EndPos: 398, }, Parts: []node.Node{ @@ -1679,7 +1678,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 395, + StartPos: 394, EndPos: 398, }, Value: "null", @@ -1692,7 +1691,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 401, + StartPos: 400, EndPos: 412, }, ByRef: true, @@ -1701,7 +1700,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 401, + StartPos: 400, EndPos: 403, }, Parts: []node.Node{ @@ -1709,7 +1708,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 401, + StartPos: 400, EndPos: 403, }, Value: "baz", @@ -1720,14 +1719,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 409, + StartPos: 408, EndPos: 412, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 409, + StartPos: 408, EndPos: 412, }, Value: "baz", @@ -1739,7 +1738,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 19, EndLine: 19, - StartPos: 415, + StartPos: 414, EndPos: 416, }, Stmts: []node.Node{}, @@ -1751,25 +1750,25 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 421, + StartPos: 420, EndPos: 462, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 421, + StartPos: 420, EndPos: 461, }, + PhpDocComment: "", ReturnsRef: false, Static: false, - PhpDocComment: "", Params: []node.Node{ &node.Parameter{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 430, + StartPos: 429, EndPos: 443, }, ByRef: false, @@ -1778,14 +1777,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 430, + StartPos: 429, EndPos: 433, }, Expr: &name.Name{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 431, + StartPos: 430, EndPos: 433, }, Parts: []node.Node{ @@ -1793,7 +1792,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 431, + StartPos: 430, EndPos: 433, }, Value: "bar", @@ -1805,14 +1804,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 435, + StartPos: 434, EndPos: 438, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 435, + StartPos: 434, EndPos: 438, }, Value: "bar", @@ -1822,14 +1821,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 440, + StartPos: 439, EndPos: 443, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 440, + StartPos: 439, EndPos: 443, }, Parts: []node.Node{ @@ -1837,7 +1836,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 440, + StartPos: 439, EndPos: 443, }, Value: "null", @@ -1850,16 +1849,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 446, + StartPos: 445, EndPos: 457, }, - Variadic: true, ByRef: true, + Variadic: true, VariableType: &name.Name{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 446, + StartPos: 445, EndPos: 448, }, Parts: []node.Node{ @@ -1867,7 +1866,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 446, + StartPos: 445, EndPos: 448, }, Value: "baz", @@ -1878,14 +1877,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 454, + StartPos: 453, EndPos: 457, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 20, EndLine: 20, - StartPos: 454, + StartPos: 453, EndPos: 457, }, Value: "baz", @@ -1900,41 +1899,41 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 466, + StartPos: 465, EndPos: 514, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 466, + StartPos: 465, EndPos: 513, }, + PhpDocComment: "", ReturnsRef: false, Static: true, - PhpDocComment: "", Params: []node.Node{ &node.Parameter{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 482, + StartPos: 481, EndPos: 495, }, - Variadic: false, ByRef: false, + Variadic: false, VariableType: &node.Nullable{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 482, + StartPos: 481, EndPos: 485, }, Expr: &name.Name{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 483, + StartPos: 482, EndPos: 485, }, Parts: []node.Node{ @@ -1942,7 +1941,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 483, + StartPos: 482, EndPos: 485, }, Value: "bar", @@ -1954,14 +1953,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 487, + StartPos: 486, EndPos: 490, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 487, + StartPos: 486, EndPos: 490, }, Value: "bar", @@ -1971,14 +1970,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 492, + StartPos: 491, EndPos: 495, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 492, + StartPos: 491, EndPos: 495, }, Parts: []node.Node{ @@ -1986,7 +1985,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 492, + StartPos: 491, EndPos: 495, }, Value: "null", @@ -1999,16 +1998,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 498, + StartPos: 497, EndPos: 509, }, - Variadic: true, ByRef: true, + Variadic: true, VariableType: &name.Name{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 498, + StartPos: 497, EndPos: 500, }, Parts: []node.Node{ @@ -2016,7 +2015,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 498, + StartPos: 497, EndPos: 500, }, Value: "baz", @@ -2027,14 +2026,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 506, + StartPos: 505, EndPos: 509, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 21, EndLine: 21, - StartPos: 506, + StartPos: 505, EndPos: 509, }, Value: "baz", @@ -2049,14 +2048,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 23, EndLine: 23, - StartPos: 519, + StartPos: 518, EndPos: 538, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 23, EndLine: 23, - StartPos: 519, + StartPos: 518, EndPos: 537, }, Value: "1234567890123456789", @@ -2066,14 +2065,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 24, EndLine: 24, - StartPos: 542, + StartPos: 541, EndPos: 562, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 24, EndLine: 24, - StartPos: 542, + StartPos: 541, EndPos: 561, }, Value: "12345678901234567890", @@ -2083,14 +2082,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 25, EndLine: 25, - StartPos: 566, + StartPos: 565, EndPos: 568, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 25, EndLine: 25, - StartPos: 566, + StartPos: 565, EndPos: 567, }, Value: "0.", @@ -2100,14 +2099,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 26, EndLine: 26, - StartPos: 572, + StartPos: 571, EndPos: 638, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 26, EndLine: 26, - StartPos: 572, + StartPos: 571, EndPos: 637, }, Value: "0b0111111111111111111111111111111111111111111111111111111111111111", @@ -2117,14 +2116,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 27, EndLine: 27, - StartPos: 642, + StartPos: 641, EndPos: 708, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 27, EndLine: 27, - StartPos: 642, + StartPos: 641, EndPos: 707, }, Value: "0b1111111111111111111111111111111111111111111111111111111111111111", @@ -2134,14 +2133,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 28, EndLine: 28, - StartPos: 712, + StartPos: 711, EndPos: 732, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 28, EndLine: 28, - StartPos: 712, + StartPos: 711, EndPos: 731, }, Value: "0x007111111111111111", @@ -2151,14 +2150,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 29, EndLine: 29, - StartPos: 736, + StartPos: 735, EndPos: 754, }, Expr: &scalar.Dnumber{ Position: &position.Position{ StartLine: 29, EndLine: 29, - StartPos: 736, + StartPos: 735, EndPos: 753, }, Value: "0x8111111111111111", @@ -2168,14 +2167,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 758, + StartPos: 757, EndPos: 767, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 30, EndLine: 30, - StartPos: 758, + StartPos: 757, EndPos: 766, }, Value: "__CLASS__", @@ -2185,14 +2184,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 771, + StartPos: 770, EndPos: 778, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 31, EndLine: 31, - StartPos: 771, + StartPos: 770, EndPos: 777, }, Value: "__DIR__", @@ -2202,14 +2201,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 782, + StartPos: 781, EndPos: 790, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 32, EndLine: 32, - StartPos: 782, + StartPos: 781, EndPos: 789, }, Value: "__FILE__", @@ -2219,14 +2218,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 794, + StartPos: 793, EndPos: 806, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 33, EndLine: 33, - StartPos: 794, + StartPos: 793, EndPos: 805, }, Value: "__FUNCTION__", @@ -2236,14 +2235,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 810, + StartPos: 809, EndPos: 818, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 34, EndLine: 34, - StartPos: 810, + StartPos: 809, EndPos: 817, }, Value: "__LINE__", @@ -2253,14 +2252,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 822, + StartPos: 821, EndPos: 835, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 35, EndLine: 35, - StartPos: 822, + StartPos: 821, EndPos: 834, }, Value: "__NAMESPACE__", @@ -2270,14 +2269,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 839, + StartPos: 838, EndPos: 849, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 36, EndLine: 36, - StartPos: 839, + StartPos: 838, EndPos: 848, }, Value: "__METHOD__", @@ -2287,14 +2286,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 853, + StartPos: 852, EndPos: 862, }, Expr: &scalar.MagicConstant{ Position: &position.Position{ StartLine: 37, EndLine: 37, - StartPos: 853, + StartPos: 852, EndPos: 861, }, Value: "__TRAIT__", @@ -2304,14 +2303,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 867, + StartPos: 866, EndPos: 878, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 867, + StartPos: 866, EndPos: 877, }, Parts: []node.Node{ @@ -2319,7 +2318,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 868, + StartPos: 867, EndPos: 872, }, Value: "test ", @@ -2328,14 +2327,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 873, + StartPos: 872, EndPos: 876, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 39, EndLine: 39, - StartPos: 873, + StartPos: 872, EndPos: 876, }, Value: "var", @@ -2348,14 +2347,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 882, + StartPos: 881, EndPos: 896, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 882, + StartPos: 881, EndPos: 895, }, Parts: []node.Node{ @@ -2363,7 +2362,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 883, + StartPos: 882, EndPos: 887, }, Value: "test ", @@ -2372,21 +2371,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 888, + StartPos: 887, EndPos: 894, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 888, + StartPos: 887, EndPos: 891, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 888, + StartPos: 887, EndPos: 891, }, Value: "var", @@ -2396,7 +2395,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 40, EndLine: 40, - StartPos: 893, + StartPos: 892, EndPos: 893, }, Value: "1", @@ -2409,14 +2408,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 900, + StartPos: 899, EndPos: 915, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 900, + StartPos: 899, EndPos: 914, }, Parts: []node.Node{ @@ -2424,7 +2423,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 901, + StartPos: 900, EndPos: 905, }, Value: "test ", @@ -2433,21 +2432,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 906, + StartPos: 905, EndPos: 913, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 906, + StartPos: 905, EndPos: 909, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 906, + StartPos: 905, EndPos: 909, }, Value: "var", @@ -2457,14 +2456,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 911, + StartPos: 910, EndPos: 912, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 41, EndLine: 41, - StartPos: 911, + StartPos: 910, EndPos: 912, }, Value: "1", @@ -2478,14 +2477,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 919, + StartPos: 918, EndPos: 972, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 919, + StartPos: 918, EndPos: 971, }, Parts: []node.Node{ @@ -2493,7 +2492,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 920, + StartPos: 919, EndPos: 924, }, Value: "test ", @@ -2502,21 +2501,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 925, + StartPos: 924, EndPos: 970, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 925, + StartPos: 924, EndPos: 928, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 925, + StartPos: 924, EndPos: 928, }, Value: "var", @@ -2526,7 +2525,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 42, EndLine: 42, - StartPos: 930, + StartPos: 929, EndPos: 969, }, Value: "1234567890123456789012345678901234567890", @@ -2539,14 +2538,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 976, + StartPos: 975, EndPos: 1030, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 976, + StartPos: 975, EndPos: 1029, }, Parts: []node.Node{ @@ -2554,7 +2553,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 977, + StartPos: 976, EndPos: 981, }, Value: "test ", @@ -2563,21 +2562,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 982, + StartPos: 981, EndPos: 1028, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 982, + StartPos: 981, EndPos: 985, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 982, + StartPos: 981, EndPos: 985, }, Value: "var", @@ -2587,7 +2586,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 43, EndLine: 43, - StartPos: 987, + StartPos: 986, EndPos: 1027, }, Value: "-1234567890123456789012345678901234567890", @@ -2600,14 +2599,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1034, + StartPos: 1033, EndPos: 1050, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1034, + StartPos: 1033, EndPos: 1049, }, Parts: []node.Node{ @@ -2615,7 +2614,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1035, + StartPos: 1034, EndPos: 1039, }, Value: "test ", @@ -2624,21 +2623,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1040, + StartPos: 1039, EndPos: 1048, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1040, + StartPos: 1039, EndPos: 1043, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1040, + StartPos: 1039, EndPos: 1043, }, Value: "var", @@ -2648,7 +2647,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 44, EndLine: 44, - StartPos: 1045, + StartPos: 1044, EndPos: 1047, }, Value: "bar", @@ -2661,14 +2660,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1054, + StartPos: 1053, EndPos: 1071, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1054, + StartPos: 1053, EndPos: 1070, }, Parts: []node.Node{ @@ -2676,7 +2675,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1055, + StartPos: 1054, EndPos: 1059, }, Value: "test ", @@ -2685,21 +2684,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1060, + StartPos: 1059, EndPos: 1069, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1060, + StartPos: 1059, EndPos: 1063, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1060, + StartPos: 1059, EndPos: 1063, }, Value: "var", @@ -2709,14 +2708,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1065, + StartPos: 1064, EndPos: 1068, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 45, EndLine: 45, - StartPos: 1065, + StartPos: 1064, EndPos: 1068, }, Value: "bar", @@ -2730,14 +2729,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1075, + StartPos: 1074, EndPos: 1086, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1075, + StartPos: 1074, EndPos: 1085, }, Parts: []node.Node{ @@ -2745,14 +2744,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1076, + StartPos: 1075, EndPos: 1079, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1076, + StartPos: 1075, EndPos: 1079, }, Value: "foo", @@ -2762,7 +2761,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1080, + StartPos: 1079, EndPos: 1080, }, Value: " ", @@ -2771,14 +2770,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1081, + StartPos: 1080, EndPos: 1084, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 46, EndLine: 46, - StartPos: 1081, + StartPos: 1080, EndPos: 1084, }, Value: "bar", @@ -2791,14 +2790,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1090, + StartPos: 1089, EndPos: 1108, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1090, + StartPos: 1089, EndPos: 1107, }, Parts: []node.Node{ @@ -2806,7 +2805,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1091, + StartPos: 1090, EndPos: 1095, }, Value: "test ", @@ -2815,21 +2814,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1096, + StartPos: 1095, EndPos: 1104, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1096, + StartPos: 1095, EndPos: 1099, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1096, + StartPos: 1095, EndPos: 1099, }, Value: "foo", @@ -2839,7 +2838,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1102, + StartPos: 1101, EndPos: 1104, }, Value: "bar", @@ -2849,7 +2848,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 47, EndLine: 47, - StartPos: 1105, + StartPos: 1104, EndPos: 1106, }, Value: "()", @@ -2861,14 +2860,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 48, EndLine: 48, - StartPos: 1112, + StartPos: 1111, EndPos: 1125, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 48, EndLine: 48, - StartPos: 1112, + StartPos: 1111, EndPos: 1124, }, Parts: []node.Node{ @@ -2876,7 +2875,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 48, EndLine: 48, - StartPos: 1113, + StartPos: 1112, EndPos: 1117, }, Value: "test ", @@ -2885,14 +2884,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 48, EndLine: 48, - StartPos: 1118, + StartPos: 1117, EndPos: 1123, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 48, EndLine: 48, - StartPos: 1120, + StartPos: 1119, EndPos: 1122, }, Value: "foo", @@ -2905,14 +2904,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1129, + StartPos: 1128, EndPos: 1145, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1129, + StartPos: 1128, EndPos: 1144, }, Parts: []node.Node{ @@ -2920,7 +2919,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1130, + StartPos: 1129, EndPos: 1134, }, Value: "test ", @@ -2929,21 +2928,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1135, + StartPos: 1134, EndPos: 1143, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1137, + StartPos: 1136, EndPos: 1139, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1137, + StartPos: 1136, EndPos: 1139, }, Value: "foo", @@ -2953,7 +2952,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 49, EndLine: 49, - StartPos: 1141, + StartPos: 1140, EndPos: 1141, }, Value: "0", @@ -2966,14 +2965,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1149, + StartPos: 1148, EndPos: 1163, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1149, + StartPos: 1148, EndPos: 1162, }, Parts: []node.Node{ @@ -2981,7 +2980,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1150, + StartPos: 1149, EndPos: 1154, }, Value: "test ", @@ -2990,21 +2989,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1155, + StartPos: 1154, EndPos: 1161, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1157, + StartPos: 1156, EndPos: 1160, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 50, EndLine: 50, - StartPos: 1157, + StartPos: 1156, EndPos: 1160, }, Value: "foo", @@ -3018,14 +3017,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1167, + StartPos: 1166, EndPos: 1187, }, Expr: &scalar.Encapsed{ Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1167, + StartPos: 1166, EndPos: 1186, }, Parts: []node.Node{ @@ -3033,7 +3032,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1168, + StartPos: 1167, EndPos: 1172, }, Value: "test ", @@ -3042,21 +3041,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1174, + StartPos: 1173, EndPos: 1184, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1174, + StartPos: 1173, EndPos: 1177, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1174, + StartPos: 1173, EndPos: 1177, }, Value: "foo", @@ -3066,7 +3065,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1180, + StartPos: 1179, EndPos: 1182, }, Value: "bar", @@ -3075,7 +3074,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 51, EndLine: 51, - StartPos: 1183, + StartPos: 1182, EndPos: 1184, }, }, @@ -3087,21 +3086,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 53, EndLine: 54, - StartPos: 1192, + StartPos: 1191, EndPos: 1209, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 53, EndLine: 53, - StartPos: 1196, + StartPos: 1195, EndPos: 1197, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 53, EndLine: 53, - StartPos: 1196, + StartPos: 1195, EndPos: 1197, }, Value: "a", @@ -3121,21 +3120,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 55, EndLine: 57, - StartPos: 1213, + StartPos: 1212, EndPos: 1245, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1217, + StartPos: 1216, EndPos: 1218, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 55, EndLine: 55, - StartPos: 1217, + StartPos: 1216, EndPos: 1218, }, Value: "a", @@ -3155,21 +3154,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 56, EndLine: -1, - StartPos: 1225, + StartPos: 1224, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1233, + StartPos: 1232, EndPos: 1234, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 56, EndLine: 56, - StartPos: 1233, + StartPos: 1232, EndPos: 1234, }, Value: "b", @@ -3191,21 +3190,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 58, EndLine: 60, - StartPos: 1249, + StartPos: 1248, EndPos: 1274, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1253, + StartPos: 1252, EndPos: 1254, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 58, EndLine: 58, - StartPos: 1253, + StartPos: 1252, EndPos: 1254, }, Value: "a", @@ -3224,7 +3223,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 59, EndLine: -1, - StartPos: 1261, + StartPos: 1260, EndPos: -1, }, Stmt: &stmt.StmtList{ @@ -3242,21 +3241,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 61, EndLine: 65, - StartPos: 1278, + StartPos: 1277, EndPos: 1333, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1282, + StartPos: 1281, EndPos: 1283, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 61, EndLine: 61, - StartPos: 1282, + StartPos: 1281, EndPos: 1283, }, Value: "a", @@ -3276,21 +3275,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 62, EndLine: -1, - StartPos: 1290, + StartPos: 1289, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1298, + StartPos: 1297, EndPos: 1299, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 62, EndLine: 62, - StartPos: 1298, + StartPos: 1297, EndPos: 1299, }, Value: "b", @@ -3310,21 +3309,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 63, EndLine: -1, - StartPos: 1305, + StartPos: 1304, EndPos: -1, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1313, + StartPos: 1312, EndPos: 1314, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 63, EndLine: 63, - StartPos: 1313, + StartPos: 1312, EndPos: 1314, }, Value: "c", @@ -3345,7 +3344,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 64, EndLine: -1, - StartPos: 1320, + StartPos: 1319, EndPos: -1, }, Stmt: &stmt.StmtList{ @@ -3363,14 +3362,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1338, + StartPos: 1337, EndPos: 1357, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1345, + StartPos: 1344, EndPos: 1345, }, Value: "1", @@ -3379,7 +3378,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1348, + StartPos: 1347, EndPos: 1357, }, Stmts: []node.Node{ @@ -3387,7 +3386,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 67, EndLine: 67, - StartPos: 1350, + StartPos: 1349, EndPos: 1355, }, }, @@ -3398,14 +3397,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1361, + StartPos: 1360, EndPos: 1382, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1368, + StartPos: 1367, EndPos: 1368, }, Value: "1", @@ -3414,7 +3413,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1371, + StartPos: 1370, EndPos: 1382, }, Stmts: []node.Node{ @@ -3422,14 +3421,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1373, + StartPos: 1372, EndPos: 1380, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 68, EndLine: 68, - StartPos: 1379, + StartPos: 1378, EndPos: 1379, }, Value: "2", @@ -3442,14 +3441,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1386, + StartPos: 1385, EndPos: 1416, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1393, + StartPos: 1392, EndPos: 1393, }, Value: "1", @@ -3458,7 +3457,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1398, + StartPos: 1397, EndPos: 1406, }, Stmts: []node.Node{ @@ -3466,14 +3465,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1398, + StartPos: 1397, EndPos: 1406, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 69, EndLine: 69, - StartPos: 1404, + StartPos: 1403, EndPos: 1404, }, Value: "3", @@ -3486,7 +3485,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1420, + StartPos: 1419, EndPos: 1462, }, PhpDocComment: "", @@ -3494,7 +3493,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1426, + StartPos: 1425, EndPos: 1428, }, Value: "foo", @@ -3504,7 +3503,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1431, + StartPos: 1430, EndPos: 1460, }, Modifiers: []node.Node{ @@ -3512,7 +3511,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1431, + StartPos: 1430, EndPos: 1436, }, Value: "public", @@ -3523,7 +3522,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1444, + StartPos: 1443, EndPos: 1450, }, PhpDocComment: "", @@ -3531,7 +3530,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1444, + StartPos: 1443, EndPos: 1446, }, Value: "FOO", @@ -3540,7 +3539,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1450, + StartPos: 1449, EndPos: 1450, }, Value: "1", @@ -3550,7 +3549,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1453, + StartPos: 1452, EndPos: 1459, }, PhpDocComment: "", @@ -3558,7 +3557,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1453, + StartPos: 1452, EndPos: 1455, }, Value: "BAR", @@ -3567,7 +3566,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 70, EndLine: 70, - StartPos: 1459, + StartPos: 1458, EndPos: 1459, }, Value: "2", @@ -3581,7 +3580,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1466, + StartPos: 1465, EndPos: 1501, }, PhpDocComment: "", @@ -3589,7 +3588,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1472, + StartPos: 1471, EndPos: 1474, }, Value: "foo", @@ -3599,7 +3598,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1477, + StartPos: 1476, EndPos: 1499, }, Consts: []node.Node{ @@ -3607,7 +3606,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1483, + StartPos: 1482, EndPos: 1489, }, PhpDocComment: "", @@ -3615,7 +3614,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1483, + StartPos: 1482, EndPos: 1485, }, Value: "FOO", @@ -3624,7 +3623,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1489, + StartPos: 1488, EndPos: 1489, }, Value: "1", @@ -3634,7 +3633,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1492, + StartPos: 1491, EndPos: 1498, }, PhpDocComment: "", @@ -3642,7 +3641,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1492, + StartPos: 1491, EndPos: 1494, }, Value: "BAR", @@ -3651,7 +3650,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 71, EndLine: 71, - StartPos: 1498, + StartPos: 1497, EndPos: 1498, }, Value: "2", @@ -3665,7 +3664,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1505, + StartPos: 1504, EndPos: 1534, }, PhpDocComment: "", @@ -3673,7 +3672,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1511, + StartPos: 1510, EndPos: 1513, }, Value: "foo", @@ -3683,16 +3682,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1516, + StartPos: 1515, EndPos: 1532, }, - PhpDocComment: "", ReturnsRef: false, + PhpDocComment: "", MethodName: &node.Identifier{ Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1525, + StartPos: 1524, EndPos: 1527, }, Value: "bar", @@ -3701,7 +3700,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 72, EndLine: 72, - StartPos: 1531, + StartPos: 1530, EndPos: 1532, }, Stmts: []node.Node{}, @@ -3713,7 +3712,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1538, + StartPos: 1537, EndPos: 1582, }, PhpDocComment: "", @@ -3721,7 +3720,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1544, + StartPos: 1543, EndPos: 1546, }, Value: "foo", @@ -3731,7 +3730,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1549, + StartPos: 1548, EndPos: 1580, }, ReturnsRef: true, @@ -3740,7 +3739,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1573, + StartPos: 1572, EndPos: 1575, }, Value: "bar", @@ -3750,7 +3749,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1549, + StartPos: 1548, EndPos: 1554, }, Value: "public", @@ -3759,7 +3758,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1556, + StartPos: 1555, EndPos: 1561, }, Value: "static", @@ -3769,7 +3768,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 73, EndLine: 73, - StartPos: 1579, + StartPos: 1578, EndPos: 1580, }, Stmts: []node.Node{}, @@ -3781,7 +3780,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1586, + StartPos: 1585, EndPos: 1636, }, PhpDocComment: "", @@ -3789,7 +3788,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1592, + StartPos: 1591, EndPos: 1594, }, Value: "foo", @@ -3799,7 +3798,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1597, + StartPos: 1596, EndPos: 1634, }, ReturnsRef: true, @@ -3808,7 +3807,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1621, + StartPos: 1620, EndPos: 1623, }, Value: "bar", @@ -3818,7 +3817,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1597, + StartPos: 1596, EndPos: 1602, }, Value: "public", @@ -3827,7 +3826,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1604, + StartPos: 1603, EndPos: 1609, }, Value: "static", @@ -3837,7 +3836,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1628, + StartPos: 1627, EndPos: 1631, }, Parts: []node.Node{ @@ -3845,7 +3844,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1628, + StartPos: 1627, EndPos: 1631, }, Value: "void", @@ -3856,7 +3855,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 74, EndLine: 74, - StartPos: 1633, + StartPos: 1632, EndPos: 1634, }, Stmts: []node.Node{}, @@ -3868,7 +3867,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1640, + StartPos: 1639, EndPos: 1660, }, PhpDocComment: "", @@ -3876,7 +3875,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1655, + StartPos: 1654, EndPos: 1657, }, Value: "foo", @@ -3886,7 +3885,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 75, EndLine: 75, - StartPos: 1640, + StartPos: 1639, EndPos: 1647, }, Value: "abstract", @@ -3898,7 +3897,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1664, + StartPos: 1663, EndPos: 1694, }, PhpDocComment: "", @@ -3906,7 +3905,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1676, + StartPos: 1675, EndPos: 1678, }, Value: "foo", @@ -3916,7 +3915,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1664, + StartPos: 1663, EndPos: 1668, }, Value: "final", @@ -3926,14 +3925,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1680, + StartPos: 1679, EndPos: 1690, }, ClassName: &name.Name{ Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1688, + StartPos: 1687, EndPos: 1690, }, Parts: []node.Node{ @@ -3941,7 +3940,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 76, EndLine: 76, - StartPos: 1688, + StartPos: 1687, EndPos: 1690, }, Value: "bar", @@ -3955,7 +3954,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1698, + StartPos: 1697, EndPos: 1731, }, PhpDocComment: "", @@ -3963,7 +3962,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1710, + StartPos: 1709, EndPos: 1712, }, Value: "foo", @@ -3973,7 +3972,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1698, + StartPos: 1697, EndPos: 1702, }, Value: "final", @@ -3983,7 +3982,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1714, + StartPos: 1713, EndPos: 1727, }, InterfaceNames: []node.Node{ @@ -3991,7 +3990,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1725, + StartPos: 1724, EndPos: 1727, }, Parts: []node.Node{ @@ -3999,7 +3998,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 77, EndLine: 77, - StartPos: 1725, + StartPos: 1724, EndPos: 1727, }, Value: "bar", @@ -4014,7 +4013,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1735, + StartPos: 1734, EndPos: 1773, }, PhpDocComment: "", @@ -4022,7 +4021,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1747, + StartPos: 1746, EndPos: 1749, }, Value: "foo", @@ -4032,7 +4031,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1735, + StartPos: 1734, EndPos: 1739, }, Value: "final", @@ -4042,7 +4041,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1751, + StartPos: 1750, EndPos: 1769, }, InterfaceNames: []node.Node{ @@ -4050,7 +4049,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1762, + StartPos: 1761, EndPos: 1764, }, Parts: []node.Node{ @@ -4058,7 +4057,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1762, + StartPos: 1761, EndPos: 1764, }, Value: "bar", @@ -4069,7 +4068,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1767, + StartPos: 1766, EndPos: 1769, }, Parts: []node.Node{ @@ -4077,7 +4076,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 78, EndLine: 78, - StartPos: 1767, + StartPos: 1766, EndPos: 1769, }, Value: "baz", @@ -4092,21 +4091,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1777, + StartPos: 1776, EndPos: 1824, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1777, + StartPos: 1776, EndPos: 1823, }, Class: &stmt.Class{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1781, + StartPos: 1780, EndPos: 1823, }, PhpDocComment: "", @@ -4114,7 +4113,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1786, + StartPos: 1785, EndPos: 1787, }, }, @@ -4122,14 +4121,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1789, + StartPos: 1788, EndPos: 1799, }, ClassName: &name.Name{ Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1797, + StartPos: 1796, EndPos: 1799, }, Parts: []node.Node{ @@ -4137,7 +4136,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1797, + StartPos: 1796, EndPos: 1799, }, Value: "foo", @@ -4149,7 +4148,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1801, + StartPos: 1800, EndPos: 1819, }, InterfaceNames: []node.Node{ @@ -4157,7 +4156,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1812, + StartPos: 1811, EndPos: 1814, }, Parts: []node.Node{ @@ -4165,7 +4164,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1812, + StartPos: 1811, EndPos: 1814, }, Value: "bar", @@ -4176,7 +4175,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1817, + StartPos: 1816, EndPos: 1819, }, Parts: []node.Node{ @@ -4184,7 +4183,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 79, EndLine: 79, - StartPos: 1817, + StartPos: 1816, EndPos: 1819, }, Value: "baz", @@ -4201,7 +4200,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1829, + StartPos: 1828, EndPos: 1851, }, Consts: []node.Node{ @@ -4209,7 +4208,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1835, + StartPos: 1834, EndPos: 1841, }, PhpDocComment: "", @@ -4217,7 +4216,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1835, + StartPos: 1834, EndPos: 1837, }, Value: "FOO", @@ -4226,7 +4225,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1841, + StartPos: 1840, EndPos: 1841, }, Value: "1", @@ -4236,7 +4235,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1844, + StartPos: 1843, EndPos: 1850, }, PhpDocComment: "", @@ -4244,7 +4243,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1844, + StartPos: 1843, EndPos: 1846, }, Value: "BAR", @@ -4253,7 +4252,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 81, EndLine: 81, - StartPos: 1850, + StartPos: 1849, EndPos: 1850, }, Value: "2", @@ -4265,14 +4264,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1855, + StartPos: 1854, EndPos: 1877, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1862, + StartPos: 1861, EndPos: 1862, }, Value: "1", @@ -4281,7 +4280,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1865, + StartPos: 1864, EndPos: 1877, }, Stmts: []node.Node{ @@ -4289,7 +4288,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 82, EndLine: 82, - StartPos: 1867, + StartPos: 1866, EndPos: 1875, }, }, @@ -4300,14 +4299,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1881, + StartPos: 1880, EndPos: 1905, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1888, + StartPos: 1887, EndPos: 1888, }, Value: "1", @@ -4316,7 +4315,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1891, + StartPos: 1890, EndPos: 1905, }, Stmts: []node.Node{ @@ -4324,14 +4323,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1893, + StartPos: 1892, EndPos: 1903, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 83, EndLine: 83, - StartPos: 1902, + StartPos: 1901, EndPos: 1902, }, Value: "2", @@ -4344,14 +4343,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1909, + StartPos: 1908, EndPos: 1934, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1916, + StartPos: 1915, EndPos: 1916, }, Value: "1", @@ -4360,7 +4359,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1919, + StartPos: 1918, EndPos: 1934, }, Stmts: []node.Node{ @@ -4368,14 +4367,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1921, + StartPos: 1920, EndPos: 1932, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 84, EndLine: 84, - StartPos: 1930, + StartPos: 1929, EndPos: 1930, }, Value: "3", @@ -4388,15 +4387,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 1938, + StartPos: 1937, EndPos: 1954, }, + Alt: false, Consts: []node.Node{ &stmt.Constant{ Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 1946, + StartPos: 1945, EndPos: 1952, }, PhpDocComment: "", @@ -4404,7 +4404,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 1946, + StartPos: 1945, EndPos: 1950, }, Value: "ticks", @@ -4413,7 +4413,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 1952, + StartPos: 1951, EndPos: 1952, }, Value: "1", @@ -4424,7 +4424,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 85, EndLine: 85, - StartPos: 1954, + StartPos: 1953, EndPos: 1954, }, }, @@ -4433,15 +4433,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 1958, + StartPos: 1957, EndPos: 1976, }, + Alt: false, Consts: []node.Node{ &stmt.Constant{ Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 1966, + StartPos: 1965, EndPos: 1972, }, PhpDocComment: "", @@ -4449,7 +4450,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 1966, + StartPos: 1965, EndPos: 1970, }, Value: "ticks", @@ -4458,7 +4459,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 1972, + StartPos: 1971, EndPos: 1972, }, Value: "1", @@ -4469,7 +4470,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 86, EndLine: 86, - StartPos: 1975, + StartPos: 1974, EndPos: 1976, }, Stmts: []node.Node{}, @@ -4479,7 +4480,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 87, EndLine: 87, - StartPos: 1980, + StartPos: 1979, EndPos: 2008, }, Alt: true, @@ -4488,7 +4489,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 87, EndLine: 87, - StartPos: 1988, + StartPos: 1987, EndPos: 1994, }, PhpDocComment: "", @@ -4496,7 +4497,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 87, EndLine: 87, - StartPos: 1988, + StartPos: 1987, EndPos: 1992, }, Value: "ticks", @@ -4505,7 +4506,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 87, EndLine: 87, - StartPos: 1994, + StartPos: 1993, EndPos: 1994, }, Value: "1", @@ -4526,14 +4527,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 88, EndLine: 88, - StartPos: 2012, + StartPos: 2011, EndPos: 2026, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 88, EndLine: 88, - StartPos: 2015, + StartPos: 2014, EndPos: 2016, }, Stmts: []node.Node{}, @@ -4542,7 +4543,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 88, EndLine: 88, - StartPos: 2024, + StartPos: 2023, EndPos: 2024, }, Value: "1", @@ -4552,7 +4553,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2030, + StartPos: 2029, EndPos: 2040, }, Exprs: []node.Node{ @@ -4560,14 +4561,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2035, + StartPos: 2034, EndPos: 2036, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2035, + StartPos: 2034, EndPos: 2036, }, Value: "a", @@ -4577,7 +4578,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 89, EndLine: 89, - StartPos: 2039, + StartPos: 2038, EndPos: 2039, }, Value: "1", @@ -4588,7 +4589,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 90, EndLine: 90, - StartPos: 2044, + StartPos: 2043, EndPos: 2052, }, Exprs: []node.Node{ @@ -4596,14 +4597,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 90, EndLine: 90, - StartPos: 2049, + StartPos: 2048, EndPos: 2050, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 90, EndLine: 90, - StartPos: 2049, + StartPos: 2048, EndPos: 2050, }, Value: "a", @@ -4615,7 +4616,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2056, + StartPos: 2055, EndPos: 2090, }, Init: []node.Node{ @@ -4623,21 +4624,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2060, + StartPos: 2059, EndPos: 2065, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2060, + StartPos: 2059, EndPos: 2061, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2060, + StartPos: 2059, EndPos: 2061, }, Value: "i", @@ -4647,7 +4648,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2065, + StartPos: 2064, EndPos: 2065, }, Value: "0", @@ -4659,21 +4660,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2068, + StartPos: 2067, EndPos: 2074, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2068, + StartPos: 2067, EndPos: 2069, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2068, + StartPos: 2067, EndPos: 2069, }, Value: "i", @@ -4683,7 +4684,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2073, + StartPos: 2072, EndPos: 2074, }, Value: "10", @@ -4695,21 +4696,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2077, + StartPos: 2076, EndPos: 2080, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2077, + StartPos: 2076, EndPos: 2078, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2077, + StartPos: 2076, EndPos: 2078, }, Value: "i", @@ -4720,21 +4721,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2083, + StartPos: 2082, EndPos: 2086, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2083, + StartPos: 2082, EndPos: 2084, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2083, + StartPos: 2082, EndPos: 2084, }, Value: "i", @@ -4746,7 +4747,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 91, EndLine: 91, - StartPos: 2089, + StartPos: 2088, EndPos: 2090, }, Stmts: []node.Node{}, @@ -4756,7 +4757,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2094, + StartPos: 2093, EndPos: 2129, }, Cond: []node.Node{ @@ -4764,21 +4765,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2100, + StartPos: 2099, EndPos: 2106, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2100, + StartPos: 2099, EndPos: 2101, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2100, + StartPos: 2099, EndPos: 2101, }, Value: "i", @@ -4788,7 +4789,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2105, + StartPos: 2104, EndPos: 2106, }, Value: "10", @@ -4800,21 +4801,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2109, + StartPos: 2108, EndPos: 2112, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2109, + StartPos: 2108, EndPos: 2110, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2109, + StartPos: 2108, EndPos: 2110, }, Value: "i", @@ -4825,21 +4826,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2115, + StartPos: 2114, EndPos: 2118, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2115, + StartPos: 2114, EndPos: 2116, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 92, EndLine: 92, - StartPos: 2115, + StartPos: 2114, EndPos: 2116, }, Value: "i", @@ -4861,21 +4862,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2133, + StartPos: 2132, EndPos: 2153, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2142, + StartPos: 2141, EndPos: 2143, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2142, + StartPos: 2141, EndPos: 2143, }, Value: "a", @@ -4885,14 +4886,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2148, + StartPos: 2147, EndPos: 2149, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2148, + StartPos: 2147, EndPos: 2149, }, Value: "v", @@ -4902,7 +4903,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 93, EndLine: 93, - StartPos: 2152, + StartPos: 2151, EndPos: 2153, }, Stmts: []node.Node{}, @@ -4912,21 +4913,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2157, + StartPos: 2156, EndPos: 2188, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2166, + StartPos: 2165, EndPos: 2167, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2166, + StartPos: 2165, EndPos: 2167, }, Value: "a", @@ -4936,14 +4937,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2172, + StartPos: 2171, EndPos: 2173, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 94, EndLine: 94, - StartPos: 2172, + StartPos: 2171, EndPos: 2173, }, Value: "v", @@ -4963,21 +4964,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2192, + StartPos: 2191, EndPos: 2218, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2201, + StartPos: 2200, EndPos: 2202, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2201, + StartPos: 2200, EndPos: 2202, }, Value: "a", @@ -4987,14 +4988,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2207, + StartPos: 2206, EndPos: 2208, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2207, + StartPos: 2206, EndPos: 2208, }, Value: "k", @@ -5004,14 +5005,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2213, + StartPos: 2212, EndPos: 2214, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2213, + StartPos: 2212, EndPos: 2214, }, Value: "v", @@ -5021,7 +5022,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 95, EndLine: 95, - StartPos: 2217, + StartPos: 2216, EndPos: 2218, }, Stmts: []node.Node{}, @@ -5031,21 +5032,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2222, + StartPos: 2221, EndPos: 2249, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2231, + StartPos: 2230, EndPos: 2232, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2231, + StartPos: 2230, EndPos: 2232, }, Value: "a", @@ -5055,14 +5056,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2237, + StartPos: 2236, EndPos: 2238, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2237, + StartPos: 2236, EndPos: 2238, }, Value: "k", @@ -5072,21 +5073,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2243, + StartPos: 2242, EndPos: 2245, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2244, + StartPos: 2243, EndPos: 2245, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2244, + StartPos: 2243, EndPos: 2245, }, Value: "v", @@ -5097,7 +5098,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 96, EndLine: 96, - StartPos: 2248, + StartPos: 2247, EndPos: 2249, }, Stmts: []node.Node{}, @@ -5107,21 +5108,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2253, + StartPos: 2252, EndPos: 2285, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2262, + StartPos: 2261, EndPos: 2263, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2262, + StartPos: 2261, EndPos: 2263, }, Value: "a", @@ -5131,14 +5132,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2268, + StartPos: 2267, EndPos: 2269, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2268, + StartPos: 2267, EndPos: 2269, }, Value: "k", @@ -5148,7 +5149,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2274, + StartPos: 2273, EndPos: 2281, }, Items: []node.Node{ @@ -5156,21 +5157,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2279, + StartPos: 2278, EndPos: 2280, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2279, + StartPos: 2278, EndPos: 2280, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2279, + StartPos: 2278, EndPos: 2280, }, Value: "v", @@ -5183,7 +5184,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 97, EndLine: 97, - StartPos: 2284, + StartPos: 2283, EndPos: 2285, }, Stmts: []node.Node{}, @@ -5193,21 +5194,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2289, + StartPos: 2288, EndPos: 2317, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2298, + StartPos: 2297, EndPos: 2299, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2298, + StartPos: 2297, EndPos: 2299, }, Value: "a", @@ -5217,14 +5218,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2304, + StartPos: 2303, EndPos: 2305, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2304, + StartPos: 2303, EndPos: 2305, }, Value: "k", @@ -5234,7 +5235,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2310, + StartPos: 2309, EndPos: 2313, }, Items: []node.Node{ @@ -5242,21 +5243,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2311, + StartPos: 2310, EndPos: 2312, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2311, + StartPos: 2310, EndPos: 2312, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2311, + StartPos: 2310, EndPos: 2312, }, Value: "v", @@ -5269,7 +5270,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 98, EndLine: 98, - StartPos: 2316, + StartPos: 2315, EndPos: 2317, }, Stmts: []node.Node{}, @@ -5279,7 +5280,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 99, EndLine: 99, - StartPos: 2321, + StartPos: 2320, EndPos: 2337, }, ReturnsRef: false, @@ -5288,7 +5289,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 99, EndLine: 99, - StartPos: 2330, + StartPos: 2329, EndPos: 2332, }, Value: "foo", @@ -5299,16 +5300,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2341, + StartPos: 2340, EndPos: 2364, }, - ReturnsRef: false, PhpDocComment: "", + ReturnsRef: false, FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2350, + StartPos: 2349, EndPos: 2352, }, Value: "foo", @@ -5318,7 +5319,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 100, EndLine: 100, - StartPos: 2357, + StartPos: 2356, EndPos: 2363, }, }, @@ -5328,7 +5329,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2368, + StartPos: 2367, EndPos: 2394, }, ReturnsRef: true, @@ -5337,7 +5338,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2378, + StartPos: 2377, EndPos: 2380, }, Value: "foo", @@ -5347,14 +5348,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2385, + StartPos: 2384, EndPos: 2393, }, Expr: &scalar.Lnumber{ Position: &position.Position{ StartLine: 101, EndLine: 101, - StartPos: 2392, + StartPos: 2391, EndPos: 2392, }, Value: "1", @@ -5366,7 +5367,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2398, + StartPos: 2397, EndPos: 2421, }, ReturnsRef: true, @@ -5375,7 +5376,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2408, + StartPos: 2407, EndPos: 2410, }, Value: "foo", @@ -5384,7 +5385,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2415, + StartPos: 2414, EndPos: 2418, }, Parts: []node.Node{ @@ -5392,7 +5393,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 102, EndLine: 102, - StartPos: 2415, + StartPos: 2414, EndPos: 2418, }, Value: "void", @@ -5405,7 +5406,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2425, + StartPos: 2424, EndPos: 2438, }, Vars: []node.Node{ @@ -5413,14 +5414,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2432, + StartPos: 2431, EndPos: 2433, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2432, + StartPos: 2431, EndPos: 2433, }, Value: "a", @@ -5430,14 +5431,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2436, + StartPos: 2435, EndPos: 2437, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 103, EndLine: 103, - StartPos: 2436, + StartPos: 2435, EndPos: 2437, }, Value: "b", @@ -5449,14 +5450,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2442, + StartPos: 2441, EndPos: 2443, }, LabelName: &node.Identifier{ Position: &position.Position{ StartLine: 104, EndLine: 104, - StartPos: 2442, + StartPos: 2441, EndPos: 2442, }, Value: "a", @@ -5466,14 +5467,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 105, EndLine: 105, - StartPos: 2448, + StartPos: 2447, EndPos: 2454, }, Label: &node.Identifier{ Position: &position.Position{ StartLine: 105, EndLine: 105, - StartPos: 2453, + StartPos: 2452, EndPos: 2453, }, Value: "a", @@ -5483,21 +5484,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2458, + StartPos: 2457, EndPos: 2467, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2462, + StartPos: 2461, EndPos: 2463, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2462, + StartPos: 2461, EndPos: 2463, }, Value: "a", @@ -5507,7 +5508,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 106, EndLine: 106, - StartPos: 2466, + StartPos: 2465, EndPos: 2467, }, Stmts: []node.Node{}, @@ -5517,21 +5518,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2471, + StartPos: 2470, EndPos: 2495, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2475, + StartPos: 2474, EndPos: 2476, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2475, + StartPos: 2474, EndPos: 2476, }, Value: "a", @@ -5541,7 +5542,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2479, + StartPos: 2478, EndPos: 2480, }, Stmts: []node.Node{}, @@ -5551,21 +5552,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2482, + StartPos: 2481, EndPos: 2495, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2490, + StartPos: 2489, EndPos: 2491, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2490, + StartPos: 2489, EndPos: 2491, }, Value: "b", @@ -5575,7 +5576,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 107, EndLine: 107, - StartPos: 2494, + StartPos: 2493, EndPos: 2495, }, Stmts: []node.Node{}, @@ -5587,21 +5588,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2499, + StartPos: 2498, EndPos: 2516, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2503, + StartPos: 2502, EndPos: 2504, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2503, + StartPos: 2502, EndPos: 2504, }, Value: "a", @@ -5611,7 +5612,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2507, + StartPos: 2506, EndPos: 2508, }, Stmts: []node.Node{}, @@ -5620,14 +5621,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2510, + StartPos: 2509, EndPos: 2516, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 108, EndLine: 108, - StartPos: 2515, + StartPos: 2514, EndPos: 2516, }, Stmts: []node.Node{}, @@ -5638,21 +5639,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2520, + StartPos: 2519, EndPos: 2567, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2524, + StartPos: 2523, EndPos: 2525, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2524, + StartPos: 2523, EndPos: 2525, }, Value: "a", @@ -5662,7 +5663,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2528, + StartPos: 2527, EndPos: 2529, }, Stmts: []node.Node{}, @@ -5672,21 +5673,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2531, + StartPos: 2530, EndPos: 2544, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2539, + StartPos: 2538, EndPos: 2540, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2539, + StartPos: 2538, EndPos: 2540, }, Value: "b", @@ -5696,7 +5697,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2543, + StartPos: 2542, EndPos: 2544, }, Stmts: []node.Node{}, @@ -5706,21 +5707,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2546, + StartPos: 2545, EndPos: 2559, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2554, + StartPos: 2553, EndPos: 2555, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2554, + StartPos: 2553, EndPos: 2555, }, Value: "c", @@ -5730,7 +5731,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2558, + StartPos: 2557, EndPos: 2559, }, Stmts: []node.Node{}, @@ -5741,14 +5742,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2561, + StartPos: 2560, EndPos: 2567, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 109, EndLine: 109, - StartPos: 2566, + StartPos: 2565, EndPos: 2567, }, Stmts: []node.Node{}, @@ -5759,21 +5760,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2571, + StartPos: 2570, EndPos: 2619, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2575, + StartPos: 2574, EndPos: 2576, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2575, + StartPos: 2574, EndPos: 2576, }, Value: "a", @@ -5783,7 +5784,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2579, + StartPos: 2578, EndPos: 2580, }, Stmts: []node.Node{}, @@ -5793,21 +5794,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2582, + StartPos: 2581, EndPos: 2595, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2590, + StartPos: 2589, EndPos: 2591, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2590, + StartPos: 2589, EndPos: 2591, }, Value: "b", @@ -5817,7 +5818,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2594, + StartPos: 2593, EndPos: 2595, }, Stmts: []node.Node{}, @@ -5828,28 +5829,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2597, + StartPos: 2596, EndPos: 2619, }, Stmt: &stmt.If{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2602, + StartPos: 2601, EndPos: 2619, }, Cond: &expr.Variable{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2606, + StartPos: 2605, EndPos: 2607, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2606, + StartPos: 2605, EndPos: 2607, }, Value: "c", @@ -5859,7 +5860,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2610, + StartPos: 2609, EndPos: 2611, }, Stmts: []node.Node{}, @@ -5868,14 +5869,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2613, + StartPos: 2612, EndPos: 2619, }, Stmt: &stmt.StmtList{ Position: &position.Position{ StartLine: 110, EndLine: 110, - StartPos: 2618, + StartPos: 2617, EndPos: 2619, }, Stmts: []node.Node{}, @@ -5888,7 +5889,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 111, EndLine: 111, - StartPos: 2623, + StartPos: 2622, EndPos: 2624, }, }, @@ -5896,16 +5897,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 111, EndLine: 111, - StartPos: 2626, + StartPos: 2624, EndPos: 2637, }, - Value: "
", + Value: "
", }, &stmt.Interface{ Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2643, + StartPos: 2642, EndPos: 2658, }, PhpDocComment: "", @@ -5913,7 +5914,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 112, EndLine: 112, - StartPos: 2653, + StartPos: 2652, EndPos: 2655, }, Value: "Foo", @@ -5924,7 +5925,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2662, + StartPos: 2661, EndPos: 2689, }, PhpDocComment: "", @@ -5932,7 +5933,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2672, + StartPos: 2671, EndPos: 2674, }, Value: "Foo", @@ -5941,7 +5942,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2676, + StartPos: 2675, EndPos: 2686, }, InterfaceNames: []node.Node{ @@ -5949,7 +5950,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2684, + StartPos: 2683, EndPos: 2686, }, Parts: []node.Node{ @@ -5957,7 +5958,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 113, EndLine: 113, - StartPos: 2684, + StartPos: 2683, EndPos: 2686, }, Value: "Bar", @@ -5972,7 +5973,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2693, + StartPos: 2692, EndPos: 2725, }, PhpDocComment: "", @@ -5980,7 +5981,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2703, + StartPos: 2702, EndPos: 2705, }, Value: "Foo", @@ -5989,7 +5990,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2707, + StartPos: 2706, EndPos: 2722, }, InterfaceNames: []node.Node{ @@ -5997,7 +5998,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2715, + StartPos: 2714, EndPos: 2717, }, Parts: []node.Node{ @@ -6005,7 +6006,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2715, + StartPos: 2714, EndPos: 2717, }, Value: "Bar", @@ -6016,7 +6017,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2720, + StartPos: 2719, EndPos: 2722, }, Parts: []node.Node{ @@ -6024,7 +6025,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 114, EndLine: 114, - StartPos: 2720, + StartPos: 2719, EndPos: 2722, }, Value: "Baz", @@ -6039,14 +6040,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2729, + StartPos: 2728, EndPos: 2742, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2739, + StartPos: 2738, EndPos: 2741, }, Parts: []node.Node{ @@ -6054,7 +6055,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 115, EndLine: 115, - StartPos: 2739, + StartPos: 2738, EndPos: 2741, }, Value: "Foo", @@ -6066,14 +6067,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2746, + StartPos: 2745, EndPos: 2761, }, NamespaceName: &name.Name{ Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2756, + StartPos: 2755, EndPos: 2758, }, Parts: []node.Node{ @@ -6081,7 +6082,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 116, EndLine: 116, - StartPos: 2756, + StartPos: 2755, EndPos: 2758, }, Value: "Foo", @@ -6094,7 +6095,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 117, EndLine: 117, - StartPos: 2765, + StartPos: 2764, EndPos: 2776, }, Stmts: []node.Node{}, @@ -6103,7 +6104,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2780, + StartPos: 2779, EndPos: 2798, }, PhpDocComment: "", @@ -6111,7 +6112,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2786, + StartPos: 2785, EndPos: 2788, }, Value: "foo", @@ -6121,7 +6122,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2791, + StartPos: 2790, EndPos: 2797, }, Modifiers: []node.Node{ @@ -6129,7 +6130,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2791, + StartPos: 2790, EndPos: 2793, }, Value: "var", @@ -6140,7 +6141,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2795, + StartPos: 2794, EndPos: 2796, }, PhpDocComment: "", @@ -6148,14 +6149,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2795, + StartPos: 2794, EndPos: 2796, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 118, EndLine: 118, - StartPos: 2795, + StartPos: 2794, EndPos: 2796, }, Value: "a", @@ -6170,7 +6171,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2802, + StartPos: 2801, EndPos: 2838, }, PhpDocComment: "", @@ -6178,7 +6179,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2808, + StartPos: 2807, EndPos: 2810, }, Value: "foo", @@ -6188,7 +6189,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2813, + StartPos: 2812, EndPos: 2837, }, Modifiers: []node.Node{ @@ -6196,7 +6197,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2813, + StartPos: 2812, EndPos: 2818, }, Value: "public", @@ -6205,7 +6206,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2820, + StartPos: 2819, EndPos: 2825, }, Value: "static", @@ -6216,7 +6217,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2827, + StartPos: 2826, EndPos: 2828, }, PhpDocComment: "", @@ -6224,14 +6225,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2827, + StartPos: 2826, EndPos: 2828, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2827, + StartPos: 2826, EndPos: 2828, }, Value: "a", @@ -6242,7 +6243,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2831, + StartPos: 2830, EndPos: 2836, }, PhpDocComment: "", @@ -6250,14 +6251,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2831, + StartPos: 2830, EndPos: 2832, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2831, + StartPos: 2830, EndPos: 2832, }, Value: "b", @@ -6267,7 +6268,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 119, EndLine: 119, - StartPos: 2836, + StartPos: 2835, EndPos: 2836, }, Value: "1", @@ -6281,7 +6282,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2842, + StartPos: 2841, EndPos: 2859, }, Vars: []node.Node{ @@ -6289,21 +6290,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2849, + StartPos: 2848, EndPos: 2850, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2849, + StartPos: 2848, EndPos: 2850, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2849, + StartPos: 2848, EndPos: 2850, }, Value: "a", @@ -6314,21 +6315,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2853, + StartPos: 2852, EndPos: 2858, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2853, + StartPos: 2852, EndPos: 2854, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2853, + StartPos: 2852, EndPos: 2854, }, Value: "b", @@ -6338,7 +6339,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 120, EndLine: 120, - StartPos: 2858, + StartPos: 2857, EndPos: 2858, }, Value: "1", @@ -6350,14 +6351,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 122, EndLine: 126, - StartPos: 2864, + StartPos: 2863, EndPos: 2922, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 122, EndLine: 122, - StartPos: 2872, + StartPos: 2871, EndPos: 2872, }, Value: "1", @@ -6366,7 +6367,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 123, EndLine: -1, - StartPos: 2880, + StartPos: 2879, EndPos: -1, }, Cases: []node.Node{ @@ -6374,14 +6375,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 123, EndLine: -1, - StartPos: 2880, + StartPos: 2879, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 123, EndLine: 123, - StartPos: 2885, + StartPos: 2884, EndPos: 2885, }, Value: "1", @@ -6392,7 +6393,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 124, EndLine: -1, - StartPos: 2891, + StartPos: 2890, EndPos: -1, }, Stmts: []node.Node{}, @@ -6401,14 +6402,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 125, EndLine: -1, - StartPos: 2903, + StartPos: 2902, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 125, EndLine: 125, - StartPos: 2908, + StartPos: 2907, EndPos: 2908, }, Value: "2", @@ -6422,14 +6423,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 128, EndLine: 131, - StartPos: 2927, + StartPos: 2926, EndPos: 2974, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 128, EndLine: 128, - StartPos: 2935, + StartPos: 2934, EndPos: 2935, }, Value: "1", @@ -6438,7 +6439,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 129, EndLine: -1, - StartPos: 2944, + StartPos: 2943, EndPos: -1, }, Cases: []node.Node{ @@ -6446,14 +6447,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 129, EndLine: -1, - StartPos: 2944, + StartPos: 2943, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 129, EndLine: 129, - StartPos: 2949, + StartPos: 2948, EndPos: 2949, }, Value: "1", @@ -6464,14 +6465,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 130, EndLine: -1, - StartPos: 2955, + StartPos: 2954, EndPos: -1, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 130, EndLine: 130, - StartPos: 2960, + StartPos: 2959, EndPos: 2960, }, Value: "2", @@ -6485,14 +6486,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 133, EndLine: 136, - StartPos: 2981, + StartPos: 2980, EndPos: 3032, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 133, EndLine: 133, - StartPos: 2989, + StartPos: 2988, EndPos: 2989, }, Value: "1", @@ -6501,7 +6502,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 133, EndLine: 136, - StartPos: 2992, + StartPos: 2991, EndPos: 3032, }, Cases: []node.Node{ @@ -6509,14 +6510,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 134, EndLine: 134, - StartPos: 2997, + StartPos: 2996, EndPos: 3010, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 134, EndLine: 134, - StartPos: 3002, + StartPos: 3001, EndPos: 3002, }, Value: "1", @@ -6526,7 +6527,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 134, EndLine: 134, - StartPos: 3005, + StartPos: 3004, EndPos: 3010, }, }, @@ -6536,14 +6537,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 3015, + StartPos: 3014, EndPos: 3028, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 3020, + StartPos: 3019, EndPos: 3020, }, Value: "2", @@ -6553,7 +6554,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 135, EndLine: 135, - StartPos: 3023, + StartPos: 3022, EndPos: 3028, }, }, @@ -6566,14 +6567,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 138, EndLine: 141, - StartPos: 3039, + StartPos: 3038, EndPos: 3091, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 138, EndLine: 138, - StartPos: 3047, + StartPos: 3046, EndPos: 3047, }, Value: "1", @@ -6582,7 +6583,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 138, EndLine: 141, - StartPos: 3050, + StartPos: 3049, EndPos: 3091, }, Cases: []node.Node{ @@ -6590,14 +6591,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 139, EndLine: 139, - StartPos: 3056, + StartPos: 3055, EndPos: 3069, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 139, EndLine: 139, - StartPos: 3061, + StartPos: 3060, EndPos: 3061, }, Value: "1", @@ -6607,7 +6608,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 139, EndLine: 139, - StartPos: 3064, + StartPos: 3063, EndPos: 3069, }, }, @@ -6617,14 +6618,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3074, + StartPos: 3073, EndPos: 3087, }, Cond: &scalar.Lnumber{ Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3079, + StartPos: 3078, EndPos: 3079, }, Value: "2", @@ -6634,7 +6635,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 140, EndLine: 140, - StartPos: 3082, + StartPos: 3081, EndPos: 3087, }, }, @@ -6647,21 +6648,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3096, + StartPos: 3095, EndPos: 3104, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3102, + StartPos: 3101, EndPos: 3103, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 143, EndLine: 143, - StartPos: 3102, + StartPos: 3101, EndPos: 3103, }, Value: "e", @@ -6672,7 +6673,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 145, EndLine: 145, - StartPos: 3109, + StartPos: 3108, EndPos: 3120, }, PhpDocComment: "", @@ -6680,7 +6681,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 145, EndLine: 145, - StartPos: 3115, + StartPos: 3114, EndPos: 3117, }, Value: "Foo", @@ -6691,7 +6692,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3124, + StartPos: 3123, EndPos: 3145, }, PhpDocComment: "", @@ -6699,7 +6700,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3130, + StartPos: 3129, EndPos: 3132, }, Value: "Foo", @@ -6709,7 +6710,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3136, + StartPos: 3135, EndPos: 3143, }, Traits: []node.Node{ @@ -6717,7 +6718,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3140, + StartPos: 3139, EndPos: 3142, }, Parts: []node.Node{ @@ -6725,7 +6726,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3140, + StartPos: 3139, EndPos: 3142, }, Value: "Bar", @@ -6737,7 +6738,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 146, EndLine: 146, - StartPos: 3143, + StartPos: 3142, EndPos: 3143, }, }, @@ -6748,7 +6749,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3149, + StartPos: 3148, EndPos: 3177, }, PhpDocComment: "", @@ -6756,7 +6757,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3155, + StartPos: 3154, EndPos: 3157, }, Value: "Foo", @@ -6766,7 +6767,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3161, + StartPos: 3160, EndPos: 3175, }, Traits: []node.Node{ @@ -6774,7 +6775,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3165, + StartPos: 3164, EndPos: 3167, }, Parts: []node.Node{ @@ -6782,7 +6783,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3165, + StartPos: 3164, EndPos: 3167, }, Value: "Bar", @@ -6793,7 +6794,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3170, + StartPos: 3169, EndPos: 3172, }, Parts: []node.Node{ @@ -6801,7 +6802,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3170, + StartPos: 3169, EndPos: 3172, }, Value: "Baz", @@ -6813,7 +6814,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 147, EndLine: 147, - StartPos: 3174, + StartPos: 3173, EndPos: 3175, }, }, @@ -6824,7 +6825,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3181, + StartPos: 3180, EndPos: 3226, }, PhpDocComment: "", @@ -6832,7 +6833,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3187, + StartPos: 3186, EndPos: 3189, }, Value: "Foo", @@ -6842,7 +6843,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3193, + StartPos: 3192, EndPos: 3224, }, Traits: []node.Node{ @@ -6850,7 +6851,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3197, + StartPos: 3196, EndPos: 3199, }, Parts: []node.Node{ @@ -6858,7 +6859,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3197, + StartPos: 3196, EndPos: 3199, }, Value: "Bar", @@ -6869,7 +6870,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3202, + StartPos: 3201, EndPos: 3204, }, Parts: []node.Node{ @@ -6877,7 +6878,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3202, + StartPos: 3201, EndPos: 3204, }, Value: "Baz", @@ -6889,7 +6890,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3206, + StartPos: 3205, EndPos: 3224, }, Adaptations: []node.Node{ @@ -6897,21 +6898,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3208, + StartPos: 3207, EndPos: 3221, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3208, + StartPos: 3207, EndPos: 3210, }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3208, + StartPos: 3207, EndPos: 3210, }, Value: "one", @@ -6921,7 +6922,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 148, EndLine: 148, - StartPos: 3215, + StartPos: 3214, EndPos: 3221, }, Value: "include", @@ -6936,7 +6937,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3230, + StartPos: 3229, EndPos: 3274, }, PhpDocComment: "", @@ -6944,7 +6945,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3236, + StartPos: 3235, EndPos: 3238, }, Value: "Foo", @@ -6954,7 +6955,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3242, + StartPos: 3241, EndPos: 3272, }, Traits: []node.Node{ @@ -6962,7 +6963,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3246, + StartPos: 3245, EndPos: 3248, }, Parts: []node.Node{ @@ -6970,7 +6971,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3246, + StartPos: 3245, EndPos: 3248, }, Value: "Bar", @@ -6981,7 +6982,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3251, + StartPos: 3250, EndPos: 3253, }, Parts: []node.Node{ @@ -6989,7 +6990,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3251, + StartPos: 3250, EndPos: 3253, }, Value: "Baz", @@ -7001,7 +7002,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3255, + StartPos: 3254, EndPos: 3272, }, Adaptations: []node.Node{ @@ -7009,21 +7010,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3257, + StartPos: 3256, EndPos: 3269, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3257, + StartPos: 3256, EndPos: 3259, }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3257, + StartPos: 3256, EndPos: 3259, }, Value: "one", @@ -7033,7 +7034,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 149, EndLine: 149, - StartPos: 3264, + StartPos: 3263, EndPos: 3269, }, Value: "public", @@ -7048,7 +7049,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3278, + StartPos: 3277, EndPos: 3326, }, PhpDocComment: "", @@ -7056,7 +7057,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3284, + StartPos: 3283, EndPos: 3286, }, Value: "Foo", @@ -7066,7 +7067,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3290, + StartPos: 3289, EndPos: 3324, }, Traits: []node.Node{ @@ -7074,7 +7075,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3294, + StartPos: 3293, EndPos: 3296, }, Parts: []node.Node{ @@ -7082,7 +7083,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3294, + StartPos: 3293, EndPos: 3296, }, Value: "Bar", @@ -7093,7 +7094,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3299, + StartPos: 3298, EndPos: 3301, }, Parts: []node.Node{ @@ -7101,7 +7102,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3299, + StartPos: 3298, EndPos: 3301, }, Value: "Baz", @@ -7113,7 +7114,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3303, + StartPos: 3302, EndPos: 3324, }, Adaptations: []node.Node{ @@ -7121,21 +7122,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3305, + StartPos: 3304, EndPos: 3321, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3305, + StartPos: 3304, EndPos: 3307, }, Method: &node.Identifier{ Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3305, + StartPos: 3304, EndPos: 3307, }, Value: "one", @@ -7145,7 +7146,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3312, + StartPos: 3311, EndPos: 3317, }, Value: "public", @@ -7154,7 +7155,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 150, EndLine: 150, - StartPos: 3319, + StartPos: 3318, EndPos: 3321, }, Value: "two", @@ -7169,7 +7170,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3330, + StartPos: 3329, EndPos: 3406, }, PhpDocComment: "", @@ -7177,7 +7178,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3336, + StartPos: 3335, EndPos: 3338, }, Value: "Foo", @@ -7187,7 +7188,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3342, + StartPos: 3341, EndPos: 3404, }, Traits: []node.Node{ @@ -7195,7 +7196,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3346, + StartPos: 3345, EndPos: 3348, }, Parts: []node.Node{ @@ -7203,7 +7204,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3346, + StartPos: 3345, EndPos: 3348, }, Value: "Bar", @@ -7214,7 +7215,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3351, + StartPos: 3350, EndPos: 3353, }, Parts: []node.Node{ @@ -7222,7 +7223,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3351, + StartPos: 3350, EndPos: 3353, }, Value: "Baz", @@ -7234,7 +7235,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3355, + StartPos: 3354, EndPos: 3404, }, Adaptations: []node.Node{ @@ -7242,21 +7243,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3357, + StartPos: 3356, EndPos: 3384, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3357, + StartPos: 3356, EndPos: 3364, }, Trait: &name.Name{ Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3357, + StartPos: 3356, EndPos: 3359, }, Parts: []node.Node{ @@ -7264,7 +7265,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3357, + StartPos: 3356, EndPos: 3359, }, Value: "Bar", @@ -7275,7 +7276,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3362, + StartPos: 3361, EndPos: 3364, }, Value: "one", @@ -7286,7 +7287,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3376, + StartPos: 3375, EndPos: 3378, }, Parts: []node.Node{ @@ -7294,7 +7295,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3376, + StartPos: 3375, EndPos: 3378, }, Value: "Baz", @@ -7305,7 +7306,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3381, + StartPos: 3380, EndPos: 3384, }, Parts: []node.Node{ @@ -7313,7 +7314,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3381, + StartPos: 3380, EndPos: 3384, }, Value: "Quux", @@ -7326,21 +7327,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3387, + StartPos: 3386, EndPos: 3401, }, Ref: &stmt.TraitMethodRef{ Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3387, + StartPos: 3386, EndPos: 3394, }, Trait: &name.Name{ Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3387, + StartPos: 3386, EndPos: 3389, }, Parts: []node.Node{ @@ -7348,7 +7349,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3387, + StartPos: 3386, EndPos: 3389, }, Value: "Baz", @@ -7359,7 +7360,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3392, + StartPos: 3391, EndPos: 3394, }, Value: "one", @@ -7369,7 +7370,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 151, EndLine: 151, - StartPos: 3399, + StartPos: 3398, EndPos: 3401, }, Value: "two", @@ -7384,7 +7385,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 153, EndLine: -1, - StartPos: 3411, + StartPos: 3410, EndPos: -1, }, Stmts: []node.Node{}, @@ -7394,7 +7395,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3420, + StartPos: 3419, EndPos: 3449, }, Stmts: []node.Node{}, @@ -7403,7 +7404,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3427, + StartPos: 3426, EndPos: 3449, }, Types: []node.Node{ @@ -7411,7 +7412,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3434, + StartPos: 3433, EndPos: 3442, }, Parts: []node.Node{ @@ -7419,7 +7420,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3434, + StartPos: 3433, EndPos: 3442, }, Value: "Exception", @@ -7431,14 +7432,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3444, + StartPos: 3443, EndPos: 3445, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 154, EndLine: 154, - StartPos: 3444, + StartPos: 3443, EndPos: 3445, }, Value: "e", @@ -7452,7 +7453,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3453, + StartPos: 3452, EndPos: 3499, }, Stmts: []node.Node{}, @@ -7461,7 +7462,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3460, + StartPos: 3459, EndPos: 3499, }, Types: []node.Node{ @@ -7469,7 +7470,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3467, + StartPos: 3466, EndPos: 3475, }, Parts: []node.Node{ @@ -7477,7 +7478,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3467, + StartPos: 3466, EndPos: 3475, }, Value: "Exception", @@ -7488,7 +7489,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3477, + StartPos: 3476, EndPos: 3492, }, Parts: []node.Node{ @@ -7496,7 +7497,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3477, + StartPos: 3476, EndPos: 3492, }, Value: "RuntimeException", @@ -7508,14 +7509,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3494, + StartPos: 3493, EndPos: 3495, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 155, EndLine: 155, - StartPos: 3494, + StartPos: 3493, EndPos: 3495, }, Value: "e", @@ -7529,7 +7530,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3503, + StartPos: 3502, EndPos: 3563, }, Stmts: []node.Node{}, @@ -7538,7 +7539,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3510, + StartPos: 3509, EndPos: 3532, }, Types: []node.Node{ @@ -7546,7 +7547,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3517, + StartPos: 3516, EndPos: 3525, }, Parts: []node.Node{ @@ -7554,7 +7555,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3517, + StartPos: 3516, EndPos: 3525, }, Value: "Exception", @@ -7566,14 +7567,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3527, + StartPos: 3526, EndPos: 3528, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3527, + StartPos: 3526, EndPos: 3528, }, Value: "e", @@ -7585,7 +7586,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3534, + StartPos: 3533, EndPos: 3563, }, Types: []node.Node{ @@ -7593,7 +7594,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3541, + StartPos: 3540, EndPos: 3556, }, Parts: []node.Node{ @@ -7601,7 +7602,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3541, + StartPos: 3540, EndPos: 3556, }, Value: "RuntimeException", @@ -7613,14 +7614,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3558, + StartPos: 3557, EndPos: 3559, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 156, EndLine: 156, - StartPos: 3558, + StartPos: 3557, EndPos: 3559, }, Value: "e", @@ -7634,7 +7635,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3567, + StartPos: 3566, EndPos: 3607, }, Stmts: []node.Node{}, @@ -7643,7 +7644,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3574, + StartPos: 3573, EndPos: 3596, }, Types: []node.Node{ @@ -7651,7 +7652,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3581, + StartPos: 3580, EndPos: 3589, }, Parts: []node.Node{ @@ -7659,7 +7660,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3581, + StartPos: 3580, EndPos: 3589, }, Value: "Exception", @@ -7671,14 +7672,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3591, + StartPos: 3590, EndPos: 3592, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3591, + StartPos: 3590, EndPos: 3592, }, Value: "e", @@ -7691,7 +7692,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 157, EndLine: 157, - StartPos: 3598, + StartPos: 3597, EndPos: 3607, }, Stmts: []node.Node{}, @@ -7701,7 +7702,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3612, + StartPos: 3611, EndPos: 3626, }, Vars: []node.Node{ @@ -7709,14 +7710,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3618, + StartPos: 3617, EndPos: 3619, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3618, + StartPos: 3617, EndPos: 3619, }, Value: "a", @@ -7726,14 +7727,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3622, + StartPos: 3621, EndPos: 3623, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 159, EndLine: 159, - StartPos: 3622, + StartPos: 3621, EndPos: 3623, }, Value: "b", @@ -7745,7 +7746,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3631, + StartPos: 3630, EndPos: 3638, }, Uses: []node.Node{ @@ -7753,14 +7754,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3635, + StartPos: 3634, EndPos: 3637, }, Use: &name.Name{ Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3635, + StartPos: 3634, EndPos: 3637, }, Parts: []node.Node{ @@ -7768,7 +7769,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 161, EndLine: 161, - StartPos: 3635, + StartPos: 3634, EndPos: 3637, }, Value: "Foo", @@ -7782,7 +7783,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3642, + StartPos: 3641, EndPos: 3650, }, Uses: []node.Node{ @@ -7790,14 +7791,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3647, + StartPos: 3646, EndPos: 3649, }, Use: &name.Name{ Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3647, + StartPos: 3646, EndPos: 3649, }, Parts: []node.Node{ @@ -7805,7 +7806,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 162, EndLine: 162, - StartPos: 3647, + StartPos: 3646, EndPos: 3649, }, Value: "Foo", @@ -7819,7 +7820,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 163, EndLine: 163, - StartPos: 3654, + StartPos: 3653, EndPos: 3669, }, Uses: []node.Node{ @@ -7827,14 +7828,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 163, EndLine: 163, - StartPos: 3659, + StartPos: 3658, EndPos: 3668, }, Use: &name.Name{ Position: &position.Position{ StartLine: 163, EndLine: 163, - StartPos: 3659, + StartPos: 3658, EndPos: 3661, }, Parts: []node.Node{ @@ -7842,7 +7843,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 163, EndLine: 163, - StartPos: 3659, + StartPos: 3658, EndPos: 3661, }, Value: "Foo", @@ -7853,7 +7854,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 163, EndLine: 163, - StartPos: 3666, + StartPos: 3665, EndPos: 3668, }, Value: "Bar", @@ -7865,7 +7866,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3673, + StartPos: 3672, EndPos: 3685, }, Uses: []node.Node{ @@ -7873,14 +7874,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3677, + StartPos: 3676, EndPos: 3679, }, Use: &name.Name{ Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3677, + StartPos: 3676, EndPos: 3679, }, Parts: []node.Node{ @@ -7888,7 +7889,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3677, + StartPos: 3676, EndPos: 3679, }, Value: "Foo", @@ -7900,14 +7901,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3682, + StartPos: 3681, EndPos: 3684, }, Use: &name.Name{ Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3682, + StartPos: 3681, EndPos: 3684, }, Parts: []node.Node{ @@ -7915,7 +7916,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 164, EndLine: 164, - StartPos: 3682, + StartPos: 3681, EndPos: 3684, }, Value: "Bar", @@ -7929,7 +7930,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3689, + StartPos: 3688, EndPos: 3708, }, Uses: []node.Node{ @@ -7937,14 +7938,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3693, + StartPos: 3692, EndPos: 3695, }, Use: &name.Name{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3693, + StartPos: 3692, EndPos: 3695, }, Parts: []node.Node{ @@ -7952,7 +7953,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3693, + StartPos: 3692, EndPos: 3695, }, Value: "Foo", @@ -7964,14 +7965,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3698, + StartPos: 3697, EndPos: 3707, }, Use: &name.Name{ Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3698, + StartPos: 3697, EndPos: 3700, }, Parts: []node.Node{ @@ -7979,7 +7980,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3698, + StartPos: 3697, EndPos: 3700, }, Value: "Bar", @@ -7990,7 +7991,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 165, EndLine: 165, - StartPos: 3705, + StartPos: 3704, EndPos: 3707, }, Value: "Baz", @@ -8002,14 +8003,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3712, + StartPos: 3711, EndPos: 3734, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3716, + StartPos: 3715, EndPos: 3723, }, Value: "function", @@ -8019,14 +8020,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3725, + StartPos: 3724, EndPos: 3727, }, Use: &name.Name{ Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3725, + StartPos: 3724, EndPos: 3727, }, Parts: []node.Node{ @@ -8034,7 +8035,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3725, + StartPos: 3724, EndPos: 3727, }, Value: "Foo", @@ -8046,14 +8047,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3731, + StartPos: 3730, EndPos: 3733, }, Use: &name.Name{ Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3731, + StartPos: 3730, EndPos: 3733, }, Parts: []node.Node{ @@ -8061,7 +8062,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 166, EndLine: 166, - StartPos: 3731, + StartPos: 3730, EndPos: 3733, }, Value: "Bar", @@ -8075,14 +8076,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3738, + StartPos: 3737, EndPos: 3774, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3742, + StartPos: 3741, EndPos: 3749, }, Value: "function", @@ -8092,14 +8093,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3751, + StartPos: 3750, EndPos: 3760, }, Use: &name.Name{ Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3751, + StartPos: 3750, EndPos: 3753, }, Parts: []node.Node{ @@ -8107,7 +8108,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3751, + StartPos: 3750, EndPos: 3753, }, Value: "Foo", @@ -8118,7 +8119,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3758, + StartPos: 3757, EndPos: 3760, }, Value: "foo", @@ -8128,14 +8129,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3764, + StartPos: 3763, EndPos: 3773, }, Use: &name.Name{ Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3764, + StartPos: 3763, EndPos: 3766, }, Parts: []node.Node{ @@ -8143,7 +8144,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3764, + StartPos: 3763, EndPos: 3766, }, Value: "Bar", @@ -8154,7 +8155,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 167, EndLine: 167, - StartPos: 3771, + StartPos: 3770, EndPos: 3773, }, Value: "bar", @@ -8166,14 +8167,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3778, + StartPos: 3777, EndPos: 3797, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3782, + StartPos: 3781, EndPos: 3786, }, Value: "const", @@ -8183,14 +8184,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3788, + StartPos: 3787, EndPos: 3790, }, Use: &name.Name{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3788, + StartPos: 3787, EndPos: 3790, }, Parts: []node.Node{ @@ -8198,7 +8199,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3788, + StartPos: 3787, EndPos: 3790, }, Value: "Foo", @@ -8210,14 +8211,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3794, + StartPos: 3793, EndPos: 3796, }, Use: &name.Name{ Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3794, + StartPos: 3793, EndPos: 3796, }, Parts: []node.Node{ @@ -8225,7 +8226,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 168, EndLine: 168, - StartPos: 3794, + StartPos: 3793, EndPos: 3796, }, Value: "Bar", @@ -8239,14 +8240,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3801, + StartPos: 3800, EndPos: 3834, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3805, + StartPos: 3804, EndPos: 3809, }, Value: "const", @@ -8256,14 +8257,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3811, + StartPos: 3810, EndPos: 3820, }, Use: &name.Name{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3811, + StartPos: 3810, EndPos: 3813, }, Parts: []node.Node{ @@ -8271,7 +8272,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3811, + StartPos: 3810, EndPos: 3813, }, Value: "Foo", @@ -8282,7 +8283,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3818, + StartPos: 3817, EndPos: 3820, }, Value: "foo", @@ -8292,14 +8293,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3824, + StartPos: 3823, EndPos: 3833, }, Use: &name.Name{ Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3824, + StartPos: 3823, EndPos: 3826, }, Parts: []node.Node{ @@ -8307,7 +8308,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3824, + StartPos: 3823, EndPos: 3826, }, Value: "Bar", @@ -8318,7 +8319,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 169, EndLine: 169, - StartPos: 3831, + StartPos: 3830, EndPos: 3833, }, Value: "bar", @@ -8330,14 +8331,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3839, + StartPos: 3838, EndPos: 3858, }, Prefix: &name.Name{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3844, + StartPos: 3843, EndPos: 3846, }, Parts: []node.Node{ @@ -8345,7 +8346,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3844, + StartPos: 3843, EndPos: 3846, }, Value: "Foo", @@ -8357,14 +8358,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3849, + StartPos: 3848, EndPos: 3851, }, Use: &name.Name{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3849, + StartPos: 3848, EndPos: 3851, }, Parts: []node.Node{ @@ -8372,7 +8373,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3849, + StartPos: 3848, EndPos: 3851, }, Value: "Bar", @@ -8384,14 +8385,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3854, + StartPos: 3853, EndPos: 3856, }, Use: &name.Name{ Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3854, + StartPos: 3853, EndPos: 3856, }, Parts: []node.Node{ @@ -8399,7 +8400,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 171, EndLine: 171, - StartPos: 3854, + StartPos: 3853, EndPos: 3856, }, Value: "Baz", @@ -8413,14 +8414,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3862, + StartPos: 3861, EndPos: 3888, }, Prefix: &name.Name{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3866, + StartPos: 3865, EndPos: 3868, }, Parts: []node.Node{ @@ -8428,7 +8429,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3866, + StartPos: 3865, EndPos: 3868, }, Value: "Foo", @@ -8440,14 +8441,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3871, + StartPos: 3870, EndPos: 3873, }, Use: &name.Name{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3871, + StartPos: 3870, EndPos: 3873, }, Parts: []node.Node{ @@ -8455,7 +8456,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3871, + StartPos: 3870, EndPos: 3873, }, Value: "Bar", @@ -8467,14 +8468,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3876, + StartPos: 3875, EndPos: 3886, }, Use: &name.Name{ Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3876, + StartPos: 3875, EndPos: 3878, }, Parts: []node.Node{ @@ -8482,7 +8483,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3876, + StartPos: 3875, EndPos: 3878, }, Value: "Baz", @@ -8493,7 +8494,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 172, EndLine: 172, - StartPos: 3883, + StartPos: 3882, EndPos: 3886, }, Value: "quux", @@ -8505,14 +8506,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3892, + StartPos: 3891, EndPos: 3919, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3896, + StartPos: 3895, EndPos: 3903, }, Value: "function", @@ -8521,7 +8522,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3905, + StartPos: 3904, EndPos: 3907, }, Parts: []node.Node{ @@ -8529,7 +8530,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3905, + StartPos: 3904, EndPos: 3907, }, Value: "Foo", @@ -8541,14 +8542,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3910, + StartPos: 3909, EndPos: 3912, }, Use: &name.Name{ Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3910, + StartPos: 3909, EndPos: 3912, }, Parts: []node.Node{ @@ -8556,7 +8557,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3910, + StartPos: 3909, EndPos: 3912, }, Value: "Bar", @@ -8568,14 +8569,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3915, + StartPos: 3914, EndPos: 3917, }, Use: &name.Name{ Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3915, + StartPos: 3914, EndPos: 3917, }, Parts: []node.Node{ @@ -8583,7 +8584,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 173, EndLine: 173, - StartPos: 3915, + StartPos: 3914, EndPos: 3917, }, Value: "Baz", @@ -8597,14 +8598,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3923, + StartPos: 3922, EndPos: 3948, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3927, + StartPos: 3926, EndPos: 3931, }, Value: "const", @@ -8613,7 +8614,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3934, + StartPos: 3933, EndPos: 3936, }, Parts: []node.Node{ @@ -8621,7 +8622,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3934, + StartPos: 3933, EndPos: 3936, }, Value: "Foo", @@ -8633,14 +8634,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3939, + StartPos: 3938, EndPos: 3941, }, Use: &name.Name{ Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3939, + StartPos: 3938, EndPos: 3941, }, Parts: []node.Node{ @@ -8648,7 +8649,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3939, + StartPos: 3938, EndPos: 3941, }, Value: "Bar", @@ -8660,14 +8661,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3944, + StartPos: 3943, EndPos: 3946, }, Use: &name.Name{ Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3944, + StartPos: 3943, EndPos: 3946, }, Parts: []node.Node{ @@ -8675,7 +8676,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 174, EndLine: 174, - StartPos: 3944, + StartPos: 3943, EndPos: 3946, }, Value: "Baz", @@ -8689,14 +8690,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3952, + StartPos: 3951, EndPos: 3985, }, Prefix: &name.Name{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3956, + StartPos: 3955, EndPos: 3958, }, Parts: []node.Node{ @@ -8704,7 +8705,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3956, + StartPos: 3955, EndPos: 3958, }, Value: "Foo", @@ -8716,14 +8717,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3967, + StartPos: 3966, EndPos: 3969, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3961, + StartPos: 3960, EndPos: 3965, }, Value: "const", @@ -8732,7 +8733,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3967, + StartPos: 3966, EndPos: 3969, }, Parts: []node.Node{ @@ -8740,7 +8741,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3967, + StartPos: 3966, EndPos: 3969, }, Value: "Bar", @@ -8752,14 +8753,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3981, + StartPos: 3980, EndPos: 3983, }, UseType: &node.Identifier{ Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3972, + StartPos: 3971, EndPos: 3979, }, Value: "function", @@ -8768,7 +8769,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3981, + StartPos: 3980, EndPos: 3983, }, Parts: []node.Node{ @@ -8776,7 +8777,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 175, EndLine: 175, - StartPos: 3981, + StartPos: 3980, EndPos: 3983, }, Value: "Baz", @@ -8790,28 +8791,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3990, + StartPos: 3989, EndPos: 3995, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3990, + StartPos: 3989, EndPos: 3994, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3990, + StartPos: 3989, EndPos: 3991, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3990, + StartPos: 3989, EndPos: 3991, }, Value: "a", @@ -8821,7 +8822,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 177, EndLine: 177, - StartPos: 3993, + StartPos: 3992, EndPos: 3993, }, Value: "1", @@ -8832,35 +8833,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3999, + StartPos: 3998, EndPos: 4007, }, Expr: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3999, + StartPos: 3998, EndPos: 4006, }, Variable: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3999, + StartPos: 3998, EndPos: 4003, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3999, + StartPos: 3998, EndPos: 4000, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 3999, + StartPos: 3998, EndPos: 4000, }, Value: "a", @@ -8870,7 +8871,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 4002, + StartPos: 4001, EndPos: 4002, }, Value: "1", @@ -8880,7 +8881,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 178, EndLine: 178, - StartPos: 4005, + StartPos: 4004, EndPos: 4005, }, Value: "2", @@ -8891,14 +8892,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 4011, + StartPos: 4010, EndPos: 4018, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 179, EndLine: 179, - StartPos: 4011, + StartPos: 4010, EndPos: 4017, }, Items: []node.Node{}, @@ -8908,14 +8909,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 4022, + StartPos: 4021, EndPos: 4030, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 4022, + StartPos: 4021, EndPos: 4029, }, Items: []node.Node{ @@ -8923,14 +8924,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 4028, + StartPos: 4027, EndPos: 4028, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 180, EndLine: 180, - StartPos: 4028, + StartPos: 4027, EndPos: 4028, }, Value: "1", @@ -8943,14 +8944,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4034, + StartPos: 4033, EndPos: 4051, }, Expr: &expr.Array{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4034, + StartPos: 4033, EndPos: 4050, }, Items: []node.Node{ @@ -8958,14 +8959,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4040, + StartPos: 4039, EndPos: 4043, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4040, + StartPos: 4039, EndPos: 4040, }, Value: "1", @@ -8974,7 +8975,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4043, + StartPos: 4042, EndPos: 4043, }, Value: "1", @@ -8984,28 +8985,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4046, + StartPos: 4045, EndPos: 4048, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4046, + StartPos: 4045, EndPos: 4048, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4047, + StartPos: 4046, EndPos: 4048, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 181, EndLine: 181, - StartPos: 4047, + StartPos: 4046, EndPos: 4048, }, Value: "b", @@ -9021,28 +9022,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4055, + StartPos: 4054, EndPos: 4058, }, Expr: &expr.BitwiseNot{ Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4055, + StartPos: 4054, EndPos: 4057, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4056, + StartPos: 4055, EndPos: 4057, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 182, EndLine: 182, - StartPos: 4056, + StartPos: 4055, EndPos: 4057, }, Value: "a", @@ -9054,28 +9055,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4062, + StartPos: 4061, EndPos: 4065, }, Expr: &expr.BooleanNot{ Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4062, + StartPos: 4061, EndPos: 4064, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4063, + StartPos: 4062, EndPos: 4064, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 183, EndLine: 183, - StartPos: 4063, + StartPos: 4062, EndPos: 4064, }, Value: "a", @@ -9087,21 +9088,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4070, + StartPos: 4069, EndPos: 4078, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4070, + StartPos: 4069, EndPos: 4077, }, Class: &name.Name{ Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4070, + StartPos: 4069, EndPos: 4072, }, Parts: []node.Node{ @@ -9109,7 +9110,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4070, + StartPos: 4069, EndPos: 4072, }, Value: "Foo", @@ -9120,7 +9121,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 185, EndLine: 185, - StartPos: 4075, + StartPos: 4074, EndPos: 4077, }, Value: "Bar", @@ -9131,28 +9132,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4082, + StartPos: 4081, EndPos: 4091, }, Expr: &expr.ClassConstFetch{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4082, + StartPos: 4081, EndPos: 4090, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4082, + StartPos: 4081, EndPos: 4085, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4082, + StartPos: 4081, EndPos: 4085, }, Value: "foo", @@ -9162,7 +9163,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 186, EndLine: 186, - StartPos: 4088, + StartPos: 4087, EndPos: 4090, }, Value: "Bar", @@ -9173,28 +9174,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4095, + StartPos: 4094, EndPos: 4104, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4095, + StartPos: 4094, EndPos: 4102, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4101, + StartPos: 4100, EndPos: 4102, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 187, EndLine: 187, - StartPos: 4101, + StartPos: 4100, EndPos: 4102, }, Value: "a", @@ -9206,28 +9207,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4108, + StartPos: 4107, EndPos: 4116, }, Expr: &expr.Clone{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4108, + StartPos: 4107, EndPos: 4115, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4114, + StartPos: 4113, EndPos: 4115, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 188, EndLine: 188, - StartPos: 4114, + StartPos: 4113, EndPos: 4115, }, Value: "a", @@ -9239,19 +9240,19 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 189, EndLine: 189, - StartPos: 4120, + StartPos: 4119, EndPos: 4132, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 189, EndLine: 189, - StartPos: 4120, + StartPos: 4119, EndPos: 4131, }, - PhpDocComment: "", ReturnsRef: false, Static: false, + PhpDocComment: "", Stmts: []node.Node{}, }, }, @@ -9259,25 +9260,25 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4136, + StartPos: 4135, EndPos: 4169, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4136, + StartPos: 4135, EndPos: 4168, }, - ReturnsRef: false, Static: false, PhpDocComment: "", + ReturnsRef: false, Params: []node.Node{ &node.Parameter{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4145, + StartPos: 4144, EndPos: 4146, }, ByRef: false, @@ -9286,14 +9287,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4145, + StartPos: 4144, EndPos: 4146, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4145, + StartPos: 4144, EndPos: 4146, }, Value: "a", @@ -9304,7 +9305,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4149, + StartPos: 4148, EndPos: 4150, }, ByRef: false, @@ -9313,14 +9314,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4149, + StartPos: 4148, EndPos: 4150, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4149, + StartPos: 4148, EndPos: 4150, }, Value: "b", @@ -9332,7 +9333,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4153, + StartPos: 4152, EndPos: 4165, }, Uses: []node.Node{ @@ -9340,14 +9341,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4158, + StartPos: 4157, EndPos: 4159, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4158, + StartPos: 4157, EndPos: 4159, }, Value: "c", @@ -9357,21 +9358,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4162, + StartPos: 4161, EndPos: 4164, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4163, + StartPos: 4162, EndPos: 4164, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 190, EndLine: 190, - StartPos: 4163, + StartPos: 4162, EndPos: 4164, }, Value: "d", @@ -9387,14 +9388,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4173, + StartPos: 4172, EndPos: 4192, }, Expr: &expr.Closure{ Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4173, + StartPos: 4172, EndPos: 4191, }, ReturnsRef: false, @@ -9404,7 +9405,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4185, + StartPos: 4184, EndPos: 4188, }, Parts: []node.Node{ @@ -9412,7 +9413,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 191, EndLine: 191, - StartPos: 4185, + StartPos: 4184, EndPos: 4188, }, Value: "void", @@ -9426,21 +9427,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4196, + StartPos: 4195, EndPos: 4199, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4196, + StartPos: 4195, EndPos: 4198, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4196, + StartPos: 4195, EndPos: 4198, }, Parts: []node.Node{ @@ -9448,7 +9449,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 192, EndLine: 192, - StartPos: 4196, + StartPos: 4195, EndPos: 4198, }, Value: "foo", @@ -9461,21 +9462,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4203, + StartPos: 4202, EndPos: 4216, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4203, + StartPos: 4202, EndPos: 4215, }, Constant: &name.Relative{ Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4203, + StartPos: 4202, EndPos: 4215, }, Parts: []node.Node{ @@ -9483,7 +9484,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 193, EndLine: 193, - StartPos: 4213, + StartPos: 4212, EndPos: 4215, }, Value: "foo", @@ -9496,21 +9497,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4220, + StartPos: 4219, EndPos: 4224, }, Expr: &expr.ConstFetch{ Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4220, + StartPos: 4219, EndPos: 4223, }, Constant: &name.FullyQualified{ Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4220, + StartPos: 4219, EndPos: 4223, }, Parts: []node.Node{ @@ -9518,7 +9519,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 194, EndLine: 194, - StartPos: 4221, + StartPos: 4220, EndPos: 4223, }, Value: "foo", @@ -9531,28 +9532,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4229, + StartPos: 4228, EndPos: 4238, }, Expr: &expr.Empty{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4229, + StartPos: 4228, EndPos: 4237, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4235, + StartPos: 4234, EndPos: 4236, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 196, EndLine: 196, - StartPos: 4235, + StartPos: 4234, EndPos: 4236, }, Value: "a", @@ -9564,28 +9565,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 197, EndLine: 197, - StartPos: 4242, + StartPos: 4241, EndPos: 4245, }, Expr: &expr.ErrorSuppress{ Position: &position.Position{ StartLine: 197, EndLine: 197, - StartPos: 4242, + StartPos: 4241, EndPos: 4244, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 197, EndLine: 197, - StartPos: 4243, + StartPos: 4242, EndPos: 4244, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 197, EndLine: 197, - StartPos: 4243, + StartPos: 4242, EndPos: 4244, }, Value: "a", @@ -9597,28 +9598,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4249, + StartPos: 4248, EndPos: 4257, }, Expr: &expr.Eval{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4249, + StartPos: 4248, EndPos: 4256, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4254, + StartPos: 4253, EndPos: 4255, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 198, EndLine: 198, - StartPos: 4254, + StartPos: 4253, EndPos: 4255, }, Value: "a", @@ -9630,14 +9631,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4261, + StartPos: 4260, EndPos: 4265, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 199, EndLine: 199, - StartPos: 4261, + StartPos: 4260, EndPos: 4264, }, Die: false, @@ -9647,14 +9648,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4269, + StartPos: 4268, EndPos: 4277, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4269, + StartPos: 4268, EndPos: 4276, }, Die: false, @@ -9662,14 +9663,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4274, + StartPos: 4273, EndPos: 4275, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 200, EndLine: 200, - StartPos: 4274, + StartPos: 4273, EndPos: 4275, }, Value: "a", @@ -9681,14 +9682,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4281, + StartPos: 4280, EndPos: 4284, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 201, EndLine: 201, - StartPos: 4281, + StartPos: 4280, EndPos: 4283, }, Die: true, @@ -9698,14 +9699,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 202, EndLine: 202, - StartPos: 4288, + StartPos: 4287, EndPos: 4295, }, Expr: &expr.Exit{ Position: &position.Position{ StartLine: 202, EndLine: 202, - StartPos: 4288, + StartPos: 4287, EndPos: 4294, }, Die: true, @@ -9713,14 +9714,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 202, EndLine: 202, - StartPos: 4292, + StartPos: 4291, EndPos: 4293, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 202, EndLine: 202, - StartPos: 4292, + StartPos: 4291, EndPos: 4293, }, Value: "a", @@ -9732,21 +9733,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4299, + StartPos: 4298, EndPos: 4304, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4299, + StartPos: 4298, EndPos: 4303, }, Function: &name.Name{ Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4299, + StartPos: 4298, EndPos: 4301, }, Parts: []node.Node{ @@ -9754,7 +9755,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4299, + StartPos: 4298, EndPos: 4301, }, Value: "foo", @@ -9765,7 +9766,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 203, EndLine: 203, - StartPos: 4302, + StartPos: 4301, EndPos: 4303, }, }, @@ -9775,21 +9776,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4308, + StartPos: 4307, EndPos: 4323, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4308, + StartPos: 4307, EndPos: 4322, }, Function: &name.Relative{ Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4308, + StartPos: 4307, EndPos: 4320, }, Parts: []node.Node{ @@ -9797,7 +9798,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4318, + StartPos: 4317, EndPos: 4320, }, Value: "foo", @@ -9808,7 +9809,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 204, EndLine: 204, - StartPos: 4321, + StartPos: 4320, EndPos: 4322, }, }, @@ -9818,21 +9819,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4327, + StartPos: 4326, EndPos: 4333, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4327, + StartPos: 4326, EndPos: 4332, }, Function: &name.FullyQualified{ Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4327, + StartPos: 4326, EndPos: 4330, }, Parts: []node.Node{ @@ -9840,7 +9841,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4328, + StartPos: 4327, EndPos: 4330, }, Value: "foo", @@ -9851,7 +9852,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 205, EndLine: 205, - StartPos: 4331, + StartPos: 4330, EndPos: 4332, }, }, @@ -9861,28 +9862,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4337, + StartPos: 4336, EndPos: 4343, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4337, + StartPos: 4336, EndPos: 4342, }, Function: &expr.Variable{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4337, + StartPos: 4336, EndPos: 4340, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4337, + StartPos: 4336, EndPos: 4340, }, Value: "foo", @@ -9892,7 +9893,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 206, EndLine: 206, - StartPos: 4341, + StartPos: 4340, EndPos: 4342, }, }, @@ -9902,28 +9903,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4348, + StartPos: 4347, EndPos: 4352, }, Expr: &expr.PostDec{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4348, + StartPos: 4347, EndPos: 4351, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4348, + StartPos: 4347, EndPos: 4349, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 208, EndLine: 208, - StartPos: 4348, + StartPos: 4347, EndPos: 4349, }, Value: "a", @@ -9935,28 +9936,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4356, + StartPos: 4355, EndPos: 4360, }, Expr: &expr.PostInc{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4356, + StartPos: 4355, EndPos: 4359, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4356, + StartPos: 4355, EndPos: 4357, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 209, EndLine: 209, - StartPos: 4356, + StartPos: 4355, EndPos: 4357, }, Value: "a", @@ -9968,28 +9969,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4364, + StartPos: 4363, EndPos: 4368, }, Expr: &expr.PreDec{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4364, + StartPos: 4363, EndPos: 4367, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4366, + StartPos: 4365, EndPos: 4367, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 210, EndLine: 210, - StartPos: 4366, + StartPos: 4365, EndPos: 4367, }, Value: "a", @@ -10001,28 +10002,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 211, EndLine: 211, - StartPos: 4372, + StartPos: 4371, EndPos: 4376, }, Expr: &expr.PreInc{ Position: &position.Position{ StartLine: 211, EndLine: 211, - StartPos: 4372, + StartPos: 4371, EndPos: 4375, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 211, EndLine: 211, - StartPos: 4374, + StartPos: 4373, EndPos: 4375, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 211, EndLine: 211, - StartPos: 4374, + StartPos: 4373, EndPos: 4375, }, Value: "a", @@ -10034,28 +10035,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4381, + StartPos: 4380, EndPos: 4391, }, Expr: &expr.Include{ Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4381, + StartPos: 4380, EndPos: 4390, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4389, + StartPos: 4388, EndPos: 4390, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 213, EndLine: 213, - StartPos: 4389, + StartPos: 4388, EndPos: 4390, }, Value: "a", @@ -10067,28 +10068,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4395, + StartPos: 4394, EndPos: 4410, }, Expr: &expr.IncludeOnce{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4395, + StartPos: 4394, EndPos: 4409, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4408, + StartPos: 4407, EndPos: 4409, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 214, EndLine: 214, - StartPos: 4408, + StartPos: 4407, EndPos: 4409, }, Value: "a", @@ -10100,28 +10101,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4414, + StartPos: 4413, EndPos: 4424, }, Expr: &expr.Require{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4414, + StartPos: 4413, EndPos: 4423, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4422, + StartPos: 4421, EndPos: 4423, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 215, EndLine: 215, - StartPos: 4422, + StartPos: 4421, EndPos: 4423, }, Value: "a", @@ -10133,28 +10134,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4428, + StartPos: 4427, EndPos: 4443, }, Expr: &expr.RequireOnce{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4428, + StartPos: 4427, EndPos: 4442, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4441, + StartPos: 4440, EndPos: 4442, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 216, EndLine: 216, - StartPos: 4441, + StartPos: 4440, EndPos: 4442, }, Value: "a", @@ -10166,28 +10167,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4448, + StartPos: 4447, EndPos: 4465, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4448, + StartPos: 4447, EndPos: 4464, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4448, + StartPos: 4447, EndPos: 4449, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4448, + StartPos: 4447, EndPos: 4449, }, Value: "a", @@ -10197,7 +10198,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4462, + StartPos: 4461, EndPos: 4464, }, Parts: []node.Node{ @@ -10205,7 +10206,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 218, EndLine: 218, - StartPos: 4462, + StartPos: 4461, EndPos: 4464, }, Value: "Foo", @@ -10218,28 +10219,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4469, + StartPos: 4468, EndPos: 4496, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4469, + StartPos: 4468, EndPos: 4495, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4469, + StartPos: 4468, EndPos: 4470, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4469, + StartPos: 4468, EndPos: 4470, }, Value: "a", @@ -10249,7 +10250,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4483, + StartPos: 4482, EndPos: 4495, }, Parts: []node.Node{ @@ -10257,7 +10258,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 219, EndLine: 219, - StartPos: 4493, + StartPos: 4492, EndPos: 4495, }, Value: "Foo", @@ -10270,28 +10271,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4500, + StartPos: 4499, EndPos: 4518, }, Expr: &expr.InstanceOf{ Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4500, + StartPos: 4499, EndPos: 4517, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4500, + StartPos: 4499, EndPos: 4501, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4500, + StartPos: 4499, EndPos: 4501, }, Value: "a", @@ -10301,7 +10302,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4514, + StartPos: 4513, EndPos: 4517, }, Parts: []node.Node{ @@ -10309,7 +10310,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 220, EndLine: 220, - StartPos: 4515, + StartPos: 4514, EndPos: 4517, }, Value: "Foo", @@ -10322,14 +10323,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4523, + StartPos: 4522, EndPos: 4536, }, Expr: &expr.Isset{ Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4523, + StartPos: 4522, EndPos: 4535, }, Variables: []node.Node{ @@ -10337,14 +10338,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4529, + StartPos: 4528, EndPos: 4530, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4529, + StartPos: 4528, EndPos: 4530, }, Value: "a", @@ -10354,14 +10355,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4533, + StartPos: 4532, EndPos: 4534, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 222, EndLine: 222, - StartPos: 4533, + StartPos: 4532, EndPos: 4534, }, Value: "b", @@ -10374,21 +10375,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4540, + StartPos: 4539, EndPos: 4553, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4540, + StartPos: 4539, EndPos: 4552, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4540, + StartPos: 4539, EndPos: 4547, }, Items: []node.Node{ @@ -10396,21 +10397,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4545, + StartPos: 4544, EndPos: 4546, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4545, + StartPos: 4544, EndPos: 4546, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4545, + StartPos: 4544, EndPos: 4546, }, Value: "a", @@ -10423,14 +10424,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4551, + StartPos: 4550, EndPos: 4552, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 223, EndLine: 223, - StartPos: 4551, + StartPos: 4550, EndPos: 4552, }, Value: "b", @@ -10442,21 +10443,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4557, + StartPos: 4556, EndPos: 4572, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4557, + StartPos: 4556, EndPos: 4571, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4557, + StartPos: 4556, EndPos: 4566, }, Items: []node.Node{ @@ -10464,28 +10465,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4562, + StartPos: 4561, EndPos: 4565, }, Val: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4562, + StartPos: 4561, EndPos: 4565, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4562, + StartPos: 4561, EndPos: 4563, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4562, + StartPos: 4561, EndPos: 4563, }, Value: "a", @@ -10499,14 +10500,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4570, + StartPos: 4569, EndPos: 4571, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 224, EndLine: 224, - StartPos: 4570, + StartPos: 4569, EndPos: 4571, }, Value: "b", @@ -10518,21 +10519,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4576, + StartPos: 4575, EndPos: 4595, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4576, + StartPos: 4575, EndPos: 4594, }, Variable: &expr.List{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4576, + StartPos: 4575, EndPos: 4589, }, Items: []node.Node{ @@ -10540,14 +10541,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4581, + StartPos: 4580, EndPos: 4588, }, Val: &expr.List{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4581, + StartPos: 4580, EndPos: 4588, }, Items: []node.Node{ @@ -10555,21 +10556,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4586, + StartPos: 4585, EndPos: 4587, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4586, + StartPos: 4585, EndPos: 4587, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4586, + StartPos: 4585, EndPos: 4587, }, Value: "a", @@ -10585,14 +10586,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4593, + StartPos: 4592, EndPos: 4594, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 225, EndLine: 225, - StartPos: 4593, + StartPos: 4592, EndPos: 4594, }, Value: "b", @@ -10604,28 +10605,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4600, + StartPos: 4599, EndPos: 4609, }, Expr: &expr.MethodCall{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4600, + StartPos: 4599, EndPos: 4608, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4600, + StartPos: 4599, EndPos: 4601, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4600, + StartPos: 4599, EndPos: 4601, }, Value: "a", @@ -10635,7 +10636,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4604, + StartPos: 4603, EndPos: 4606, }, Value: "foo", @@ -10644,7 +10645,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 227, EndLine: 227, - StartPos: 4607, + StartPos: 4606, EndPos: 4608, }, }, @@ -10654,21 +10655,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4613, + StartPos: 4612, EndPos: 4622, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4613, + StartPos: 4612, EndPos: 4621, }, Class: &name.Name{ Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4617, + StartPos: 4616, EndPos: 4619, }, Parts: []node.Node{ @@ -10676,7 +10677,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4617, + StartPos: 4616, EndPos: 4619, }, Value: "Foo", @@ -10687,7 +10688,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 228, EndLine: 228, - StartPos: 4620, + StartPos: 4619, EndPos: 4621, }, }, @@ -10697,21 +10698,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4626, + StartPos: 4625, EndPos: 4645, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4626, + StartPos: 4625, EndPos: 4644, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4630, + StartPos: 4629, EndPos: 4642, }, Parts: []node.Node{ @@ -10719,7 +10720,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4640, + StartPos: 4639, EndPos: 4642, }, Value: "Foo", @@ -10730,7 +10731,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 229, EndLine: 229, - StartPos: 4643, + StartPos: 4642, EndPos: 4644, }, }, @@ -10740,21 +10741,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4649, + StartPos: 4648, EndPos: 4659, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4649, + StartPos: 4648, EndPos: 4658, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4653, + StartPos: 4652, EndPos: 4656, }, Parts: []node.Node{ @@ -10762,7 +10763,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4654, + StartPos: 4653, EndPos: 4656, }, Value: "Foo", @@ -10773,7 +10774,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 230, EndLine: 230, - StartPos: 4657, + StartPos: 4656, EndPos: 4658, }, }, @@ -10783,21 +10784,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4663, + StartPos: 4662, EndPos: 4687, }, Expr: &expr.New{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4663, + StartPos: 4662, EndPos: 4686, }, Class: &stmt.Class{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4667, + StartPos: 4666, EndPos: 4686, }, PhpDocComment: "", @@ -10805,7 +10806,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4673, + StartPos: 4672, EndPos: 4683, }, Arguments: []node.Node{ @@ -10813,23 +10814,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4674, + StartPos: 4673, EndPos: 4675, }, - Variadic: false, IsReference: false, + Variadic: false, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4674, + StartPos: 4673, EndPos: 4675, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4674, + StartPos: 4673, EndPos: 4675, }, Value: "a", @@ -10840,7 +10841,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4678, + StartPos: 4677, EndPos: 4682, }, IsReference: false, @@ -10849,14 +10850,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4681, + StartPos: 4680, EndPos: 4682, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 231, EndLine: 231, - StartPos: 4681, + StartPos: 4680, EndPos: 4682, }, Value: "b", @@ -10873,28 +10874,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4691, + StartPos: 4690, EndPos: 4700, }, Expr: &expr.Print{ Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4691, + StartPos: 4690, EndPos: 4698, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4697, + StartPos: 4696, EndPos: 4698, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 232, EndLine: 232, - StartPos: 4697, + StartPos: 4696, EndPos: 4698, }, Value: "a", @@ -10906,28 +10907,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4704, + StartPos: 4703, EndPos: 4711, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4704, + StartPos: 4703, EndPos: 4710, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4704, + StartPos: 4703, EndPos: 4705, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4704, + StartPos: 4703, EndPos: 4705, }, Value: "a", @@ -10937,7 +10938,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 233, EndLine: 233, - StartPos: 4708, + StartPos: 4707, EndPos: 4710, }, Value: "foo", @@ -10948,14 +10949,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 234, EndLine: 234, - StartPos: 4715, + StartPos: 4714, EndPos: 4723, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 234, EndLine: 234, - StartPos: 4715, + StartPos: 4714, EndPos: 4722, }, Parts: []node.Node{ @@ -10963,7 +10964,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 234, EndLine: 234, - StartPos: 4716, + StartPos: 4715, EndPos: 4719, }, Value: "cmd ", @@ -10972,14 +10973,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 234, EndLine: 234, - StartPos: 4720, + StartPos: 4719, EndPos: 4721, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 234, EndLine: 234, - StartPos: 4720, + StartPos: 4719, EndPos: 4721, }, Value: "a", @@ -10992,14 +10993,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4727, + StartPos: 4726, EndPos: 4732, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4727, + StartPos: 4726, EndPos: 4731, }, Parts: []node.Node{ @@ -11007,7 +11008,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 235, EndLine: 235, - StartPos: 4728, + StartPos: 4727, EndPos: 4730, }, Value: "cmd", @@ -11019,14 +11020,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4736, + StartPos: 4735, EndPos: 4738, }, Expr: &expr.ShellExec{ Position: &position.Position{ StartLine: 236, EndLine: 236, - StartPos: 4736, + StartPos: 4735, EndPos: 4737, }, Parts: []node.Node{}, @@ -11036,14 +11037,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4742, + StartPos: 4741, EndPos: 4744, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 237, EndLine: 237, - StartPos: 4742, + StartPos: 4741, EndPos: 4743, }, Items: []node.Node{}, @@ -11053,14 +11054,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4748, + StartPos: 4747, EndPos: 4751, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4748, + StartPos: 4747, EndPos: 4750, }, Items: []node.Node{ @@ -11068,14 +11069,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4749, + StartPos: 4748, EndPos: 4749, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 238, EndLine: 238, - StartPos: 4749, + StartPos: 4748, EndPos: 4749, }, Value: "1", @@ -11088,14 +11089,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4755, + StartPos: 4754, EndPos: 4767, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4755, + StartPos: 4754, EndPos: 4766, }, Items: []node.Node{ @@ -11103,14 +11104,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4756, + StartPos: 4755, EndPos: 4759, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4756, + StartPos: 4755, EndPos: 4756, }, Value: "1", @@ -11119,7 +11120,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4759, + StartPos: 4758, EndPos: 4759, }, Value: "1", @@ -11129,28 +11130,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4762, + StartPos: 4761, EndPos: 4764, }, Val: &expr.Reference{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4762, + StartPos: 4761, EndPos: 4764, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4763, + StartPos: 4762, EndPos: 4764, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 239, EndLine: 239, - StartPos: 4763, + StartPos: 4762, EndPos: 4764, }, Value: "b", @@ -11166,21 +11167,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4772, + StartPos: 4771, EndPos: 4781, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4772, + StartPos: 4771, EndPos: 4780, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4772, + StartPos: 4771, EndPos: 4775, }, Items: []node.Node{ @@ -11188,21 +11189,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4773, + StartPos: 4772, EndPos: 4774, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4773, + StartPos: 4772, EndPos: 4774, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4773, + StartPos: 4772, EndPos: 4774, }, Value: "a", @@ -11215,14 +11216,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4779, + StartPos: 4778, EndPos: 4780, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 241, EndLine: 241, - StartPos: 4779, + StartPos: 4778, EndPos: 4780, }, Value: "b", @@ -11234,21 +11235,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4785, + StartPos: 4784, EndPos: 4796, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4785, + StartPos: 4784, EndPos: 4795, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4785, + StartPos: 4784, EndPos: 4790, }, Items: []node.Node{ @@ -11256,28 +11257,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4786, + StartPos: 4785, EndPos: 4789, }, Val: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4786, + StartPos: 4785, EndPos: 4789, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4786, + StartPos: 4785, EndPos: 4787, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4786, + StartPos: 4785, EndPos: 4787, }, Value: "a", @@ -11291,14 +11292,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4794, + StartPos: 4793, EndPos: 4795, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 242, EndLine: 242, - StartPos: 4794, + StartPos: 4793, EndPos: 4795, }, Value: "b", @@ -11310,21 +11311,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4800, + StartPos: 4799, EndPos: 4815, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4800, + StartPos: 4799, EndPos: 4814, }, Variable: &expr.ShortList{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4800, + StartPos: 4799, EndPos: 4809, }, Items: []node.Node{ @@ -11332,14 +11333,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4801, + StartPos: 4800, EndPos: 4808, }, Val: &expr.List{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4801, + StartPos: 4800, EndPos: 4808, }, Items: []node.Node{ @@ -11347,21 +11348,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4806, + StartPos: 4805, EndPos: 4807, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4806, + StartPos: 4805, EndPos: 4807, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4806, + StartPos: 4805, EndPos: 4807, }, Value: "a", @@ -11377,14 +11378,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4813, + StartPos: 4812, EndPos: 4814, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 243, EndLine: 243, - StartPos: 4813, + StartPos: 4812, EndPos: 4814, }, Value: "b", @@ -11396,21 +11397,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4819, + StartPos: 4818, EndPos: 4829, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4819, + StartPos: 4818, EndPos: 4828, }, Class: &name.Name{ Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4819, + StartPos: 4818, EndPos: 4821, }, Parts: []node.Node{ @@ -11418,7 +11419,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4819, + StartPos: 4818, EndPos: 4821, }, Value: "Foo", @@ -11429,7 +11430,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4824, + StartPos: 4823, EndPos: 4826, }, Value: "bar", @@ -11438,7 +11439,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 244, EndLine: 244, - StartPos: 4827, + StartPos: 4826, EndPos: 4828, }, }, @@ -11448,21 +11449,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4833, + StartPos: 4832, EndPos: 4853, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4833, + StartPos: 4832, EndPos: 4852, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4833, + StartPos: 4832, EndPos: 4845, }, Parts: []node.Node{ @@ -11470,7 +11471,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4843, + StartPos: 4842, EndPos: 4845, }, Value: "Foo", @@ -11481,7 +11482,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4848, + StartPos: 4847, EndPos: 4850, }, Value: "bar", @@ -11490,7 +11491,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 245, EndLine: 245, - StartPos: 4851, + StartPos: 4850, EndPos: 4852, }, }, @@ -11500,21 +11501,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4857, + StartPos: 4856, EndPos: 4868, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4857, + StartPos: 4856, EndPos: 4867, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4857, + StartPos: 4856, EndPos: 4860, }, Parts: []node.Node{ @@ -11522,7 +11523,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4858, + StartPos: 4857, EndPos: 4860, }, Value: "Foo", @@ -11533,7 +11534,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4863, + StartPos: 4862, EndPos: 4865, }, Value: "bar", @@ -11542,7 +11543,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 246, EndLine: 246, - StartPos: 4866, + StartPos: 4865, EndPos: 4867, }, }, @@ -11552,21 +11553,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4872, + StartPos: 4871, EndPos: 4881, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4872, + StartPos: 4871, EndPos: 4880, }, Class: &name.Name{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4872, + StartPos: 4871, EndPos: 4874, }, Parts: []node.Node{ @@ -11574,7 +11575,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4872, + StartPos: 4871, EndPos: 4874, }, Value: "Foo", @@ -11585,14 +11586,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4877, + StartPos: 4876, EndPos: 4880, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 247, EndLine: 247, - StartPos: 4877, + StartPos: 4876, EndPos: 4880, }, Value: "bar", @@ -11604,28 +11605,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4885, + StartPos: 4884, EndPos: 4895, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4885, + StartPos: 4884, EndPos: 4894, }, Class: &expr.Variable{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4885, + StartPos: 4884, EndPos: 4888, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4885, + StartPos: 4884, EndPos: 4888, }, Value: "foo", @@ -11635,14 +11636,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4891, + StartPos: 4890, EndPos: 4894, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 248, EndLine: 248, - StartPos: 4891, + StartPos: 4890, EndPos: 4894, }, Value: "bar", @@ -11654,21 +11655,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4899, + StartPos: 4898, EndPos: 4918, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4899, + StartPos: 4898, EndPos: 4917, }, Class: &name.Relative{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4899, + StartPos: 4898, EndPos: 4911, }, Parts: []node.Node{ @@ -11676,7 +11677,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4909, + StartPos: 4908, EndPos: 4911, }, Value: "Foo", @@ -11687,14 +11688,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4914, + StartPos: 4913, EndPos: 4917, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 249, EndLine: 249, - StartPos: 4914, + StartPos: 4913, EndPos: 4917, }, Value: "bar", @@ -11706,21 +11707,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4922, + StartPos: 4921, EndPos: 4932, }, Expr: &expr.StaticPropertyFetch{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4922, + StartPos: 4921, EndPos: 4931, }, Class: &name.FullyQualified{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4922, + StartPos: 4921, EndPos: 4925, }, Parts: []node.Node{ @@ -11728,7 +11729,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4923, + StartPos: 4922, EndPos: 4925, }, Value: "Foo", @@ -11739,14 +11740,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4928, + StartPos: 4927, EndPos: 4931, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 250, EndLine: 250, - StartPos: 4928, + StartPos: 4927, EndPos: 4931, }, Value: "bar", @@ -11758,28 +11759,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4936, + StartPos: 4935, EndPos: 4948, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4936, + StartPos: 4935, EndPos: 4947, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4936, + StartPos: 4935, EndPos: 4937, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4936, + StartPos: 4935, EndPos: 4937, }, Value: "a", @@ -11789,14 +11790,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4941, + StartPos: 4940, EndPos: 4942, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4941, + StartPos: 4940, EndPos: 4942, }, Value: "b", @@ -11806,14 +11807,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4946, + StartPos: 4945, EndPos: 4947, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 251, EndLine: 251, - StartPos: 4946, + StartPos: 4945, EndPos: 4947, }, Value: "c", @@ -11825,28 +11826,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4952, + StartPos: 4951, EndPos: 4961, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4952, + StartPos: 4951, EndPos: 4960, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4952, + StartPos: 4951, EndPos: 4953, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4952, + StartPos: 4951, EndPos: 4953, }, Value: "a", @@ -11856,14 +11857,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4959, + StartPos: 4958, EndPos: 4960, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 252, EndLine: 252, - StartPos: 4959, + StartPos: 4958, EndPos: 4960, }, Value: "c", @@ -11875,28 +11876,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4965, + StartPos: 4964, EndPos: 4987, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4965, + StartPos: 4964, EndPos: 4986, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4965, + StartPos: 4964, EndPos: 4966, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4965, + StartPos: 4964, EndPos: 4966, }, Value: "a", @@ -11906,21 +11907,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4970, + StartPos: 4969, EndPos: 4981, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4970, + StartPos: 4969, EndPos: 4971, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4970, + StartPos: 4969, EndPos: 4971, }, Value: "b", @@ -11930,14 +11931,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4975, + StartPos: 4974, EndPos: 4976, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4975, + StartPos: 4974, EndPos: 4976, }, Value: "c", @@ -11947,14 +11948,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4980, + StartPos: 4979, EndPos: 4981, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4980, + StartPos: 4979, EndPos: 4981, }, Value: "d", @@ -11965,14 +11966,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4985, + StartPos: 4984, EndPos: 4986, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 253, EndLine: 253, - StartPos: 4985, + StartPos: 4984, EndPos: 4986, }, Value: "e", @@ -11984,35 +11985,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4991, + StartPos: 4990, EndPos: 5013, }, Expr: &expr.Ternary{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4991, + StartPos: 4990, EndPos: 5012, }, Condition: &expr.Ternary{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4991, + StartPos: 4990, EndPos: 5002, }, Condition: &expr.Variable{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4991, + StartPos: 4990, EndPos: 4992, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4991, + StartPos: 4990, EndPos: 4992, }, Value: "a", @@ -12022,14 +12023,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4996, + StartPos: 4995, EndPos: 4997, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 4996, + StartPos: 4995, EndPos: 4997, }, Value: "b", @@ -12039,14 +12040,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5001, + StartPos: 5000, EndPos: 5002, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5001, + StartPos: 5000, EndPos: 5002, }, Value: "c", @@ -12057,14 +12058,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5006, + StartPos: 5005, EndPos: 5007, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5006, + StartPos: 5005, EndPos: 5007, }, Value: "d", @@ -12074,14 +12075,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5011, + StartPos: 5010, EndPos: 5012, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 254, EndLine: 254, - StartPos: 5011, + StartPos: 5010, EndPos: 5012, }, Value: "e", @@ -12093,28 +12094,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 5017, + StartPos: 5016, EndPos: 5020, }, Expr: &expr.UnaryMinus{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 5017, + StartPos: 5016, EndPos: 5019, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 5018, + StartPos: 5017, EndPos: 5019, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 255, EndLine: 255, - StartPos: 5018, + StartPos: 5017, EndPos: 5019, }, Value: "a", @@ -12126,28 +12127,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 256, EndLine: 256, - StartPos: 5024, + StartPos: 5023, EndPos: 5027, }, Expr: &expr.UnaryPlus{ Position: &position.Position{ StartLine: 256, EndLine: 256, - StartPos: 5024, + StartPos: 5023, EndPos: 5026, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 256, EndLine: 256, - StartPos: 5025, + StartPos: 5024, EndPos: 5026, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 256, EndLine: 256, - StartPos: 5025, + StartPos: 5024, EndPos: 5026, }, Value: "a", @@ -12159,28 +12160,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5031, + StartPos: 5030, EndPos: 5034, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5031, + StartPos: 5030, EndPos: 5033, }, VarName: &expr.Variable{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5032, + StartPos: 5031, EndPos: 5033, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 257, EndLine: 257, - StartPos: 5032, + StartPos: 5031, EndPos: 5033, }, Value: "a", @@ -12192,14 +12193,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5038, + StartPos: 5037, EndPos: 5043, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 258, EndLine: 258, - StartPos: 5038, + StartPos: 5037, EndPos: 5042, }, }, @@ -12208,28 +12209,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5047, + StartPos: 5046, EndPos: 5055, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5047, + StartPos: 5046, EndPos: 5054, }, Value: &expr.Variable{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5053, + StartPos: 5052, EndPos: 5054, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 259, EndLine: 259, - StartPos: 5053, + StartPos: 5052, EndPos: 5054, }, Value: "a", @@ -12241,28 +12242,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5059, + StartPos: 5058, EndPos: 5073, }, Expr: &expr.Yield{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5059, + StartPos: 5058, EndPos: 5072, }, Key: &expr.Variable{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5065, + StartPos: 5064, EndPos: 5066, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5065, + StartPos: 5064, EndPos: 5066, }, Value: "a", @@ -12272,14 +12273,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5071, + StartPos: 5070, EndPos: 5072, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 260, EndLine: 260, - StartPos: 5071, + StartPos: 5070, EndPos: 5072, }, Value: "b", @@ -12291,28 +12292,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5077, + StartPos: 5076, EndPos: 5090, }, Expr: &expr.YieldFrom{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5077, + StartPos: 5076, EndPos: 5089, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5088, + StartPos: 5087, EndPos: 5089, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 261, EndLine: 261, - StartPos: 5088, + StartPos: 5087, EndPos: 5089, }, Value: "a", @@ -12324,28 +12325,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5097, + StartPos: 5096, EndPos: 5106, }, Expr: &cast.Array{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5097, + StartPos: 5096, EndPos: 5105, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5104, + StartPos: 5103, EndPos: 5105, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 263, EndLine: 263, - StartPos: 5104, + StartPos: 5103, EndPos: 5105, }, Value: "a", @@ -12357,28 +12358,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5110, + StartPos: 5109, EndPos: 5121, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5110, + StartPos: 5109, EndPos: 5120, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5119, + StartPos: 5118, EndPos: 5120, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 264, EndLine: 264, - StartPos: 5119, + StartPos: 5118, EndPos: 5120, }, Value: "a", @@ -12390,28 +12391,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5125, + StartPos: 5124, EndPos: 5133, }, Expr: &cast.Bool{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5125, + StartPos: 5124, EndPos: 5132, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5131, + StartPos: 5130, EndPos: 5132, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 265, EndLine: 265, - StartPos: 5131, + StartPos: 5130, EndPos: 5132, }, Value: "a", @@ -12423,28 +12424,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5137, + StartPos: 5136, EndPos: 5147, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5137, + StartPos: 5136, EndPos: 5146, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5145, + StartPos: 5144, EndPos: 5146, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 266, EndLine: 266, - StartPos: 5145, + StartPos: 5144, EndPos: 5146, }, Value: "a", @@ -12456,28 +12457,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 267, EndLine: 267, - StartPos: 5151, + StartPos: 5150, EndPos: 5160, }, Expr: &cast.Double{ Position: &position.Position{ StartLine: 267, EndLine: 267, - StartPos: 5151, + StartPos: 5150, EndPos: 5159, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 267, EndLine: 267, - StartPos: 5158, + StartPos: 5157, EndPos: 5159, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 267, EndLine: 267, - StartPos: 5158, + StartPos: 5157, EndPos: 5159, }, Value: "a", @@ -12489,28 +12490,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5164, + StartPos: 5163, EndPos: 5175, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5164, + StartPos: 5163, EndPos: 5174, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5173, + StartPos: 5172, EndPos: 5174, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 268, EndLine: 268, - StartPos: 5173, + StartPos: 5172, EndPos: 5174, }, Value: "a", @@ -12522,28 +12523,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5179, + StartPos: 5178, EndPos: 5186, }, Expr: &cast.Int{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5179, + StartPos: 5178, EndPos: 5185, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5184, + StartPos: 5183, EndPos: 5185, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 269, EndLine: 269, - StartPos: 5184, + StartPos: 5183, EndPos: 5185, }, Value: "a", @@ -12555,28 +12556,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5190, + StartPos: 5189, EndPos: 5200, }, Expr: &cast.Object{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5190, + StartPos: 5189, EndPos: 5199, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5198, + StartPos: 5197, EndPos: 5199, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 270, EndLine: 270, - StartPos: 5198, + StartPos: 5197, EndPos: 5199, }, Value: "a", @@ -12588,28 +12589,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5204, + StartPos: 5203, EndPos: 5214, }, Expr: &cast.String{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5204, + StartPos: 5203, EndPos: 5213, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5212, + StartPos: 5211, EndPos: 5213, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 271, EndLine: 271, - StartPos: 5212, + StartPos: 5211, EndPos: 5213, }, Value: "a", @@ -12621,28 +12622,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5218, + StartPos: 5217, EndPos: 5227, }, Expr: &cast.Unset{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5218, + StartPos: 5217, EndPos: 5226, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5225, + StartPos: 5224, EndPos: 5226, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 272, EndLine: 272, - StartPos: 5225, + StartPos: 5224, EndPos: 5226, }, Value: "a", @@ -12654,28 +12655,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5232, + StartPos: 5231, EndPos: 5239, }, Expr: &binary.BitwiseAnd{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5232, + StartPos: 5231, EndPos: 5238, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5232, + StartPos: 5231, EndPos: 5233, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5232, + StartPos: 5231, EndPos: 5233, }, Value: "a", @@ -12685,14 +12686,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5237, + StartPos: 5236, EndPos: 5238, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 274, EndLine: 274, - StartPos: 5237, + StartPos: 5236, EndPos: 5238, }, Value: "b", @@ -12704,28 +12705,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5243, + StartPos: 5242, EndPos: 5250, }, Expr: &binary.BitwiseOr{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5243, + StartPos: 5242, EndPos: 5249, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5243, + StartPos: 5242, EndPos: 5244, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5243, + StartPos: 5242, EndPos: 5244, }, Value: "a", @@ -12735,14 +12736,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5248, + StartPos: 5247, EndPos: 5249, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 275, EndLine: 275, - StartPos: 5248, + StartPos: 5247, EndPos: 5249, }, Value: "b", @@ -12754,28 +12755,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5254, + StartPos: 5253, EndPos: 5261, }, Expr: &binary.BitwiseXor{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5254, + StartPos: 5253, EndPos: 5260, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5254, + StartPos: 5253, EndPos: 5255, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5254, + StartPos: 5253, EndPos: 5255, }, Value: "a", @@ -12785,14 +12786,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5259, + StartPos: 5258, EndPos: 5260, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 276, EndLine: 276, - StartPos: 5259, + StartPos: 5258, EndPos: 5260, }, Value: "b", @@ -12804,28 +12805,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5265, + StartPos: 5264, EndPos: 5273, }, Expr: &binary.BooleanAnd{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5265, + StartPos: 5264, EndPos: 5272, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5265, + StartPos: 5264, EndPos: 5266, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5265, + StartPos: 5264, EndPos: 5266, }, Value: "a", @@ -12835,14 +12836,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5271, + StartPos: 5270, EndPos: 5272, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 277, EndLine: 277, - StartPos: 5271, + StartPos: 5270, EndPos: 5272, }, Value: "b", @@ -12854,28 +12855,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5277, + StartPos: 5276, EndPos: 5285, }, Expr: &binary.BooleanOr{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5277, + StartPos: 5276, EndPos: 5284, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5277, + StartPos: 5276, EndPos: 5278, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5277, + StartPos: 5276, EndPos: 5278, }, Value: "a", @@ -12885,14 +12886,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5283, + StartPos: 5282, EndPos: 5284, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 278, EndLine: 278, - StartPos: 5283, + StartPos: 5282, EndPos: 5284, }, Value: "b", @@ -12904,28 +12905,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5289, + StartPos: 5288, EndPos: 5297, }, Expr: &binary.Coalesce{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5289, + StartPos: 5288, EndPos: 5296, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5289, + StartPos: 5288, EndPos: 5290, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5289, + StartPos: 5288, EndPos: 5290, }, Value: "a", @@ -12935,14 +12936,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5295, + StartPos: 5294, EndPos: 5296, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 279, EndLine: 279, - StartPos: 5295, + StartPos: 5294, EndPos: 5296, }, Value: "b", @@ -12954,28 +12955,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5301, + StartPos: 5300, EndPos: 5308, }, Expr: &binary.Concat{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5301, + StartPos: 5300, EndPos: 5307, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5301, + StartPos: 5300, EndPos: 5302, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5301, + StartPos: 5300, EndPos: 5302, }, Value: "a", @@ -12985,14 +12986,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5306, + StartPos: 5305, EndPos: 5307, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 280, EndLine: 280, - StartPos: 5306, + StartPos: 5305, EndPos: 5307, }, Value: "b", @@ -13004,28 +13005,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5312, + StartPos: 5311, EndPos: 5319, }, Expr: &binary.Div{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5312, + StartPos: 5311, EndPos: 5318, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5312, + StartPos: 5311, EndPos: 5313, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5312, + StartPos: 5311, EndPos: 5313, }, Value: "a", @@ -13035,14 +13036,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5317, + StartPos: 5316, EndPos: 5318, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 281, EndLine: 281, - StartPos: 5317, + StartPos: 5316, EndPos: 5318, }, Value: "b", @@ -13054,28 +13055,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5323, + StartPos: 5322, EndPos: 5331, }, Expr: &binary.Equal{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5323, + StartPos: 5322, EndPos: 5330, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5323, + StartPos: 5322, EndPos: 5324, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5323, + StartPos: 5322, EndPos: 5324, }, Value: "a", @@ -13085,14 +13086,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5329, + StartPos: 5328, EndPos: 5330, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 282, EndLine: 282, - StartPos: 5329, + StartPos: 5328, EndPos: 5330, }, Value: "b", @@ -13104,28 +13105,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5335, + StartPos: 5334, EndPos: 5343, }, Expr: &binary.GreaterOrEqual{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5335, + StartPos: 5334, EndPos: 5342, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5335, + StartPos: 5334, EndPos: 5336, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5335, + StartPos: 5334, EndPos: 5336, }, Value: "a", @@ -13135,14 +13136,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5341, + StartPos: 5340, EndPos: 5342, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 283, EndLine: 283, - StartPos: 5341, + StartPos: 5340, EndPos: 5342, }, Value: "b", @@ -13154,28 +13155,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5347, + StartPos: 5346, EndPos: 5354, }, Expr: &binary.Greater{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5347, + StartPos: 5346, EndPos: 5353, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5347, + StartPos: 5346, EndPos: 5348, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5347, + StartPos: 5346, EndPos: 5348, }, Value: "a", @@ -13185,14 +13186,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5352, + StartPos: 5351, EndPos: 5353, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 284, EndLine: 284, - StartPos: 5352, + StartPos: 5351, EndPos: 5353, }, Value: "b", @@ -13204,28 +13205,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5358, + StartPos: 5357, EndPos: 5367, }, Expr: &binary.Identical{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5358, + StartPos: 5357, EndPos: 5366, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5358, + StartPos: 5357, EndPos: 5359, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5358, + StartPos: 5357, EndPos: 5359, }, Value: "a", @@ -13235,14 +13236,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5365, + StartPos: 5364, EndPos: 5366, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 285, EndLine: 285, - StartPos: 5365, + StartPos: 5364, EndPos: 5366, }, Value: "b", @@ -13254,28 +13255,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5371, + StartPos: 5370, EndPos: 5380, }, Expr: &binary.LogicalAnd{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5371, + StartPos: 5370, EndPos: 5379, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5371, + StartPos: 5370, EndPos: 5372, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5371, + StartPos: 5370, EndPos: 5372, }, Value: "a", @@ -13285,14 +13286,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5378, + StartPos: 5377, EndPos: 5379, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 286, EndLine: 286, - StartPos: 5378, + StartPos: 5377, EndPos: 5379, }, Value: "b", @@ -13304,28 +13305,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5384, + StartPos: 5383, EndPos: 5392, }, Expr: &binary.LogicalOr{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5384, + StartPos: 5383, EndPos: 5391, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5384, + StartPos: 5383, EndPos: 5385, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5384, + StartPos: 5383, EndPos: 5385, }, Value: "a", @@ -13335,14 +13336,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5390, + StartPos: 5389, EndPos: 5391, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 287, EndLine: 287, - StartPos: 5390, + StartPos: 5389, EndPos: 5391, }, Value: "b", @@ -13354,28 +13355,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5396, + StartPos: 5395, EndPos: 5405, }, Expr: &binary.LogicalXor{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5396, + StartPos: 5395, EndPos: 5404, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5396, + StartPos: 5395, EndPos: 5397, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5396, + StartPos: 5395, EndPos: 5397, }, Value: "a", @@ -13385,14 +13386,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5403, + StartPos: 5402, EndPos: 5404, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 288, EndLine: 288, - StartPos: 5403, + StartPos: 5402, EndPos: 5404, }, Value: "b", @@ -13404,28 +13405,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5409, + StartPos: 5408, EndPos: 5416, }, Expr: &binary.Minus{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5409, + StartPos: 5408, EndPos: 5415, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5409, + StartPos: 5408, EndPos: 5410, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5409, + StartPos: 5408, EndPos: 5410, }, Value: "a", @@ -13435,14 +13436,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5414, + StartPos: 5413, EndPos: 5415, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 289, EndLine: 289, - StartPos: 5414, + StartPos: 5413, EndPos: 5415, }, Value: "b", @@ -13454,28 +13455,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5420, + StartPos: 5419, EndPos: 5427, }, Expr: &binary.Mod{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5420, + StartPos: 5419, EndPos: 5426, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5420, + StartPos: 5419, EndPos: 5421, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5420, + StartPos: 5419, EndPos: 5421, }, Value: "a", @@ -13485,14 +13486,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5425, + StartPos: 5424, EndPos: 5426, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 290, EndLine: 290, - StartPos: 5425, + StartPos: 5424, EndPos: 5426, }, Value: "b", @@ -13504,28 +13505,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5431, + StartPos: 5430, EndPos: 5438, }, Expr: &binary.Mul{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5431, + StartPos: 5430, EndPos: 5437, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5431, + StartPos: 5430, EndPos: 5432, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5431, + StartPos: 5430, EndPos: 5432, }, Value: "a", @@ -13535,14 +13536,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5436, + StartPos: 5435, EndPos: 5437, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 291, EndLine: 291, - StartPos: 5436, + StartPos: 5435, EndPos: 5437, }, Value: "b", @@ -13554,28 +13555,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5442, + StartPos: 5441, EndPos: 5450, }, Expr: &binary.NotEqual{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5442, + StartPos: 5441, EndPos: 5449, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5442, + StartPos: 5441, EndPos: 5443, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5442, + StartPos: 5441, EndPos: 5443, }, Value: "a", @@ -13585,14 +13586,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5448, + StartPos: 5447, EndPos: 5449, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 292, EndLine: 292, - StartPos: 5448, + StartPos: 5447, EndPos: 5449, }, Value: "b", @@ -13604,28 +13605,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5454, + StartPos: 5453, EndPos: 5463, }, Expr: &binary.NotIdentical{ Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5454, + StartPos: 5453, EndPos: 5462, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5454, + StartPos: 5453, EndPos: 5455, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5454, + StartPos: 5453, EndPos: 5455, }, Value: "a", @@ -13635,14 +13636,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5461, + StartPos: 5460, EndPos: 5462, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 293, EndLine: 293, - StartPos: 5461, + StartPos: 5460, EndPos: 5462, }, Value: "b", @@ -13654,28 +13655,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5467, + StartPos: 5466, EndPos: 5474, }, Expr: &binary.Plus{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5467, + StartPos: 5466, EndPos: 5473, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5467, + StartPos: 5466, EndPos: 5468, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5467, + StartPos: 5466, EndPos: 5468, }, Value: "a", @@ -13685,14 +13686,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5472, + StartPos: 5471, EndPos: 5473, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 294, EndLine: 294, - StartPos: 5472, + StartPos: 5471, EndPos: 5473, }, Value: "b", @@ -13704,28 +13705,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5478, + StartPos: 5477, EndPos: 5486, }, Expr: &binary.Pow{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5478, + StartPos: 5477, EndPos: 5485, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5478, + StartPos: 5477, EndPos: 5479, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5478, + StartPos: 5477, EndPos: 5479, }, Value: "a", @@ -13735,14 +13736,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5484, + StartPos: 5483, EndPos: 5485, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 295, EndLine: 295, - StartPos: 5484, + StartPos: 5483, EndPos: 5485, }, Value: "b", @@ -13754,28 +13755,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5490, + StartPos: 5489, EndPos: 5498, }, Expr: &binary.ShiftLeft{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5490, + StartPos: 5489, EndPos: 5497, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5490, + StartPos: 5489, EndPos: 5491, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5490, + StartPos: 5489, EndPos: 5491, }, Value: "a", @@ -13785,14 +13786,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5496, + StartPos: 5495, EndPos: 5497, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 296, EndLine: 296, - StartPos: 5496, + StartPos: 5495, EndPos: 5497, }, Value: "b", @@ -13804,28 +13805,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5502, + StartPos: 5501, EndPos: 5510, }, Expr: &binary.ShiftRight{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5502, + StartPos: 5501, EndPos: 5509, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5502, + StartPos: 5501, EndPos: 5503, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5502, + StartPos: 5501, EndPos: 5503, }, Value: "a", @@ -13835,14 +13836,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5508, + StartPos: 5507, EndPos: 5509, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 297, EndLine: 297, - StartPos: 5508, + StartPos: 5507, EndPos: 5509, }, Value: "b", @@ -13854,28 +13855,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5514, + StartPos: 5513, EndPos: 5522, }, Expr: &binary.SmallerOrEqual{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5514, + StartPos: 5513, EndPos: 5521, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5514, + StartPos: 5513, EndPos: 5515, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5514, + StartPos: 5513, EndPos: 5515, }, Value: "a", @@ -13885,14 +13886,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5520, + StartPos: 5519, EndPos: 5521, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 298, EndLine: 298, - StartPos: 5520, + StartPos: 5519, EndPos: 5521, }, Value: "b", @@ -13904,28 +13905,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5526, + StartPos: 5525, EndPos: 5533, }, Expr: &binary.Smaller{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5526, + StartPos: 5525, EndPos: 5532, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5526, + StartPos: 5525, EndPos: 5527, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5526, + StartPos: 5525, EndPos: 5527, }, Value: "a", @@ -13935,14 +13936,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5531, + StartPos: 5530, EndPos: 5532, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 299, EndLine: 299, - StartPos: 5531, + StartPos: 5530, EndPos: 5532, }, Value: "b", @@ -13954,28 +13955,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5537, + StartPos: 5536, EndPos: 5546, }, Expr: &binary.Spaceship{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5537, + StartPos: 5536, EndPos: 5545, }, Left: &expr.Variable{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5537, + StartPos: 5536, EndPos: 5538, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5537, + StartPos: 5536, EndPos: 5538, }, Value: "a", @@ -13985,14 +13986,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5544, + StartPos: 5543, EndPos: 5545, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 300, EndLine: 300, - StartPos: 5544, + StartPos: 5543, EndPos: 5545, }, Value: "b", @@ -14004,28 +14005,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5551, + StartPos: 5550, EndPos: 5559, }, Expr: &assign.Reference{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5551, + StartPos: 5550, EndPos: 5558, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5551, + StartPos: 5550, EndPos: 5552, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5551, + StartPos: 5550, EndPos: 5552, }, Value: "a", @@ -14035,14 +14036,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5557, + StartPos: 5556, EndPos: 5558, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 302, EndLine: 302, - StartPos: 5557, + StartPos: 5556, EndPos: 5558, }, Value: "b", @@ -14054,28 +14055,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5563, + StartPos: 5562, EndPos: 5570, }, Expr: &assign.Assign{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5563, + StartPos: 5562, EndPos: 5569, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5563, + StartPos: 5562, EndPos: 5564, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5563, + StartPos: 5562, EndPos: 5564, }, Value: "a", @@ -14085,14 +14086,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5568, + StartPos: 5567, EndPos: 5569, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 303, EndLine: 303, - StartPos: 5568, + StartPos: 5567, EndPos: 5569, }, Value: "b", @@ -14104,28 +14105,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5574, + StartPos: 5573, EndPos: 5582, }, Expr: &assign.BitwiseAnd{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5574, + StartPos: 5573, EndPos: 5581, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5574, + StartPos: 5573, EndPos: 5575, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5574, + StartPos: 5573, EndPos: 5575, }, Value: "a", @@ -14135,14 +14136,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5580, + StartPos: 5579, EndPos: 5581, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 304, EndLine: 304, - StartPos: 5580, + StartPos: 5579, EndPos: 5581, }, Value: "b", @@ -14154,28 +14155,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5586, + StartPos: 5585, EndPos: 5594, }, Expr: &assign.BitwiseOr{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5586, + StartPos: 5585, EndPos: 5593, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5586, + StartPos: 5585, EndPos: 5587, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5586, + StartPos: 5585, EndPos: 5587, }, Value: "a", @@ -14185,14 +14186,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5592, + StartPos: 5591, EndPos: 5593, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 305, EndLine: 305, - StartPos: 5592, + StartPos: 5591, EndPos: 5593, }, Value: "b", @@ -14204,28 +14205,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5598, + StartPos: 5597, EndPos: 5606, }, Expr: &assign.BitwiseXor{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5598, + StartPos: 5597, EndPos: 5605, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5598, + StartPos: 5597, EndPos: 5599, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5598, + StartPos: 5597, EndPos: 5599, }, Value: "a", @@ -14235,14 +14236,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5604, + StartPos: 5603, EndPos: 5605, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 306, EndLine: 306, - StartPos: 5604, + StartPos: 5603, EndPos: 5605, }, Value: "b", @@ -14254,28 +14255,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5610, + StartPos: 5609, EndPos: 5618, }, Expr: &assign.Concat{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5610, + StartPos: 5609, EndPos: 5617, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5610, + StartPos: 5609, EndPos: 5611, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5610, + StartPos: 5609, EndPos: 5611, }, Value: "a", @@ -14285,14 +14286,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5616, + StartPos: 5615, EndPos: 5617, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 307, EndLine: 307, - StartPos: 5616, + StartPos: 5615, EndPos: 5617, }, Value: "b", @@ -14304,28 +14305,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5622, + StartPos: 5621, EndPos: 5630, }, Expr: &assign.Div{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5622, + StartPos: 5621, EndPos: 5629, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5622, + StartPos: 5621, EndPos: 5623, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5622, + StartPos: 5621, EndPos: 5623, }, Value: "a", @@ -14335,14 +14336,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5628, + StartPos: 5627, EndPos: 5629, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 308, EndLine: 308, - StartPos: 5628, + StartPos: 5627, EndPos: 5629, }, Value: "b", @@ -14354,28 +14355,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5634, + StartPos: 5633, EndPos: 5642, }, Expr: &assign.Minus{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5634, + StartPos: 5633, EndPos: 5641, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5634, + StartPos: 5633, EndPos: 5635, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5634, + StartPos: 5633, EndPos: 5635, }, Value: "a", @@ -14385,14 +14386,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5641, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 309, EndLine: 309, - StartPos: 5640, + StartPos: 5639, EndPos: 5641, }, Value: "b", @@ -14404,28 +14405,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5646, + StartPos: 5645, EndPos: 5654, }, Expr: &assign.Mod{ Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5646, + StartPos: 5645, EndPos: 5653, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5646, + StartPos: 5645, EndPos: 5647, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5646, + StartPos: 5645, EndPos: 5647, }, Value: "a", @@ -14435,14 +14436,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5652, + StartPos: 5651, EndPos: 5653, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 310, EndLine: 310, - StartPos: 5652, + StartPos: 5651, EndPos: 5653, }, Value: "b", @@ -14454,28 +14455,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5658, + StartPos: 5657, EndPos: 5666, }, Expr: &assign.Mul{ Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5658, + StartPos: 5657, EndPos: 5665, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5658, + StartPos: 5657, EndPos: 5659, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5658, + StartPos: 5657, EndPos: 5659, }, Value: "a", @@ -14485,14 +14486,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5664, + StartPos: 5663, EndPos: 5665, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 311, EndLine: 311, - StartPos: 5664, + StartPos: 5663, EndPos: 5665, }, Value: "b", @@ -14504,28 +14505,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5670, + StartPos: 5669, EndPos: 5678, }, Expr: &assign.Plus{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5670, + StartPos: 5669, EndPos: 5677, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5670, + StartPos: 5669, EndPos: 5671, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5670, + StartPos: 5669, EndPos: 5671, }, Value: "a", @@ -14535,14 +14536,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5676, + StartPos: 5675, EndPos: 5677, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 312, EndLine: 312, - StartPos: 5676, + StartPos: 5675, EndPos: 5677, }, Value: "b", @@ -14554,28 +14555,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5682, + StartPos: 5681, EndPos: 5691, }, Expr: &assign.Pow{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5682, + StartPos: 5681, EndPos: 5690, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5682, + StartPos: 5681, EndPos: 5683, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5682, + StartPos: 5681, EndPos: 5683, }, Value: "a", @@ -14585,14 +14586,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5689, + StartPos: 5688, EndPos: 5690, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 313, EndLine: 313, - StartPos: 5689, + StartPos: 5688, EndPos: 5690, }, Value: "b", @@ -14604,28 +14605,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5695, + StartPos: 5694, EndPos: 5704, }, Expr: &assign.ShiftLeft{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5695, + StartPos: 5694, EndPos: 5703, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5695, + StartPos: 5694, EndPos: 5696, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5695, + StartPos: 5694, EndPos: 5696, }, Value: "a", @@ -14635,14 +14636,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5702, + StartPos: 5701, EndPos: 5703, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 314, EndLine: 314, - StartPos: 5702, + StartPos: 5701, EndPos: 5703, }, Value: "b", @@ -14654,28 +14655,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5708, + StartPos: 5707, EndPos: 5717, }, Expr: &assign.ShiftRight{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5708, + StartPos: 5707, EndPos: 5716, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5708, + StartPos: 5707, EndPos: 5709, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5708, + StartPos: 5707, EndPos: 5709, }, Value: "a", @@ -14685,14 +14686,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5715, + StartPos: 5714, EndPos: 5716, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 315, EndLine: 315, - StartPos: 5715, + StartPos: 5714, EndPos: 5716, }, Value: "b", @@ -14704,7 +14705,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5722, + StartPos: 5721, EndPos: 5760, }, PhpDocComment: "", @@ -14712,7 +14713,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5728, + StartPos: 5727, EndPos: 5730, }, Value: "foo", @@ -14722,7 +14723,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5733, + StartPos: 5732, EndPos: 5758, }, ReturnsRef: false, @@ -14731,7 +14732,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5749, + StartPos: 5748, EndPos: 5753, }, Value: "class", @@ -14741,7 +14742,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5733, + StartPos: 5732, EndPos: 5738, }, Value: "public", @@ -14751,7 +14752,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 317, EndLine: 317, - StartPos: 5757, + StartPos: 5756, EndPos: 5758, }, Stmts: []node.Node{}, @@ -14763,21 +14764,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5764, + StartPos: 5763, EndPos: 5774, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5764, + StartPos: 5763, EndPos: 5773, }, Function: &name.FullyQualified{ Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5764, + StartPos: 5763, EndPos: 5771, }, Parts: []node.Node{ @@ -14785,7 +14786,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5765, + StartPos: 5764, EndPos: 5767, }, Value: "foo", @@ -14794,7 +14795,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5769, + StartPos: 5768, EndPos: 5771, }, Value: "bar", @@ -14805,7 +14806,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 318, EndLine: 318, - StartPos: 5772, + StartPos: 5771, EndPos: 5773, }, }, @@ -14815,16 +14816,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 326, - StartPos: 5779, + StartPos: 5778, EndPos: 5905, }, - ReturnsRef: false, PhpDocComment: "", + ReturnsRef: false, FunctionName: &node.Identifier{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5788, + StartPos: 5787, EndPos: 5790, }, Value: "foo", @@ -14834,7 +14835,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5792, + StartPos: 5791, EndPos: 5794, }, ByRef: true, @@ -14843,14 +14844,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5793, + StartPos: 5792, EndPos: 5794, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5793, + StartPos: 5792, EndPos: 5794, }, Value: "a", @@ -14861,23 +14862,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5797, + StartPos: 5796, EndPos: 5801, }, - Variadic: true, ByRef: false, + Variadic: true, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5800, + StartPos: 5799, EndPos: 5801, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 320, EndLine: 320, - StartPos: 5800, + StartPos: 5799, EndPos: 5801, }, Value: "b", @@ -14886,19 +14887,11 @@ func TestPhp7(t *testing.T) { }, }, Stmts: []node.Node{ - &stmt.HaltCompiler{ - Position: &position.Position{ - StartLine: 321, - EndLine: 321, - StartPos: 5809, - EndPos: 5826, - }, - }, &stmt.Function{ Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5831, + StartPos: 5830, EndPos: 5847, }, ReturnsRef: false, @@ -14907,7 +14900,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 322, EndLine: 322, - StartPos: 5840, + StartPos: 5839, EndPos: 5842, }, Value: "bar", @@ -14918,7 +14911,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5852, + StartPos: 5851, EndPos: 5863, }, PhpDocComment: "", @@ -14926,7 +14919,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 323, EndLine: 323, - StartPos: 5858, + StartPos: 5857, EndPos: 5860, }, Value: "Baz", @@ -14937,7 +14930,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5868, + StartPos: 5867, EndPos: 5879, }, PhpDocComment: "", @@ -14945,7 +14938,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 324, EndLine: 324, - StartPos: 5874, + StartPos: 5873, EndPos: 5877, }, Value: "Quux", @@ -14956,7 +14949,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5884, + StartPos: 5883, EndPos: 5901, }, PhpDocComment: "", @@ -14964,7 +14957,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 325, EndLine: 325, - StartPos: 5894, + StartPos: 5893, EndPos: 5898, }, Value: "Quuux", @@ -14977,7 +14970,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5912, + StartPos: 5911, EndPos: 5954, }, ReturnsRef: false, @@ -14986,7 +14979,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5921, + StartPos: 5920, EndPos: 5923, }, Value: "foo", @@ -14996,7 +14989,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5925, + StartPos: 5924, EndPos: 5931, }, ByRef: true, @@ -15005,14 +14998,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5926, + StartPos: 5925, EndPos: 5927, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5926, + StartPos: 5925, EndPos: 5927, }, Value: "a", @@ -15022,7 +15015,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5931, + StartPos: 5930, EndPos: 5931, }, Value: "1", @@ -15032,7 +15025,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5934, + StartPos: 5933, EndPos: 5942, }, ByRef: false, @@ -15041,14 +15034,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5937, + StartPos: 5936, EndPos: 5938, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5937, + StartPos: 5936, EndPos: 5938, }, Value: "b", @@ -15058,7 +15051,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5942, + StartPos: 5941, EndPos: 5942, }, Value: "1", @@ -15068,23 +15061,23 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5945, + StartPos: 5944, EndPos: 5950, }, - Variadic: false, ByRef: false, + Variadic: false, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5945, + StartPos: 5944, EndPos: 5946, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5945, + StartPos: 5944, EndPos: 5946, }, Value: "c", @@ -15094,7 +15087,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 328, EndLine: 328, - StartPos: 5950, + StartPos: 5949, EndPos: 5950, }, Value: "1", @@ -15107,7 +15100,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5958, + StartPos: 5957, EndPos: 5995, }, PhpDocComment: "", @@ -15116,7 +15109,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5967, + StartPos: 5966, EndPos: 5969, }, Value: "foo", @@ -15126,7 +15119,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5971, + StartPos: 5970, EndPos: 5978, }, ByRef: false, @@ -15135,7 +15128,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5971, + StartPos: 5970, EndPos: 5975, }, Value: "array", @@ -15144,14 +15137,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5977, + StartPos: 5976, EndPos: 5978, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5977, + StartPos: 5976, EndPos: 5978, }, Value: "a", @@ -15162,16 +15155,16 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5981, + StartPos: 5980, EndPos: 5991, }, - ByRef: false, Variadic: false, + ByRef: false, VariableType: &node.Identifier{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5981, + StartPos: 5980, EndPos: 5988, }, Value: "callable", @@ -15180,14 +15173,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5990, + StartPos: 5989, EndPos: 5991, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 329, EndLine: 329, - StartPos: 5990, + StartPos: 5989, EndPos: 5991, }, Value: "b", @@ -15201,7 +15194,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5999, + StartPos: 5998, EndPos: 6100, }, PhpDocComment: "", @@ -15209,7 +15202,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6020, + StartPos: 6019, EndPos: 6022, }, Value: "foo", @@ -15219,7 +15212,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 5999, + StartPos: 5998, EndPos: 6006, }, Value: "abstract", @@ -15228,7 +15221,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6008, + StartPos: 6007, EndPos: 6012, }, Value: "final", @@ -15239,7 +15232,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6026, + StartPos: 6025, EndPos: 6066, }, ReturnsRef: false, @@ -15248,7 +15241,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6061, + StartPos: 6060, EndPos: 6063, }, Value: "bar", @@ -15258,7 +15251,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6026, + StartPos: 6025, EndPos: 6033, }, Value: "abstract", @@ -15267,7 +15260,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6035, + StartPos: 6034, EndPos: 6043, }, Value: "protected", @@ -15276,7 +15269,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6045, + StartPos: 6044, EndPos: 6050, }, Value: "static", @@ -15286,7 +15279,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6066, + StartPos: 6065, EndPos: 6066, }, }, @@ -15295,7 +15288,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6068, + StartPos: 6067, EndPos: 6098, }, ReturnsRef: false, @@ -15304,7 +15297,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6091, + StartPos: 6090, EndPos: 6093, }, Value: "baz", @@ -15314,7 +15307,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6068, + StartPos: 6067, EndPos: 6072, }, Value: "final", @@ -15323,7 +15316,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6074, + StartPos: 6073, EndPos: 6080, }, Value: "private", @@ -15333,7 +15326,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 330, EndLine: 330, - StartPos: 6097, + StartPos: 6096, EndPos: 6098, }, Stmts: []node.Node{}, @@ -15345,28 +15338,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6106, + StartPos: 6105, EndPos: 6119, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6106, + StartPos: 6105, EndPos: 6118, }, Variable: &expr.New{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6106, + StartPos: 6105, EndPos: 6112, }, Class: &name.Name{ Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6110, + StartPos: 6109, EndPos: 6112, }, Parts: []node.Node{ @@ -15374,7 +15367,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6110, + StartPos: 6109, EndPos: 6112, }, Value: "Foo", @@ -15386,7 +15379,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 332, EndLine: 332, - StartPos: 6116, + StartPos: 6115, EndPos: 6118, }, Value: "bar", @@ -15397,28 +15390,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6124, + StartPos: 6123, EndPos: 6134, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6124, + StartPos: 6123, EndPos: 6133, }, Function: &expr.New{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6124, + StartPos: 6123, EndPos: 6130, }, Class: &name.Name{ Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6128, + StartPos: 6127, EndPos: 6130, }, Parts: []node.Node{ @@ -15426,7 +15419,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6128, + StartPos: 6127, EndPos: 6130, }, Value: "Foo", @@ -15438,7 +15431,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 333, EndLine: 333, - StartPos: 6132, + StartPos: 6131, EndPos: 6133, }, }, @@ -15448,28 +15441,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6138, + StartPos: 6137, EndPos: 6149, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6138, + StartPos: 6137, EndPos: 6148, }, Function: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6138, + StartPos: 6137, EndPos: 6146, }, Variable: &expr.ShortArray{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6138, + StartPos: 6137, EndPos: 6143, }, Items: []node.Node{ @@ -15477,21 +15470,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6139, + StartPos: 6138, EndPos: 6142, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6139, + StartPos: 6138, EndPos: 6142, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6139, + StartPos: 6138, EndPos: 6142, }, Value: "foo", @@ -15504,7 +15497,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6145, + StartPos: 6144, EndPos: 6145, }, Value: "0", @@ -15514,7 +15507,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 334, EndLine: 334, - StartPos: 6147, + StartPos: 6146, EndPos: 6148, }, }, @@ -15524,35 +15517,35 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6161, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6160, }, Function: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6158, }, Variable: &expr.ConstFetch{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6155, }, Constant: &name.Name{ Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6155, }, Parts: []node.Node{ @@ -15560,7 +15553,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6153, + StartPos: 6152, EndPos: 6155, }, Value: "foo", @@ -15572,7 +15565,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6157, + StartPos: 6156, EndPos: 6157, }, Value: "1", @@ -15582,7 +15575,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 335, EndLine: 335, - StartPos: 6159, + StartPos: 6158, EndPos: 6160, }, }, @@ -15592,21 +15585,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6165, + StartPos: 6164, EndPos: 6172, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6165, + StartPos: 6164, EndPos: 6171, }, Function: &scalar.String{ Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6165, + StartPos: 6164, EndPos: 6169, }, Value: "\"foo\"", @@ -15615,7 +15608,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 336, EndLine: 336, - StartPos: 6170, + StartPos: 6169, EndPos: 6171, }, }, @@ -15625,28 +15618,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6176, + StartPos: 6175, EndPos: 6187, }, Expr: &expr.FunctionCall{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6176, + StartPos: 6175, EndPos: 6186, }, Function: &expr.ArrayDimFetch{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6176, + StartPos: 6175, EndPos: 6184, }, Variable: &expr.ShortArray{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6176, + StartPos: 6175, EndPos: 6178, }, Items: []node.Node{ @@ -15654,14 +15647,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6177, + StartPos: 6176, EndPos: 6177, }, Val: &scalar.Lnumber{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6177, + StartPos: 6176, EndPos: 6177, }, Value: "1", @@ -15673,14 +15666,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6180, + StartPos: 6179, EndPos: 6183, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6180, + StartPos: 6179, EndPos: 6183, }, Value: "foo", @@ -15691,7 +15684,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 337, EndLine: 337, - StartPos: 6185, + StartPos: 6184, EndPos: 6186, }, }, @@ -15701,28 +15694,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6191, + StartPos: 6190, EndPos: 6199, }, Expr: &expr.Variable{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6191, + StartPos: 6190, EndPos: 6198, }, VarName: &expr.FunctionCall{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6193, + StartPos: 6192, EndPos: 6197, }, Function: &name.Name{ Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6193, + StartPos: 6192, EndPos: 6195, }, Parts: []node.Node{ @@ -15730,7 +15723,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6193, + StartPos: 6192, EndPos: 6195, }, Value: "foo", @@ -15741,7 +15734,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 338, EndLine: 338, - StartPos: 6196, + StartPos: 6195, EndPos: 6197, }, }, @@ -15752,21 +15745,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6204, + StartPos: 6203, EndPos: 6215, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6204, + StartPos: 6203, EndPos: 6214, }, Class: &name.Name{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6204, + StartPos: 6203, EndPos: 6206, }, Parts: []node.Node{ @@ -15774,7 +15767,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6204, + StartPos: 6203, EndPos: 6206, }, Value: "Foo", @@ -15785,14 +15778,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6209, + StartPos: 6208, EndPos: 6212, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6209, + StartPos: 6208, EndPos: 6212, }, Value: "bar", @@ -15802,7 +15795,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 340, EndLine: 340, - StartPos: 6213, + StartPos: 6212, EndPos: 6214, }, }, @@ -15812,21 +15805,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6219, + StartPos: 6218, EndPos: 6235, }, Expr: &expr.StaticCall{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6219, + StartPos: 6218, EndPos: 6234, }, Class: &name.Name{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6219, + StartPos: 6218, EndPos: 6221, }, Parts: []node.Node{ @@ -15834,7 +15827,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6219, + StartPos: 6218, EndPos: 6221, }, Value: "Foo", @@ -15845,21 +15838,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6225, + StartPos: 6224, EndPos: 6231, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6225, + StartPos: 6224, EndPos: 6228, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6225, + StartPos: 6224, EndPos: 6228, }, Value: "bar", @@ -15869,7 +15862,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6230, + StartPos: 6229, EndPos: 6230, }, Value: "0", @@ -15879,7 +15872,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 341, EndLine: 341, - StartPos: 6233, + StartPos: 6232, EndPos: 6234, }, }, @@ -15889,28 +15882,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6242, + StartPos: 6241, EndPos: 6252, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6242, + StartPos: 6241, EndPos: 6251, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6242, + StartPos: 6241, EndPos: 6245, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6242, + StartPos: 6241, EndPos: 6245, }, Value: "foo", @@ -15920,14 +15913,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6248, + StartPos: 6247, EndPos: 6251, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 343, EndLine: 343, - StartPos: 6248, + StartPos: 6247, EndPos: 6251, }, Value: "bar", @@ -15939,28 +15932,28 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6256, + StartPos: 6255, EndPos: 6271, }, Expr: &expr.PropertyFetch{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6256, + StartPos: 6255, EndPos: 6269, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6256, + StartPos: 6255, EndPos: 6259, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6256, + StartPos: 6255, EndPos: 6259, }, Value: "foo", @@ -15970,21 +15963,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6263, + StartPos: 6262, EndPos: 6269, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6263, + StartPos: 6262, EndPos: 6266, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6263, + StartPos: 6262, EndPos: 6266, }, Value: "bar", @@ -15994,7 +15987,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 344, EndLine: 344, - StartPos: 6268, + StartPos: 6267, EndPos: 6268, }, Value: "0", @@ -16006,14 +15999,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6276, + StartPos: 6275, EndPos: 6297, }, Expr: &expr.ShortArray{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6276, + StartPos: 6275, EndPos: 6296, }, Items: []node.Node{ @@ -16021,14 +16014,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6277, + StartPos: 6276, EndPos: 6282, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6277, + StartPos: 6276, EndPos: 6277, }, Value: "1", @@ -16037,21 +16030,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6280, + StartPos: 6279, EndPos: 6282, }, Variable: &expr.Variable{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6281, + StartPos: 6280, EndPos: 6282, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6281, + StartPos: 6280, EndPos: 6282, }, Value: "a", @@ -16063,14 +16056,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6285, + StartPos: 6284, EndPos: 6295, }, Key: &scalar.Lnumber{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6285, + StartPos: 6284, EndPos: 6285, }, Value: "2", @@ -16079,7 +16072,7 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6288, + StartPos: 6287, EndPos: 6295, }, Items: []node.Node{ @@ -16087,21 +16080,21 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6293, + StartPos: 6292, EndPos: 6294, }, Val: &expr.Variable{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6293, + StartPos: 6292, EndPos: 6294, }, VarName: &node.Identifier{ Position: &position.Position{ StartLine: 346, EndLine: 346, - StartPos: 6293, + StartPos: 6292, EndPos: 6294, }, Value: "b", @@ -16118,14 +16111,14 @@ func TestPhp7(t *testing.T) { Position: &position.Position{ StartLine: 348, EndLine: 348, - StartPos: 6302, + StartPos: 6301, EndPos: 6319, }, }, }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -16148,7 +16141,7 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 10, - StartPos: 6, + StartPos: 5, EndPos: 70, }, Stmts: []node.Node{ @@ -16156,14 +16149,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 12, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 2, EndLine: 2, - StartPos: 6, + StartPos: 5, EndPos: 11, }, Value: "\"test\"", @@ -16173,14 +16166,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 16, + StartPos: 15, EndPos: 24, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 3, EndLine: 3, - StartPos: 16, + StartPos: 15, EndPos: 23, }, Value: "\"\\$test\"", @@ -16190,14 +16183,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 4, EndLine: 6, - StartPos: 28, + StartPos: 27, EndPos: 41, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 4, EndLine: 6, - StartPos: 28, + StartPos: 27, EndPos: 40, }, Value: "\"\n\t\t\ttest\n\t\t\"", @@ -16207,14 +16200,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 45, + StartPos: 44, EndPos: 52, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 7, EndLine: 7, - StartPos: 45, + StartPos: 44, EndPos: 51, }, Value: "'$test'", @@ -16224,14 +16217,14 @@ func TestPhp5Strings(t *testing.T) { Position: &position.Position{ StartLine: 8, EndLine: 10, - StartPos: 56, + StartPos: 55, EndPos: 70, }, Expr: &scalar.String{ Position: &position.Position{ StartLine: 8, EndLine: 10, - StartPos: 56, + StartPos: 55, EndPos: 69, }, Value: "'\n\t\t\t$test\n\t\t'", @@ -16240,7 +16233,7 @@ func TestPhp5Strings(t *testing.T) { }, } - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.Parse() actual := php7parser.GetRootNode() assert.DeepEqual(t, expected, actual) @@ -16268,7 +16261,7 @@ CAD; Position: &position.Position{ StartLine: 2, EndLine: 15, - StartPos: 9, + StartPos: 5, EndPos: 120, }, Stmts: []node.Node{ @@ -16276,43 +16269,43 @@ CAD; Position: &position.Position{ StartLine: 2, EndLine: 3, - StartPos: 9, + StartPos: 5, EndPos: 16, }, Expr: &scalar.Heredoc{ Position: &position.Position{ StartLine: 2, EndLine: 3, - StartPos: 9, + StartPos: 5, EndPos: 15, }, - Label: "CAD", + Label: "<<HTML"}, &stmt.Expression{ Expr: &scalar.Heredoc{ - Label: "\"LBL\"", + Label: "<<<\"LBL\"\n", Parts: []node.Node{ &scalar.EncapsedStringPart{Value: "hello world\n"}, }, @@ -356,7 +356,7 @@ func TestPrintScalarHeredoc(t *testing.T) { p := printer.NewPrettyPrinter(o, " ") p.Print(&scalar.Heredoc{ - Label: "LBL", + Label: "<<= 0 && r < 0x80 { // Keep ASCII as it is. - return int(r) - } - if unicode.IsLetter(r) { - return classUnicodeLeter - } - if unicode.IsDigit(r) { - return classUnicodeDigit - } - if unicode.IsGraphic(r) { - return classUnicodeGraphic - } - if r == lex.RuneEOF { - return int(r) - } - return classOther +func (l *Lexer) ReturnTokenToPool(t *Token) { + l.TokenPool.Put(t) } -// NewLexer the Lexer constructor -func NewLexer(src io.Reader, fName string) *Lexer { - file := t.NewFileSet().AddFile(fName, -1, 1<<31-3) - lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(Rune2Class)) - if err != nil { - panic(err) - } - - return &Lexer{ - Lexer: lx, - StateStack: []int{0}, - PhpDocComment: "", - FreeFloating: nil, - heredocLabel: "", - tokenBytesBuf: &bytes.Buffer{}, - TokenPool: &TokenPool{}, - } +func (l *Lexer) GetPhpDocComment() string { + return l.PhpDocComment } -func (l *Lexer) Error(msg string) { - chars := l.Token() - firstChar := chars[0] - lastChar := chars[len(chars)-1] - - pos := position.NewPosition( - l.File.Line(firstChar.Pos()), - l.File.Line(lastChar.Pos()), - int(firstChar.Pos()), - int(lastChar.Pos()), - ) - - l.Errors = append(l.Errors, errors.NewError(msg, pos)) +func (l *Lexer) SetPhpDocComment(s string) { + l.PhpDocComment = s } -func (l *Lexer) ungetChars(n int) []lex.Char { - l.Unget(l.Lookahead()) - - chars := l.Token() - - for i := 1; i <= n; i++ { - char := chars[len(chars)-i] - l.Unget(char) - } - - buf := l.Token() - buf = buf[:len(buf)-n] - - return buf +func (l *Lexer) GetErrors() []*errors.Error { + return l.Errors } -func (l *Lexer) pushState(state int) { - l.StateStack = append(l.StateStack, state) +func (l *Lexer) GetWithFreeFloating() bool { + return l.WithFreeFloating } -func (l *Lexer) popState() { - len := len(l.StateStack) - if len <= 1 { - return - } - - l.StateStack = l.StateStack[:len-1] +func (l *Lexer) SetWithFreeFloating(b bool) { + l.WithFreeFloating = b } -func (l *Lexer) Begin(state int) { - len := len(l.StateStack) - l.StateStack = l.StateStack[:len-1] - l.StateStack = append(l.StateStack, state) +func (l *Lexer) AddError(e *errors.Error) { + l.Errors = append(l.Errors, e) } -func (l *Lexer) getCurrentState() int { - return l.StateStack[len(l.StateStack)-1] +func (l *Lexer) SetErrors(e []*errors.Error) { + l.Errors = e } -func (l *Lexer) createToken(chars []lex.Char) *Token { - firstChar := chars[0] - lastChar := chars[len(chars)-1] +func (lex *Lexer) createToken(lval Lval) *Token { + token := lex.TokenPool.Get() + token.FreeFloating = lex.FreeFloating + token.Value = string(lex.data[lex.ts:lex.te]) - token := l.TokenPool.Get() - token.FreeFloating = l.FreeFloating - token.Value = l.tokenString(chars) - - // fmt.Println(l.tokenString(chars)) - - token.StartLine = l.File.Line(firstChar.Pos()) - token.EndLine = l.File.Line(lastChar.Pos()) - token.StartPos = int(firstChar.Pos()) - token.EndPos = int(lastChar.Pos()) + token.StartLine = lex.NewLines.GetLine(lex.ts) + token.EndLine = lex.NewLines.GetLine(lex.te - 1) + token.StartPos = lex.ts + token.EndPos = lex.te + lval.Token(token) return token } -func (l *Lexer) tokenString(chars []lex.Char) string { - l.tokenBytesBuf.Reset() - - for _, c := range chars { - l.tokenBytesBuf.WriteRune(c.Rune) - } - - return string(l.tokenBytesBuf.Bytes()) -} - -// free-floating - -func (l *Lexer) addFreeFloating(t freefloating.StringType, chars []lex.Char) { - if !l.WithFreeFloating { +func (lex *Lexer) addFreeFloating(t freefloating.StringType, ps, pe int) { + if !lex.WithFreeFloating { return } - firstChar := chars[0] - lastChar := chars[len(chars)-1] - pos := position.NewPosition( - l.File.Line(firstChar.Pos()), - l.File.Line(lastChar.Pos()), - int(firstChar.Pos()), - int(lastChar.Pos()), + lex.NewLines.GetLine(lex.ts), + lex.NewLines.GetLine(lex.te-1), + lex.ts, + lex.te, ) - l.FreeFloating = append(l.FreeFloating, freefloating.String{ + lex.FreeFloating = append(lex.FreeFloating, freefloating.String{ StringType: t, - Value: l.tokenString(chars), + Value: string(lex.data[ps:pe]), Position: pos, }) } + +func (lex *Lexer) isNotStringVar() bool { + p := lex.p + if lex.data[p-1] == '\\' && lex.data[p-2] != '\\' { + return true + } + + if len(lex.data) < p+1 { + return true + } + + if lex.data[p] == '$' && (lex.data[p+1] == '{' || isValidVarNameStart(lex.data[p+1])) { + return false + } + + if lex.data[p] == '{' && lex.data[p+1] == '$' { + return false + } + + return true +} + +func (lex *Lexer) isNotStringEnd(s byte) bool { + p := lex.p + if lex.data[p-1] == '\\' && lex.data[p-2] != '\\' { + return true + } + + return !(lex.data[p] == s) +} + +func (lex *Lexer) isHeredocEnd(p int) bool { + if lex.data[p-1] != '\r' && lex.data[p-1] != '\n' { + return false + } + + l := len(lex.heredocLabel) + if len(lex.data) < p+l { + return false + } + + if len(lex.data) > p+l && lex.data[p+l] != ';' && lex.data[p+l] != '\r' && lex.data[p+l] != '\n' { + return false + } + + if len(lex.data) > p+l+1 && lex.data[p+l] == ';' && lex.data[p+l+1] != '\r' && lex.data[p+l+1] != '\n' { + return false + } + + return bytes.Equal(lex.heredocLabel, lex.data[p:p+l]) +} + +func (lex *Lexer) isNotHeredocEnd(p int) bool { + return !lex.isHeredocEnd(p) +} + +func (lex *Lexer) growCallStack() { + if lex.top == len(lex.stack) { + lex.stack = append(lex.stack, 0) + } +} + +func (lex *Lexer) isNotPhpCloseToken() bool { + if lex.p+1 == len(lex.data) { + return true + } + + return lex.data[lex.p] != '?' || lex.data[lex.p+1] != '>' +} + +func (lex *Lexer) isNotNewLine() bool { + if lex.data[lex.p] == '\n' && lex.data[lex.p-1] == '\r' { + return true + } + + return lex.data[lex.p-1] != '\n' && lex.data[lex.p-1] != '\r' +} + +func (lex *Lexer) call(state int, fnext int) { + lex.growCallStack() + + lex.stack[lex.top] = state + lex.top++ + + lex.p++ + lex.cs = fnext +} + +func (lex *Lexer) ret(n int) { + lex.top = lex.top - n + if lex.top < 0 { + lex.top = 0 + } + lex.cs = lex.stack[lex.top] + lex.p++ +} + +func (lex *Lexer) ungetStr(s string) { + tokenStr := string(lex.data[lex.ts:lex.te]) + if strings.HasSuffix(tokenStr, s) { + lex.ungetCnt(len(s)) + } +} + +func (lex *Lexer) ungetCnt(n int) { + lex.p = lex.p - n + lex.te = lex.te - n +} + +func (lex *Lexer) Error(msg string) { + pos := position.NewPosition( + lex.NewLines.GetLine(lex.ts), + lex.NewLines.GetLine(lex.te-1), + lex.ts, + lex.te, + ) + + lex.Errors = append(lex.Errors, errors.NewError(msg, pos)) +} + +func isValidVarNameStart(r byte) bool { + return r >= 'A' && r <= 'Z' || r == '_' || r >= 'a' && r <= 'z' || r >= '\u007f' && r <= 'ÿ' +} diff --git a/scanner/lexer_tokens.go b/scanner/lexer_tokens.go index 82b7633..97d8c11 100644 --- a/scanner/lexer_tokens.go +++ b/scanner/lexer_tokens.go @@ -1,10 +1,10 @@ package scanner -type LexerToken int +type TokenID int -//go:generate stringer -type=LexerToken -output ./lexer_tokens_string.go +//go:generate stringer -type=TokenID -output ./tokenid_string.go const ( - T_INCLUDE LexerToken = iota + 57346 + T_INCLUDE TokenID = iota + 57346 T_INCLUDE_ONCE T_EXIT T_IF diff --git a/scanner/lexer_tokens_string.go b/scanner/lexer_tokens_string.go deleted file mode 100644 index 02e938f..0000000 --- a/scanner/lexer_tokens_string.go +++ /dev/null @@ -1,17 +0,0 @@ -// Code generated by "stringer -type=LexerToken -output ./lexer_tokens_string.go"; DO NOT EDIT. - -package scanner - -import "strconv" - -const _LexerToken_name = "T_INCLUDET_INCLUDE_ONCET_EXITT_IFT_LNUMBERT_DNUMBERT_STRINGT_STRING_VARNAMET_VARIABLET_NUM_STRINGT_INLINE_HTMLT_CHARACTERT_BAD_CHARACTERT_ENCAPSED_AND_WHITESPACET_CONSTANT_ENCAPSED_STRINGT_ECHOT_DOT_WHILET_ENDWHILET_FORT_ENDFORT_FOREACHT_ENDFOREACHT_DECLARET_ENDDECLARET_AST_SWITCHT_ENDSWITCHT_CASET_DEFAULTT_BREAKT_CONTINUET_GOTOT_FUNCTIONT_CONSTT_RETURNT_TRYT_CATCHT_FINALLYT_THROWT_USET_INSTEADOFT_GLOBALT_VART_UNSETT_ISSETT_EMPTYT_HALT_COMPILERT_CLASST_TRAITT_INTERFACET_EXTENDST_IMPLEMENTST_OBJECT_OPERATORT_DOUBLE_ARROWT_LISTT_ARRAYT_CALLABLET_CLASS_CT_TRAIT_CT_METHOD_CT_FUNC_CT_LINET_FILET_COMMENTT_DOC_COMMENTT_OPEN_TAGT_OPEN_TAG_WITH_ECHOT_CLOSE_TAGT_WHITESPACET_START_HEREDOCT_END_HEREDOCT_DOLLAR_OPEN_CURLY_BRACEST_CURLY_OPENT_PAAMAYIM_NEKUDOTAYIMT_NAMESPACET_NS_CT_DIRT_NS_SEPARATORT_ELLIPSIST_EVALT_REQUIRET_REQUIRE_ONCET_LOGICAL_ORT_LOGICAL_XORT_LOGICAL_ANDT_INSTANCEOFT_NEWT_CLONET_ELSEIFT_ELSET_ENDIFT_PRINTT_YIELDT_STATICT_ABSTRACTT_FINALT_PRIVATET_PROTECTEDT_PUBLICT_INCT_DECT_YIELD_FROMT_INT_CASTT_DOUBLE_CASTT_STRING_CASTT_ARRAY_CASTT_OBJECT_CASTT_BOOL_CASTT_UNSET_CASTT_COALESCET_SPACESHIPT_NOELSET_PLUS_EQUALT_MINUS_EQUALT_MUL_EQUALT_POW_EQUALT_DIV_EQUALT_CONCAT_EQUALT_MOD_EQUALT_AND_EQUALT_OR_EQUALT_XOR_EQUALT_SL_EQUALT_SR_EQUALT_BOOLEAN_ORT_BOOLEAN_ANDT_POWT_SLT_SRT_IS_IDENTICALT_IS_NOT_IDENTICALT_IS_EQUALT_IS_NOT_EQUALT_IS_SMALLER_OR_EQUALT_IS_GREATER_OR_EQUAL" - -var _LexerToken_index = [...]uint16{0, 9, 23, 29, 33, 42, 51, 59, 75, 85, 97, 110, 121, 136, 161, 187, 193, 197, 204, 214, 219, 227, 236, 248, 257, 269, 273, 281, 292, 298, 307, 314, 324, 330, 340, 347, 355, 360, 367, 376, 383, 388, 399, 407, 412, 419, 426, 433, 448, 455, 462, 473, 482, 494, 511, 525, 531, 538, 548, 557, 566, 576, 584, 590, 596, 605, 618, 628, 648, 659, 671, 686, 699, 725, 737, 759, 770, 776, 781, 795, 805, 811, 820, 834, 846, 859, 872, 884, 889, 896, 904, 910, 917, 924, 931, 939, 949, 956, 965, 976, 984, 989, 994, 1006, 1016, 1029, 1042, 1054, 1067, 1078, 1090, 1100, 1111, 1119, 1131, 1144, 1155, 1166, 1177, 1191, 1202, 1213, 1223, 1234, 1244, 1254, 1266, 1279, 1284, 1288, 1292, 1306, 1324, 1334, 1348, 1369, 1390} - -func (i LexerToken) String() string { - i -= 57346 - if i < 0 || i >= LexerToken(len(_LexerToken_index)-1) { - return "LexerToken(" + strconv.FormatInt(int64(i+57346), 10) + ")" - } - return _LexerToken_name[_LexerToken_index[i]:_LexerToken_index[i+1]] -} diff --git a/scanner/newline.go b/scanner/newline.go new file mode 100644 index 0000000..c95830c --- /dev/null +++ b/scanner/newline.go @@ -0,0 +1,25 @@ +package scanner + +type NewLines struct { + data []int +} + +func (nl *NewLines) Append(p int) { + if len(nl.data) == 0 || nl.data[len(nl.data)-1] < p { + nl.data = append(nl.data, p) + } +} + +func (nl *NewLines) GetLine(p int) int { + line := len(nl.data) + 1 + + for i := len(nl.data) - 1; i >= 0; i-- { + if p < nl.data[i] { + line = i + 1 + } else { + break + } + } + + return line +} diff --git a/scanner/scanner.go b/scanner/scanner.go index b9a5ae4..320fbfa 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -1,9050 +1,21183 @@ -// Code generated by golex. DO NOT EDIT. - -// Copyright (c) 2011 CZ.NIC z.s.p.o. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// blame: jnml, labs.nic.cz - +//line scanner/scanner.rl:1 package scanner import ( "fmt" - "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/freefloating" ) -const ( - INITIAL = iota - PHP - STRING - STRING_VAR - STRING_VAR_INDEX - STRING_VAR_NAME - PROPERTY - HEREDOC_END - NOWDOC - HEREDOC - BACKQUOTE - HALT_COMPILER -) +//line scanner/scanner.go:13 +const lexer_start int = 111 +const lexer_first_final int = 111 +const lexer_error int = 0 -func isValidFirstVarNameRune(r rune) bool { - return r >= 'A' && r <= 'Z' || r == '_' || r >= 'a' && r <= 'z' || r >= '\u007f' && r <= 'ÿ' +const lexer_en_main int = 111 +const lexer_en_php int = 118 +const lexer_en_property int = 466 +const lexer_en_nowdoc int = 472 +const lexer_en_heredoc int = 475 +const lexer_en_backqote int = 481 +const lexer_en_template_string int = 487 +const lexer_en_heredoc_end int = 493 +const lexer_en_string_var int = 495 +const lexer_en_string_var_index int = 500 +const lexer_en_string_var_name int = 511 +const lexer_en_halt_compiller_open_parenthesis int = 513 +const lexer_en_halt_compiller_close_parenthesis int = 517 +const lexer_en_halt_compiller_close_semicolon int = 521 +const lexer_en_halt_compiller_end int = 525 + +//line scanner/scanner.rl:15 + +func NewLexer(data []byte) *Lexer { + lex := &Lexer{ + data: data, + pe: len(data), + stack: make([]int, 0), + + TokenPool: &TokenPool{}, + NewLines: NewLines{make([]int, 0, 128)}, + } + +//line scanner/scanner.go:48 + { + lex.cs = lexer_start + lex.top = 0 + lex.ts = 0 + lex.te = 0 + lex.act = 0 + } + +//line scanner/scanner.rl:27 + return lex } -func (l *Lexer) Lex(lval Lval) int { - l.FreeFloating = nil - c := l.Enter() +func (lex *Lexer) Lex(lval Lval) int { + lex.FreeFloating = nil + eof := lex.pe + var tok TokenID -yystate0: - yyrule := -1 - _ = yyrule - c = l.Rule0() + lblStart := 0 + lblEnd := 0 - switch yyt := l.getCurrentState(); yyt { - default: - panic(fmt.Errorf(`invalid start condition %d`, yyt)) - case 0: // start condition: INITIAL - goto yystart1 - case 1: // start condition: PHP - goto yystart13 - case 2: // start condition: STRING - goto yystart548 - case 3: // start condition: STRING_VAR - goto yystart556 - case 4: // start condition: STRING_VAR_INDEX - goto yystart566 - case 5: // start condition: STRING_VAR_NAME - goto yystart583 - case 6: // start condition: PROPERTY - goto yystart588 - case 7: // start condition: HEREDOC_END - goto yystart596 - case 8: // start condition: NOWDOC - goto yystart599 - case 9: // start condition: HEREDOC - goto yystart601 - case 10: // start condition: BACKQUOTE - goto yystart605 - case 11: // start condition: HALT_COMPILER - goto yystart610 - } + _, _ = lblStart, lblEnd - goto yystate0 // silence unused label error - goto yyAction // silence unused label error -yyAction: - switch yyrule { - case 1: - goto yyrule1 - case 2: - goto yyrule2 - case 3: - goto yyrule3 - case 4: - goto yyrule4 - case 5: - goto yyrule5 - case 6: - goto yyrule6 - case 7: - goto yyrule7 - case 8: - goto yyrule8 - case 9: - goto yyrule9 - case 10: - goto yyrule10 - case 11: - goto yyrule11 - case 12: - goto yyrule12 - case 13: - goto yyrule13 - case 14: - goto yyrule14 - case 15: - goto yyrule15 - case 16: - goto yyrule16 - case 17: - goto yyrule17 - case 18: - goto yyrule18 - case 19: - goto yyrule19 - case 20: - goto yyrule20 - case 21: - goto yyrule21 - case 22: - goto yyrule22 - case 23: - goto yyrule23 - case 24: - goto yyrule24 - case 25: - goto yyrule25 - case 26: - goto yyrule26 - case 27: - goto yyrule27 - case 28: - goto yyrule28 - case 29: - goto yyrule29 - case 30: - goto yyrule30 - case 31: - goto yyrule31 - case 32: - goto yyrule32 - case 33: - goto yyrule33 - case 34: - goto yyrule34 - case 35: - goto yyrule35 - case 36: - goto yyrule36 - case 37: - goto yyrule37 - case 38: - goto yyrule38 - case 39: - goto yyrule39 - case 40: - goto yyrule40 - case 41: - goto yyrule41 - case 42: - goto yyrule42 - case 43: - goto yyrule43 - case 44: - goto yyrule44 - case 45: - goto yyrule45 - case 46: - goto yyrule46 - case 47: - goto yyrule47 - case 48: - goto yyrule48 - case 49: - goto yyrule49 - case 50: - goto yyrule50 - case 51: - goto yyrule51 - case 52: - goto yyrule52 - case 53: - goto yyrule53 - case 54: - goto yyrule54 - case 55: - goto yyrule55 - case 56: - goto yyrule56 - case 57: - goto yyrule57 - case 58: - goto yyrule58 - case 59: - goto yyrule59 - case 60: - goto yyrule60 - case 61: - goto yyrule61 - case 62: - goto yyrule62 - case 63: - goto yyrule63 - case 64: - goto yyrule64 - case 65: - goto yyrule65 - case 66: - goto yyrule66 - case 67: - goto yyrule67 - case 68: - goto yyrule68 - case 69: - goto yyrule69 - case 70: - goto yyrule70 - case 71: - goto yyrule71 - case 72: - goto yyrule72 - case 73: - goto yyrule73 - case 74: - goto yyrule74 - case 75: - goto yyrule75 - case 76: - goto yyrule76 - case 77: - goto yyrule77 - case 78: - goto yyrule78 - case 79: - goto yyrule79 - case 80: - goto yyrule80 - case 81: - goto yyrule81 - case 82: - goto yyrule82 - case 83: - goto yyrule83 - case 84: - goto yyrule84 - case 85: - goto yyrule85 - case 86: - goto yyrule86 - case 87: - goto yyrule87 - case 88: - goto yyrule88 - case 89: - goto yyrule89 - case 90: - goto yyrule90 - case 91: - goto yyrule91 - case 92: - goto yyrule92 - case 93: - goto yyrule93 - case 94: - goto yyrule94 - case 95: - goto yyrule95 - case 96: - goto yyrule96 - case 97: - goto yyrule97 - case 98: - goto yyrule98 - case 99: - goto yyrule99 - case 100: - goto yyrule100 - case 101: - goto yyrule101 - case 102: - goto yyrule102 - case 103: - goto yyrule103 - case 104: - goto yyrule104 - case 105: - goto yyrule105 - case 106: - goto yyrule106 - case 107: - goto yyrule107 - case 108: - goto yyrule108 - case 109: - goto yyrule109 - case 110: - goto yyrule110 - case 111: - goto yyrule111 - case 112: - goto yyrule112 - case 113: - goto yyrule113 - case 114: - goto yyrule114 - case 115: - goto yyrule115 - case 116: - goto yyrule116 - case 117: - goto yyrule117 - case 118: - goto yyrule118 - case 119: - goto yyrule119 - case 120: - goto yyrule120 - case 121: - goto yyrule121 - case 122: - goto yyrule122 - case 123: - goto yyrule123 - case 124: - goto yyrule124 - case 125: - goto yyrule125 - case 126: - goto yyrule126 - case 127: - goto yyrule127 - case 128: - goto yyrule128 - case 129: - goto yyrule129 - case 130: - goto yyrule130 - case 131: - goto yyrule131 - case 132: - goto yyrule132 - case 133: - goto yyrule133 - case 134: - goto yyrule134 - case 135: - goto yyrule135 - case 136: - goto yyrule136 - case 137: - goto yyrule137 - case 138: - goto yyrule138 - case 139: - goto yyrule139 - case 140: - goto yyrule140 - case 141: - goto yyrule141 - case 142: - goto yyrule142 - case 143: - goto yyrule143 - case 144: - goto yyrule144 - case 145: - goto yyrule145 - case 146: - goto yyrule146 - case 147: - goto yyrule147 - case 148: - goto yyrule148 - case 149: - goto yyrule149 - case 150: - goto yyrule150 - case 151: - goto yyrule151 - case 152: - goto yyrule152 - case 153: - goto yyrule153 - case 154: - goto yyrule154 - case 155: - goto yyrule155 - case 156: - goto yyrule156 - case 157: - goto yyrule157 - case 158: - goto yyrule158 - case 159: - goto yyrule159 - case 160: - goto yyrule160 - case 161: - goto yyrule161 - case 162: - goto yyrule162 - case 163: - goto yyrule163 - case 164: - goto yyrule164 - case 165: - goto yyrule165 - case 166: - goto yyrule166 - case 167: - goto yyrule167 - case 168: - goto yyrule168 - case 169: - goto yyrule169 - } - goto yystate1 // silence unused label error -yystate1: - c = l.Next() -yystart1: - switch { - default: - goto yyabort - case c == '<': - goto yystate5 - case c == '\n': - goto yystate4 - case c == '\t' || c == '\r' || c == ' ': - goto yystate3 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c >= '!' && c <= ';' || c >= '=' && c <= 'ÿ': - goto yystate2 - } - -yystate2: - c = l.Next() - yyrule = 2 - l.Mark() - goto yyrule2 - -yystate3: - c = l.Next() - yyrule = 1 - l.Mark() - switch { - default: - goto yyrule1 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate4 - } - -yystate4: - c = l.Next() - yyrule = 1 - l.Mark() - switch { - default: - goto yyrule1 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate4 - } - -yystate5: - c = l.Next() - yyrule = 2 - l.Mark() - switch { - default: - goto yyrule2 - case c == '?': - goto yystate6 - } - -yystate6: - c = l.Next() - yyrule = 4 - l.Mark() - switch { - default: - goto yyrule4 - case c == '=': - goto yystate7 - case c == 'P' || c == 'p': - goto yystate8 - } - -yystate7: - c = l.Next() - yyrule = 5 - l.Mark() - goto yyrule5 - -yystate8: - c = l.Next() - switch { - default: - goto yyabort - case c == 'H' || c == 'h': - goto yystate9 - } - -yystate9: - c = l.Next() - switch { - default: - goto yyabort - case c == 'P' || c == 'p': - goto yystate10 - } - -yystate10: - c = l.Next() - switch { - default: - goto yyabort - case c == '\r': - goto yystate12 - case c == '\t' || c == '\n' || c == ' ': - goto yystate11 - } - -yystate11: - c = l.Next() - yyrule = 3 - l.Mark() - goto yyrule3 - -yystate12: - c = l.Next() - yyrule = 3 - l.Mark() - switch { - default: - goto yyrule3 - case c == '\n': - goto yystate11 - } - - goto yystate13 // silence unused label error -yystate13: - c = l.Next() -yystart13: - switch { - default: - goto yyabort - case c == '!': - goto yystate17 - case c == '"': - goto yystate20 - case c == '#': - goto yystate21 - case c == '$': - goto yystate22 - case c == '%': - goto yystate24 - case c == '&': - goto yystate26 - case c == '(': - goto yystate33 - case c == ')' || c == ',' || c == '@' || c == '[' || c == ']' || c == '~': - goto yystate95 - case c == '*': - goto yystate96 - case c == '+': - goto yystate100 - case c == '-': - goto yystate103 - case c == '.': - goto yystate107 - case c == '/': - goto yystate115 - case c == '0': - goto yystate121 - case c == ':': - goto yystate128 - case c == ';': - goto yystate130 - case c == '<': - goto yystate136 - case c == '=': - goto yystate151 - case c == '>': - goto yystate155 - case c == '?': - goto yystate159 - case c == 'A' || c == 'a': - goto yystate164 - case c == 'B': - goto yystate180 - case c == 'C' || c == 'c': - goto yystate185 - case c == 'D' || c == 'd': - goto yystate222 - case c == 'E' || c == 'e': - goto yystate237 - case c == 'F' || c == 'f': - goto yystate289 - case c == 'G' || c == 'g': - goto yystate302 - case c == 'H' || c == 'J' || c == 'K' || c == 'M' || c == 'Q' || c == 'Z' || c == 'h' || c == 'j' || c == 'k' || c == 'm' || c == 'q' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate311 - case c == 'I' || c == 'i': - goto yystate312 - case c == 'L' || c == 'l': - goto yystate358 - case c == 'N' || c == 'n': - goto yystate362 - case c == 'O' || c == 'o': - goto yystate373 - case c == 'P' || c == 'p': - goto yystate375 - case c == 'R' || c == 'r': - goto yystate396 - case c == 'S' || c == 's': - goto yystate412 - case c == 'T' || c == 't': - goto yystate423 - case c == 'U' || c == 'u': - goto yystate433 - case c == 'V' || c == 'v': - goto yystate440 - case c == 'W' || c == 'w': - goto yystate443 - case c == 'X' || c == 'x': - goto yystate448 - case c == 'Y' || c == 'y': - goto yystate451 - case c == '\'': - goto yystate29 - case c == '\\': - goto yystate461 - case c == '\n': - goto yystate16 - case c == '\t' || c == '\r' || c == ' ': - goto yystate15 - case c == '^': - goto yystate462 - case c == '_': - goto yystate464 - case c == '`': - goto yystate538 - case c == 'b': - goto yystate539 - case c == '{': - goto yystate543 - case c == '|': - goto yystate544 - case c == '}': - goto yystate547 - case c >= '1' && c <= '9': - goto yystate127 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f': - goto yystate14 - } - -yystate14: - c = l.Next() - yyrule = 169 - l.Mark() - goto yyrule169 - -yystate15: - c = l.Next() - yyrule = 6 - l.Mark() - switch { - default: - goto yyrule6 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate16 - } - -yystate16: - c = l.Next() - yyrule = 6 - l.Mark() - switch { - default: - goto yyrule6 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate16 - } - -yystate17: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate18 - } - -yystate18: - c = l.Next() - yyrule = 114 - l.Mark() - switch { - default: - goto yyrule114 - case c == '=': - goto yystate19 - } - -yystate19: - c = l.Next() - yyrule = 115 - l.Mark() - goto yyrule115 - -yystate20: - c = l.Next() - yyrule = 146 - l.Mark() - goto yyrule146 - -yystate21: - c = l.Next() - yyrule = 126 - l.Mark() - goto yyrule126 - -yystate22: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate23 - } - -yystate23: - c = l.Next() - yyrule = 132 - l.Mark() - switch { - default: - goto yyrule132 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate23 - } - -yystate24: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate25 - } - -yystate25: - c = l.Next() - yyrule = 109 - l.Mark() - goto yyrule109 - -yystate26: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '&': - goto yystate27 - case c == '=': - goto yystate28 - } - -yystate27: - c = l.Next() - yyrule = 98 - l.Mark() - goto yyrule98 - -yystate28: - c = l.Next() - yyrule = 100 - l.Mark() - goto yyrule100 - -yystate29: - c = l.Next() - yyrule = 169 - l.Mark() - switch { - default: - goto yyrule169 - case c == '\'': - goto yystate31 - case c == '\\': - goto yystate32 - case c >= '\x01' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= 'ÿ': - goto yystate30 - } - -yystate30: - c = l.Next() - switch { - default: - goto yyabort - case c == '\'': - goto yystate31 - case c == '\\': - goto yystate32 - case c >= '\x01' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= 'ÿ': - goto yystate30 - } - -yystate31: - c = l.Next() - yyrule = 139 - l.Mark() - goto yyrule139 - -yystate32: - c = l.Next() - switch { - default: - goto yyabort - case c >= '\x01' && c <= 'ÿ': - goto yystate30 - } - -yystate33: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == 'A' || c == 'a': - goto yystate35 - case c == 'B' || c == 'b': - goto yystate41 - case c == 'D' || c == 'd': - goto yystate55 - case c == 'F' || c == 'f': - goto yystate62 - case c == 'I' || c == 'i': - goto yystate66 - case c == 'O' || c == 'o': - goto yystate74 - case c == 'R' || c == 'r': - goto yystate81 - case c == 'S' || c == 's': - goto yystate84 - case c == 'U' || c == 'u': - goto yystate89 - case c == '\t' || c == ' ': - goto yystate34 - } - -yystate34: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate35 - case c == 'B' || c == 'b': - goto yystate41 - case c == 'D' || c == 'd': - goto yystate55 - case c == 'F' || c == 'f': - goto yystate62 - case c == 'I' || c == 'i': - goto yystate66 - case c == 'O' || c == 'o': - goto yystate74 - case c == 'R' || c == 'r': - goto yystate81 - case c == 'S' || c == 's': - goto yystate84 - case c == 'U' || c == 'u': - goto yystate89 - case c == '\t' || c == ' ': - goto yystate34 - } - -yystate35: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate36 - } - -yystate36: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate37 - } - -yystate37: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate38 - } - -yystate38: - c = l.Next() - switch { - default: - goto yyabort - case c == 'Y' || c == 'y': - goto yystate39 - } - -yystate39: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate40 - case c == '\t' || c == ' ': - goto yystate39 - } - -yystate40: - c = l.Next() - yyrule = 84 - l.Mark() - goto yyrule84 - -yystate41: - c = l.Next() - switch { - default: - goto yyabort - case c == 'I' || c == 'i': - goto yystate42 - case c == 'O' || c == 'o': - goto yystate48 - } - -yystate42: - c = l.Next() - switch { - default: - goto yyabort - case c == 'N' || c == 'n': - goto yystate43 - } - -yystate43: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate44 - } - -yystate44: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate45 - } - -yystate45: - c = l.Next() - switch { - default: - goto yyabort - case c == 'Y' || c == 'y': - goto yystate46 - } - -yystate46: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate47 - case c == '\t' || c == ' ': - goto yystate46 - } - -yystate47: - c = l.Next() - yyrule = 89 - l.Mark() - goto yyrule89 - -yystate48: - c = l.Next() - switch { - default: - goto yyabort - case c == 'O' || c == 'o': - goto yystate49 - } - -yystate49: - c = l.Next() - switch { - default: - goto yyabort - case c == 'L' || c == 'l': - goto yystate50 - } - -yystate50: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate52 - case c == 'E' || c == 'e': - goto yystate53 - case c == '\t' || c == ' ': - goto yystate51 - } - -yystate51: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate52 - case c == '\t' || c == ' ': - goto yystate51 - } - -yystate52: - c = l.Next() - yyrule = 85 - l.Mark() - goto yyrule85 - -yystate53: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate54 - } - -yystate54: - c = l.Next() - switch { - default: - goto yyabort - case c == 'N' || c == 'n': - goto yystate51 - } - -yystate55: - c = l.Next() - switch { - default: - goto yyabort - case c == 'O' || c == 'o': - goto yystate56 - } - -yystate56: - c = l.Next() - switch { - default: - goto yyabort - case c == 'U' || c == 'u': - goto yystate57 - } - -yystate57: - c = l.Next() - switch { - default: - goto yyabort - case c == 'B' || c == 'b': - goto yystate58 - } - -yystate58: - c = l.Next() - switch { - default: - goto yyabort - case c == 'L' || c == 'l': - goto yystate59 - } - -yystate59: - c = l.Next() - switch { - default: - goto yyabort - case c == 'E' || c == 'e': - goto yystate60 - } - -yystate60: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate61 - case c == '\t' || c == ' ': - goto yystate60 - } - -yystate61: - c = l.Next() - yyrule = 86 - l.Mark() - goto yyrule86 - -yystate62: - c = l.Next() - switch { - default: - goto yyabort - case c == 'L' || c == 'l': - goto yystate63 - } - -yystate63: - c = l.Next() - switch { - default: - goto yyabort - case c == 'O' || c == 'o': - goto yystate64 - } - -yystate64: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate65 - } - -yystate65: - c = l.Next() - switch { - default: - goto yyabort - case c == 'T' || c == 't': - goto yystate60 - } - -yystate66: - c = l.Next() - switch { - default: - goto yyabort - case c == 'N' || c == 'n': - goto yystate67 - } - -yystate67: - c = l.Next() - switch { - default: - goto yyabort - case c == 'T' || c == 't': - goto yystate68 - } - -yystate68: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate70 - case c == 'E' || c == 'e': - goto yystate71 - case c == '\t' || c == ' ': - goto yystate69 - } - -yystate69: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate70 - case c == '\t' || c == ' ': - goto yystate69 - } - -yystate70: - c = l.Next() - yyrule = 87 - l.Mark() - goto yyrule87 - -yystate71: - c = l.Next() - switch { - default: - goto yyabort - case c == 'G' || c == 'g': - goto yystate72 - } - -yystate72: - c = l.Next() - switch { - default: - goto yyabort - case c == 'E' || c == 'e': - goto yystate73 - } - -yystate73: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate69 - } - -yystate74: - c = l.Next() - switch { - default: - goto yyabort - case c == 'B' || c == 'b': - goto yystate75 - } - -yystate75: - c = l.Next() - switch { - default: - goto yyabort - case c == 'J' || c == 'j': - goto yystate76 - } - -yystate76: - c = l.Next() - switch { - default: - goto yyabort - case c == 'E' || c == 'e': - goto yystate77 - } - -yystate77: - c = l.Next() - switch { - default: - goto yyabort - case c == 'C' || c == 'c': - goto yystate78 - } - -yystate78: - c = l.Next() - switch { - default: - goto yyabort - case c == 'T' || c == 't': - goto yystate79 - } - -yystate79: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate80 - case c == '\t' || c == ' ': - goto yystate79 - } - -yystate80: - c = l.Next() - yyrule = 88 - l.Mark() - goto yyrule88 - -yystate81: - c = l.Next() - switch { - default: - goto yyabort - case c == 'E' || c == 'e': - goto yystate82 - } - -yystate82: - c = l.Next() - switch { - default: - goto yyabort - case c == 'A' || c == 'a': - goto yystate83 - } - -yystate83: - c = l.Next() - switch { - default: - goto yyabort - case c == 'L' || c == 'l': - goto yystate60 - } - -yystate84: - c = l.Next() - switch { - default: - goto yyabort - case c == 'T' || c == 't': - goto yystate85 - } - -yystate85: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate86 - } - -yystate86: - c = l.Next() - switch { - default: - goto yyabort - case c == 'I' || c == 'i': - goto yystate87 - } - -yystate87: - c = l.Next() - switch { - default: - goto yyabort - case c == 'N' || c == 'n': - goto yystate88 - } - -yystate88: - c = l.Next() - switch { - default: - goto yyabort - case c == 'G' || c == 'g': - goto yystate46 - } - -yystate89: - c = l.Next() - switch { - default: - goto yyabort - case c == 'N' || c == 'n': - goto yystate90 - } - -yystate90: - c = l.Next() - switch { - default: - goto yyabort - case c == 'S' || c == 's': - goto yystate91 - } - -yystate91: - c = l.Next() - switch { - default: - goto yyabort - case c == 'E' || c == 'e': - goto yystate92 - } - -yystate92: - c = l.Next() - switch { - default: - goto yyabort - case c == 'T' || c == 't': - goto yystate93 - } - -yystate93: - c = l.Next() - switch { - default: - goto yyabort - case c == ')': - goto yystate94 - case c == '\t' || c == ' ': - goto yystate93 - } - -yystate94: - c = l.Next() - yyrule = 90 - l.Mark() - goto yyrule90 - -yystate95: - c = l.Next() - yyrule = 129 - l.Mark() - goto yyrule129 - -yystate96: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '*': - goto yystate97 - case c == '=': - goto yystate99 - } - -yystate97: - c = l.Next() - yyrule = 122 - l.Mark() - switch { - default: - goto yyrule122 - case c == '=': - goto yystate98 - } - -yystate98: - c = l.Next() - yyrule = 104 - l.Mark() - goto yyrule104 - -yystate99: - c = l.Next() - yyrule = 103 - l.Mark() - goto yyrule103 - -yystate100: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '+': - goto yystate101 - case c == '=': - goto yystate102 - } - -yystate101: - c = l.Next() - yyrule = 111 - l.Mark() - goto yyrule111 - -yystate102: - c = l.Next() - yyrule = 106 - l.Mark() - goto yyrule106 - -yystate103: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '-': - goto yystate104 - case c == '=': - goto yystate105 - case c == '>': - goto yystate106 - } - -yystate104: - c = l.Next() - yyrule = 110 - l.Mark() - goto yyrule110 - -yystate105: - c = l.Next() - yyrule = 107 - l.Mark() - goto yyrule107 - -yystate106: - c = l.Next() - yyrule = 134 - l.Mark() - goto yyrule134 - -yystate107: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '.': - goto yystate108 - case c == '=': - goto yystate114 - case c >= '0' && c <= '9': - goto yystate110 - } - -yystate108: - c = l.Next() - switch { - default: - goto yyabort - case c == '.': - goto yystate109 - } - -yystate109: - c = l.Next() - yyrule = 96 - l.Mark() - goto yyrule96 - -yystate110: - c = l.Next() - yyrule = 9 - l.Mark() - switch { - default: - goto yyrule9 - case c == 'E' || c == 'e': - goto yystate111 - case c >= '0' && c <= '9': - goto yystate110 - } - -yystate111: - c = l.Next() - switch { - default: - goto yyabort - case c == '+' || c == '-': - goto yystate112 - case c >= '0' && c <= '9': - goto yystate113 - } - -yystate112: - c = l.Next() - switch { - default: - goto yyabort - case c >= '0' && c <= '9': - goto yystate113 - } - -yystate113: - c = l.Next() - yyrule = 9 - l.Mark() - switch { - default: - goto yyrule9 - case c >= '0' && c <= '9': - goto yystate113 - } - -yystate114: - c = l.Next() - yyrule = 102 - l.Mark() - goto yyrule102 - -yystate115: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '*': - goto yystate116 - case c == '/': - goto yystate119 - case c == '=': - goto yystate120 - } - -yystate116: - c = l.Next() - yyrule = 128 - l.Mark() - switch { - default: - goto yyrule128 - case c == '*': - goto yystate117 - } - -yystate117: - c = l.Next() - yyrule = 128 - l.Mark() - switch { - default: - goto yyrule128 - case c == '/': - goto yystate118 - } - -yystate118: - c = l.Next() - yyrule = 127 - l.Mark() - goto yyrule127 - -yystate119: - c = l.Next() - yyrule = 126 - l.Mark() - goto yyrule126 - -yystate120: - c = l.Next() - yyrule = 105 - l.Mark() - goto yyrule105 - -yystate121: - c = l.Next() - yyrule = 11 - l.Mark() - switch { - default: - goto yyrule11 - case c == '.': - goto yystate110 - case c == 'B' || c == 'b': - goto yystate123 - case c == 'E' || c == 'e': - goto yystate111 - case c == 'X' || c == 'x': - goto yystate125 - case c >= '0' && c <= '9': - goto yystate122 - } - -yystate122: - c = l.Next() - yyrule = 11 - l.Mark() - switch { - default: - goto yyrule11 - case c == '.': - goto yystate110 - case c == 'E' || c == 'e': - goto yystate111 - case c >= '0' && c <= '9': - goto yystate122 - } - -yystate123: - c = l.Next() - switch { - default: - goto yyabort - case c == '0' || c == '1': - goto yystate124 - } - -yystate124: - c = l.Next() - yyrule = 10 - l.Mark() - switch { - default: - goto yyrule10 - case c == '0' || c == '1': - goto yystate124 - } - -yystate125: - c = l.Next() - switch { - default: - goto yyabort - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate126 - } - -yystate126: - c = l.Next() - yyrule = 12 - l.Mark() - switch { - default: - goto yyrule12 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate126 - } - -yystate127: - c = l.Next() - yyrule = 11 - l.Mark() - switch { - default: - goto yyrule11 - case c == '.': - goto yystate110 - case c == 'E' || c == 'e': - goto yystate111 - case c >= '0' && c <= '9': - goto yystate122 - } - -yystate128: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == ':': - goto yystate129 - } - -yystate129: - c = l.Next() - yyrule = 97 - l.Mark() - goto yyrule97 - -yystate130: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '?': - goto yystate132 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate131 - } - -yystate131: - c = l.Next() - switch { - default: - goto yyabort - case c == '?': - goto yystate132 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate131 - } - -yystate132: - c = l.Next() - switch { - default: - goto yyabort - case c == '>': - goto yystate133 - } - -yystate133: - c = l.Next() - yyrule = 7 - l.Mark() - switch { - default: - goto yyrule7 - case c == '\n': - goto yystate134 - case c == '\r': - goto yystate135 - } - -yystate134: - c = l.Next() - yyrule = 7 - l.Mark() - goto yyrule7 - -yystate135: - c = l.Next() - yyrule = 7 - l.Mark() - switch { - default: - goto yyrule7 - case c == '\n': - goto yystate134 - } - -yystate136: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '<': - goto yystate137 - case c == '=': - goto yystate148 - case c == '>': - goto yystate150 - } - -yystate137: - c = l.Next() - yyrule = 123 - l.Mark() - switch { - default: - goto yyrule123 - case c == '<': - goto yystate138 - case c == '=': - goto yystate147 - } - -yystate138: - c = l.Next() - switch { - default: - goto yyabort - case c == '"': - goto yystate139 - case c == '\'': - goto yystate144 - case c == '\t' || c == ' ': - goto yystate138 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate146 - } - -yystate139: - c = l.Next() - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate140 - } - -yystate140: - c = l.Next() - switch { - default: - goto yyabort - case c == '"': - goto yystate141 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate140 - } - -yystate141: - c = l.Next() - switch { - default: - goto yyabort - case c == '\n': - goto yystate142 - case c == '\r': - goto yystate143 - } - -yystate142: - c = l.Next() - yyrule = 142 - l.Mark() - goto yyrule142 - -yystate143: - c = l.Next() - yyrule = 142 - l.Mark() - switch { - default: - goto yyrule142 - case c == '\n': - goto yystate142 - } - -yystate144: - c = l.Next() - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate145 - } - -yystate145: - c = l.Next() - switch { - default: - goto yyabort - case c == '\'': - goto yystate141 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate145 - } - -yystate146: - c = l.Next() - switch { - default: - goto yyabort - case c == '\n': - goto yystate142 - case c == '\r': - goto yystate143 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate146 - } - -yystate147: - c = l.Next() - yyrule = 118 - l.Mark() - goto yyrule118 - -yystate148: - c = l.Next() - yyrule = 121 - l.Mark() - switch { - default: - goto yyrule121 - case c == '>': - goto yystate149 - } - -yystate149: - c = l.Next() - yyrule = 113 - l.Mark() - goto yyrule113 - -yystate150: - c = l.Next() - yyrule = 114 - l.Mark() - goto yyrule114 - -yystate151: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate152 - case c == '>': - goto yystate154 - } - -yystate152: - c = l.Next() - yyrule = 116 - l.Mark() - switch { - default: - goto yyrule116 - case c == '=': - goto yystate153 - } - -yystate153: - c = l.Next() - yyrule = 117 - l.Mark() - goto yyrule117 - -yystate154: - c = l.Next() - yyrule = 112 - l.Mark() - goto yyrule112 - -yystate155: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate156 - case c == '>': - goto yystate157 - } - -yystate156: - c = l.Next() - yyrule = 120 - l.Mark() - goto yyrule120 - -yystate157: - c = l.Next() - yyrule = 124 - l.Mark() - switch { - default: - goto yyrule124 - case c == '=': - goto yystate158 - } - -yystate158: - c = l.Next() - yyrule = 119 - l.Mark() - goto yyrule119 - -yystate159: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '>': - goto yystate160 - case c == '?': - goto yystate163 - } - -yystate160: - c = l.Next() - yyrule = 8 - l.Mark() - switch { - default: - goto yyrule8 - case c == '\n': - goto yystate161 - case c == '\r': - goto yystate162 - } - -yystate161: - c = l.Next() - yyrule = 8 - l.Mark() - goto yyrule8 - -yystate162: - c = l.Next() - yyrule = 8 - l.Mark() - switch { - default: - goto yyrule8 - case c == '\n': - goto yystate161 - } - -yystate163: - c = l.Next() - yyrule = 125 - l.Mark() - goto yyrule125 - -yystate164: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'B' || c == 'b': - goto yystate166 - case c == 'N' || c == 'n': - goto yystate173 - case c == 'R' || c == 'r': - goto yystate175 - case c == 'S' || c == 's': - goto yystate179 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'M' || c >= 'O' && c <= 'Q' || c >= 'T' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'm' || c >= 'o' && c <= 'q' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate165: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate166: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate167 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate167: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate168 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate168: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate169 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate169: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate170 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate170: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate171 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate171: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate172 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate172: - c = l.Next() - yyrule = 13 - l.Mark() - switch { - default: - goto yyrule13 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate173: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate174 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate174: - c = l.Next() - yyrule = 92 - l.Mark() - switch { - default: - goto yyrule92 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate175: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate176 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate176: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate177 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate177: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'Y' || c == 'y': - goto yystate178 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate178: - c = l.Next() - yyrule = 14 - l.Mark() - switch { - default: - goto yyrule14 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate179: - c = l.Next() - yyrule = 15 - l.Mark() - switch { - default: - goto yyrule15 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate180: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate181 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate181: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate182 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate182: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate183 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate183: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'K' || c == 'k': - goto yystate184 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'J' || c >= 'L' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'j' || c >= 'l' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate184: - c = l.Next() - yyrule = 16 - l.Mark() - switch { - default: - goto yyrule16 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate185: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate186 - case c == 'F' || c == 'f': - goto yystate198 - case c == 'L' || c == 'l': - goto yystate206 - case c == 'O' || c == 'o': - goto yystate213 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'E' || c >= 'G' && c <= 'K' || c == 'M' || c == 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'e' || c >= 'g' && c <= 'k' || c == 'm' || c == 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate186: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate187 - case c == 'S' || c == 's': - goto yystate193 - case c == 'T' || c == 't': - goto yystate195 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate187: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate188 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate188: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate189 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate189: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'B' || c == 'b': - goto yystate190 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate190: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate191 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate191: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate192 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate192: - c = l.Next() - yyrule = 17 - l.Mark() - switch { - default: - goto yyrule17 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate193: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate194 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate194: - c = l.Next() - yyrule = 18 - l.Mark() - switch { - default: - goto yyrule18 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate195: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate196 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate196: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate197 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate197: - c = l.Next() - yyrule = 19 - l.Mark() - switch { - default: - goto yyrule19 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate198: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate199 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate199: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate200 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate200: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate201 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate201: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate202 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate202: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate203 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate203: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate204 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate204: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate205 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate205: - c = l.Next() - yyrule = 44 - l.Mark() - switch { - default: - goto yyrule44 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate206: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate207 - case c == 'O' || c == 'o': - goto yystate210 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate207: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate208 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate208: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate209 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate209: - c = l.Next() - yyrule = 20 - l.Mark() - switch { - default: - goto yyrule20 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate210: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate211 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate211: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate212 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate212: - c = l.Next() - yyrule = 21 - l.Mark() - switch { - default: - goto yyrule21 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate213: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate214 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate214: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate215 - case c == 'T' || c == 't': - goto yystate217 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate215: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate216 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate216: - c = l.Next() - yyrule = 22 - l.Mark() - switch { - default: - goto yyrule22 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate217: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate218 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate218: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate219 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate219: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate220 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate220: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate221 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate221: - c = l.Next() - yyrule = 23 - l.Mark() - switch { - default: - goto yyrule23 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate222: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate223 - case c == 'I' || c == 'i': - goto yystate234 - case c == 'O' || c == 'o': - goto yystate236 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate223: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate224 - case c == 'F' || c == 'f': - goto yystate229 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'D' || c == 'E' || c >= 'G' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'd' || c == 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate224: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate225 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate225: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate226 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate226: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate227 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate227: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate228 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate228: - c = l.Next() - yyrule = 24 - l.Mark() - switch { - default: - goto yyrule24 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate229: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate230 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate230: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate231 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate231: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate232 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate232: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate233 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate233: - c = l.Next() - yyrule = 25 - l.Mark() - switch { - default: - goto yyrule25 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate234: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate235 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate235: - c = l.Next() - yyrule = 38 - l.Mark() - switch { - default: - goto yyrule38 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate236: - c = l.Next() - yyrule = 26 - l.Mark() - switch { - default: - goto yyrule26 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate237: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate238 - case c == 'L' || c == 'l': - goto yystate241 - case c == 'M' || c == 'm': - goto yystate246 - case c == 'N' || c == 'n': - goto yystate250 - case c == 'V' || c == 'v': - goto yystate279 - case c == 'X' || c == 'x': - goto yystate282 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'K' || c >= 'O' && c <= 'U' || c == 'W' || c == 'Y' || c == 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'k' || c >= 'o' && c <= 'u' || c == 'w' || c == 'y' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate238: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate239 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate239: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate240 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate240: - c = l.Next() - yyrule = 27 - l.Mark() - switch { - default: - goto yyrule27 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate241: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate242 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate242: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate243 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate243: - c = l.Next() - yyrule = 28 - l.Mark() - switch { - default: - goto yyrule28 - case c == 'I' || c == 'i': - goto yystate244 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate244: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate245 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate245: - c = l.Next() - yyrule = 29 - l.Mark() - switch { - default: - goto yyrule29 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate246: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'P' || c == 'p': - goto yystate247 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate247: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate248 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate248: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'Y' || c == 'y': - goto yystate249 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate249: - c = l.Next() - yyrule = 30 - l.Mark() - switch { - default: - goto yyrule30 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate250: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate251 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate251: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate252 - case c == 'F' || c == 'f': - goto yystate259 - case c == 'I' || c == 'i': - goto yystate266 - case c == 'S' || c == 's': - goto yystate268 - case c == 'W' || c == 'w': - goto yystate274 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c == 'E' || c == 'G' || c == 'H' || c >= 'J' && c <= 'R' || c >= 'T' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c == 'e' || c == 'g' || c == 'h' || c >= 'j' && c <= 'r' || c >= 't' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate252: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate253 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate253: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate254 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate254: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate255 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate255: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate256 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate256: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate257 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate257: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate258 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate258: - c = l.Next() - yyrule = 31 - l.Mark() - switch { - default: - goto yyrule31 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate259: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate260 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate260: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate261 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate261: - c = l.Next() - yyrule = 32 - l.Mark() - switch { - default: - goto yyrule32 - case c == 'E' || c == 'e': - goto yystate262 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate262: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate263 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate263: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate264 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate264: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate265 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate265: - c = l.Next() - yyrule = 33 - l.Mark() - switch { - default: - goto yyrule33 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate266: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate267 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate267: - c = l.Next() - yyrule = 34 - l.Mark() - switch { - default: - goto yyrule34 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate268: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'W' || c == 'w': - goto yystate269 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate269: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate270 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate270: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate271 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate271: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate272 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate272: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate273 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate273: - c = l.Next() - yyrule = 35 - l.Mark() - switch { - default: - goto yyrule35 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate274: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate275 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate275: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate276 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate276: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate277 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate277: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate278 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate278: - c = l.Next() - yyrule = 36 - l.Mark() - switch { - default: - goto yyrule36 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate279: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate280 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate280: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate281 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate281: - c = l.Next() - yyrule = 37 - l.Mark() - switch { - default: - goto yyrule37 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate282: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate283 - case c == 'T' || c == 't': - goto yystate284 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate283: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate235 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate284: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate285 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate285: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate286 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate286: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate287 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate287: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate288 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate288: - c = l.Next() - yyrule = 39 - l.Mark() - switch { - default: - goto yyrule39 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate289: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate290 - case c == 'O' || c == 'o': - goto yystate296 - case c == 'U' || c == 'u': - goto yystate199 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate290: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate291 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate291: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate292 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate292: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate293 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate293: - c = l.Next() - yyrule = 40 - l.Mark() - switch { - default: - goto yyrule40 - case c == 'L' || c == 'l': - goto yystate294 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate294: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'Y' || c == 'y': - goto yystate295 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'X' || c == 'Z' || c == '_' || c >= 'a' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate295: - c = l.Next() - yyrule = 41 - l.Mark() - switch { - default: - goto yyrule41 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate296: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate297 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate297: - c = l.Next() - yyrule = 42 - l.Mark() - switch { - default: - goto yyrule42 - case c == 'E' || c == 'e': - goto yystate298 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate298: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate299 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate299: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate300 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate300: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate301 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate301: - c = l.Next() - yyrule = 43 - l.Mark() - switch { - default: - goto yyrule43 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate302: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate303 - case c == 'O' || c == 'o': - goto yystate308 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c == 'M' || c == 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c == 'm' || c == 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate303: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate304 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate304: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'B' || c == 'b': - goto yystate305 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate305: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate306 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate306: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate307 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate307: - c = l.Next() - yyrule = 45 - l.Mark() - switch { - default: - goto yyrule45 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate308: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate309 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate309: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate310 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate310: - c = l.Next() - yyrule = 46 - l.Mark() - switch { - default: - goto yyrule46 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate311: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate312: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate313 - case c == 'M' || c == 'm': - goto yystate314 - case c == 'N' || c == 'n': - goto yystate323 - case c == 'S' || c == 's': - goto yystate354 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'L' || c >= 'O' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'l' || c >= 'o' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate313: - c = l.Next() - yyrule = 47 - l.Mark() - switch { - default: - goto yyrule47 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate314: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'P' || c == 'p': - goto yystate315 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate315: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate316 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate316: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate317 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate317: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'M' || c == 'm': - goto yystate318 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate318: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate319 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate319: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate320 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate320: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate321 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate321: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate322 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate322: - c = l.Next() - yyrule = 49 - l.Mark() - switch { - default: - goto yyrule49 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate323: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate324 - case c == 'S' || c == 's': - goto yystate334 - case c == 'T' || c == 't': - goto yystate347 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'R' || c >= 'U' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'r' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate324: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate325 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate325: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate326 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate326: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate327 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate327: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate328 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate328: - c = l.Next() - yyrule = 71 - l.Mark() - switch { - default: - goto yyrule71 - case c == '_': - goto yystate329 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate329: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate330 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate330: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate331 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate331: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate332 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate332: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate333 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate333: - c = l.Next() - yyrule = 72 - l.Mark() - switch { - default: - goto yyrule72 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate334: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate335 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate335: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate336 - case c == 'E' || c == 'e': - goto yystate342 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate336: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate337 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate337: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate338 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate338: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate339 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate339: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate340 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate340: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate341 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate341: - c = l.Next() - yyrule = 50 - l.Mark() - switch { - default: - goto yyrule50 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate342: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate343 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate343: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate344 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate344: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate345 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate345: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate346 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate346: - c = l.Next() - yyrule = 51 - l.Mark() - switch { - default: - goto yyrule51 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate347: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate348 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate348: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate349 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate349: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'F' || c == 'f': - goto yystate350 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'E' || c >= 'G' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'e' || c >= 'g' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate350: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate351 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate351: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate352 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate352: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate353 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate353: - c = l.Next() - yyrule = 52 - l.Mark() - switch { - default: - goto yyrule52 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate354: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate355 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate355: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate356 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate356: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate357 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate357: - c = l.Next() - yyrule = 48 - l.Mark() - switch { - default: - goto yyrule48 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate358: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate359 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate359: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate360 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate360: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate361 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate361: - c = l.Next() - yyrule = 53 - l.Mark() - switch { - default: - goto yyrule53 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate362: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate363 - case c == 'E' || c == 'e': - goto yystate371 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate363: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'M' || c == 'm': - goto yystate364 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate364: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate365 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate365: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate366 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate366: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'P' || c == 'p': - goto yystate367 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate367: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate368 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate368: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate369 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate369: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate370 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate370: - c = l.Next() - yyrule = 54 - l.Mark() - switch { - default: - goto yyrule54 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate371: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'W' || c == 'w': - goto yystate372 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate372: - c = l.Next() - yyrule = 91 - l.Mark() - switch { - default: - goto yyrule91 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate373: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate374 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate374: - c = l.Next() - yyrule = 93 - l.Mark() - switch { - default: - goto yyrule93 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate375: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate376 - case c == 'U' || c == 'u': - goto yystate391 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c == 'S' || c == 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c == 's' || c == 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate376: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate377 - case c == 'O' || c == 'o': - goto yystate384 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate377: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate378 - case c == 'V' || c == 'v': - goto yystate380 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'U' || c >= 'W' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'u' || c >= 'w' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate378: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate379 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate379: - c = l.Next() - yyrule = 57 - l.Mark() - switch { - default: - goto yyrule57 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate380: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate381 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate381: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate382 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate382: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate383 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate383: - c = l.Next() - yyrule = 55 - l.Mark() - switch { - default: - goto yyrule55 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate384: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate385 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate385: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate386 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate386: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate387 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate387: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate388 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate388: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate389 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate389: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate390 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate390: - c = l.Next() - yyrule = 58 - l.Mark() - switch { - default: - goto yyrule58 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate391: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'B' || c == 'b': - goto yystate392 - case c >= '0' && c <= '9' || c == 'A' || c >= 'C' && c <= 'Z' || c == '_' || c == 'a' || c >= 'c' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate392: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate393 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate393: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate394 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate394: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate395 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate395: - c = l.Next() - yyrule = 56 - l.Mark() - switch { - default: - goto yyrule56 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate396: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate397 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate397: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'Q' || c == 'q': - goto yystate398 - case c == 'T' || c == 't': - goto yystate408 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'P' || c == 'R' || c == 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'p' || c == 'r' || c == 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate398: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate399 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate399: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate400 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate400: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate401 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate401: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate402 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate402: - c = l.Next() - yyrule = 73 - l.Mark() - switch { - default: - goto yyrule73 - case c == '_': - goto yystate403 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate403: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate404 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate404: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate405 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate405: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate406 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate406: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate407 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate407: - c = l.Next() - yyrule = 74 - l.Mark() - switch { - default: - goto yyrule74 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate408: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'U' || c == 'u': - goto yystate409 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate409: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate410 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate410: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate411 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate411: - c = l.Next() - yyrule = 59 - l.Mark() - switch { - default: - goto yyrule59 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate412: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate413 - case c == 'W' || c == 'w': - goto yystate418 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c == 'U' || c == 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c == 'u' || c == 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate413: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate414 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate414: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate415 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate415: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate416 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate416: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate417 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate417: - c = l.Next() - yyrule = 60 - l.Mark() - switch { - default: - goto yyrule60 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate418: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate419 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate419: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate420 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate420: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate421 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate421: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate422 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate422: - c = l.Next() - yyrule = 61 - l.Mark() - switch { - default: - goto yyrule61 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate423: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate424 - case c == 'R' || c == 'r': - goto yystate428 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate424: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate425 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate425: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate426 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate426: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'W' || c == 'w': - goto yystate427 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'V' || c >= 'X' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'v' || c >= 'x' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate427: - c = l.Next() - yyrule = 62 - l.Mark() - switch { - default: - goto yyrule62 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate428: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate429 - case c == 'Y' || c == 'y': - goto yystate432 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'X' || c == 'Z' || c == '_' || c >= 'b' && c <= 'x' || c == 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate429: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate430 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate430: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate431 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate431: - c = l.Next() - yyrule = 63 - l.Mark() - switch { - default: - goto yyrule63 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate432: - c = l.Next() - yyrule = 64 - l.Mark() - switch { - default: - goto yyrule64 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate433: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate434 - case c == 'S' || c == 's': - goto yystate438 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate434: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate435 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate435: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate436 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate436: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate437 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate437: - c = l.Next() - yyrule = 65 - l.Mark() - switch { - default: - goto yyrule65 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate438: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate439 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate439: - c = l.Next() - yyrule = 66 - l.Mark() - switch { - default: - goto yyrule66 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate440: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate441 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate441: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate442 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate442: - c = l.Next() - yyrule = 67 - l.Mark() - switch { - default: - goto yyrule67 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate443: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate444 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate444: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate445 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate445: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate446 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate446: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate447 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate447: - c = l.Next() - yyrule = 68 - l.Mark() - switch { - default: - goto yyrule68 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate448: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate449 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate449: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate450 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate450: - c = l.Next() - yyrule = 94 - l.Mark() - switch { - default: - goto yyrule94 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate451: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate452 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate452: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate453 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate453: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate454 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate454: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate455 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate455: - c = l.Next() - yyrule = 70 - l.Mark() - switch { - default: - goto yyrule70 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate456 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate456: - c = l.Next() - switch { - default: - goto yyabort - case c == 'F' || c == 'f': - goto yystate457 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate456 - } - -yystate457: - c = l.Next() - switch { - default: - goto yyabort - case c == 'R' || c == 'r': - goto yystate458 - } - -yystate458: - c = l.Next() - switch { - default: - goto yyabort - case c == 'O' || c == 'o': - goto yystate459 - } - -yystate459: - c = l.Next() - switch { - default: - goto yyabort - case c == 'M' || c == 'm': - goto yystate460 - } - -yystate460: - c = l.Next() - yyrule = 69 - l.Mark() - goto yyrule69 - -yystate461: - c = l.Next() - yyrule = 95 - l.Mark() - goto yyrule95 - -yystate462: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate463 - } - -yystate463: - c = l.Next() - yyrule = 108 - l.Mark() - goto yyrule108 - -yystate464: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate465 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate465: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate466 - case c == 'D' || c == 'd': - goto yystate473 - case c == 'F' || c == 'f': - goto yystate478 - case c == 'H' || c == 'h': - goto yystate493 - case c == 'L' || c == 'l': - goto yystate506 - case c == 'M' || c == 'm': - goto yystate512 - case c == 'N' || c == 'n': - goto yystate520 - case c == 'T' || c == 't': - goto yystate531 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c == 'E' || c == 'G' || c >= 'I' && c <= 'K' || c >= 'O' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c == 'e' || c == 'g' || c >= 'i' && c <= 'k' || c >= 'o' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate466: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate467 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate467: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate468 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate468: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate469 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate469: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate470 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate470: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate471 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate471: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate472 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate472: - c = l.Next() - yyrule = 75 - l.Mark() - switch { - default: - goto yyrule75 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate473: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate474 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate474: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate475 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate475: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate476 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate476: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate477 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate477: - c = l.Next() - yyrule = 76 - l.Mark() - switch { - default: - goto yyrule76 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate478: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate479 - case c == 'U' || c == 'u': - goto yystate484 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'T' || c >= 'V' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 't' || c >= 'v' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate479: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate480 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate480: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate481 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate481: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate482 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate482: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate483 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate483: - c = l.Next() - yyrule = 77 - l.Mark() - switch { - default: - goto yyrule77 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate484: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate485 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate485: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate486 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate486: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate487 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate487: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate488 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate488: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate489 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate489: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate490 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate490: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate491 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate491: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate492 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate492: - c = l.Next() - yyrule = 78 - l.Mark() - switch { - default: - goto yyrule78 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate493: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate494 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate494: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate495 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate495: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate496 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate496: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate497 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate497: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate498 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate498: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate499 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate499: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'M' || c == 'm': - goto yystate500 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate500: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'P' || c == 'p': - goto yystate501 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate501: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate502 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate502: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'L' || c == 'l': - goto yystate503 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'k' || c >= 'm' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate503: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate504 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate504: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate505 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate505: - c = l.Next() - yyrule = 83 - l.Mark() - switch { - default: - goto yyrule83 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate506: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate507 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate507: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'N' || c == 'n': - goto yystate508 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'M' || c >= 'O' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'm' || c >= 'o' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate508: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate509 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate509: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate510 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate510: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate511 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate511: - c = l.Next() - yyrule = 79 - l.Mark() - switch { - default: - goto yyrule79 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate512: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate513 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate513: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate514 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate514: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'H' || c == 'h': - goto yystate515 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'G' || c >= 'I' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'g' || c >= 'i' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate515: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'O' || c == 'o': - goto yystate516 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'N' || c >= 'P' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'n' || c >= 'p' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate516: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'D' || c == 'd': - goto yystate517 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'C' || c >= 'E' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'c' || c >= 'e' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate517: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate518 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate518: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate519 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate519: - c = l.Next() - yyrule = 81 - l.Mark() - switch { - default: - goto yyrule81 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate520: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate521 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate521: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'M' || c == 'm': - goto yystate522 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'L' || c >= 'N' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'l' || c >= 'n' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate522: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate523 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate523: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'S' || c == 's': - goto yystate524 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'R' || c >= 'T' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'r' || c >= 't' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate524: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'P' || c == 'p': - goto yystate525 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'o' || c >= 'q' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate525: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate526 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate526: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'C' || c == 'c': - goto yystate527 - case c >= '0' && c <= '9' || c == 'A' || c == 'B' || c >= 'D' && c <= 'Z' || c == '_' || c == 'a' || c == 'b' || c >= 'd' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate527: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'E' || c == 'e': - goto yystate528 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate528: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate529 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate529: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate530 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate530: - c = l.Next() - yyrule = 80 - l.Mark() - switch { - default: - goto yyrule80 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate531: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'R' || c == 'r': - goto yystate532 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate532: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'A' || c == 'a': - goto yystate533 - case c >= '0' && c <= '9' || c >= 'B' && c <= 'Z' || c == '_' || c >= 'b' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate533: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'I' || c == 'i': - goto yystate534 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'H' || c >= 'J' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'h' || c >= 'j' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate534: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == 'T' || c == 't': - goto yystate535 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'S' || c >= 'U' && c <= 'Z' || c == '_' || c >= 'a' && c <= 's' || c >= 'u' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate535: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate536 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate536: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '_': - goto yystate537 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate537: - c = l.Next() - yyrule = 82 - l.Mark() - switch { - default: - goto yyrule82 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate538: - c = l.Next() - yyrule = 140 - l.Mark() - goto yyrule140 - -yystate539: - c = l.Next() - yyrule = 133 - l.Mark() - switch { - default: - goto yyrule133 - case c == '"': - goto yystate540 - case c == '<': - goto yystate541 - case c == 'R' || c == 'r': - goto yystate181 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Q' || c >= 'S' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'q' || c >= 's' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate165 - } - -yystate540: - c = l.Next() - yyrule = 146 - l.Mark() - goto yyrule146 - -yystate541: - c = l.Next() - switch { - default: - goto yyabort - case c == '<': - goto yystate542 - } - -yystate542: - c = l.Next() - switch { - default: - goto yyabort - case c == '<': - goto yystate138 - } - -yystate543: - c = l.Next() - yyrule = 130 - l.Mark() - goto yyrule130 - -yystate544: - c = l.Next() - yyrule = 129 - l.Mark() - switch { - default: - goto yyrule129 - case c == '=': - goto yystate545 - case c == '|': - goto yystate546 - } - -yystate545: - c = l.Next() - yyrule = 101 - l.Mark() - goto yyrule101 - -yystate546: - c = l.Next() - yyrule = 99 - l.Mark() - goto yyrule99 - -yystate547: - c = l.Next() - yyrule = 131 - l.Mark() - goto yyrule131 - - goto yystate548 // silence unused label error -yystate548: - c = l.Next() -yystart548: - switch { - default: - goto yyabort - case c == '"': - goto yystate550 - case c == '$': - goto yystate551 - case c == '{': - goto yystate554 - case c >= '\x01' && c <= '!' || c == '#' || c >= '%' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate549 - } - -yystate549: - c = l.Next() - yyrule = 151 - l.Mark() - goto yyrule151 - -yystate550: - c = l.Next() - yyrule = 147 - l.Mark() - goto yyrule147 - -yystate551: - c = l.Next() - yyrule = 151 - l.Mark() - switch { - default: - goto yyrule151 - case c == '{': - goto yystate553 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate552 - } - -yystate552: - c = l.Next() - yyrule = 150 - l.Mark() - switch { - default: - goto yyrule150 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate552 - } - -yystate553: - c = l.Next() - yyrule = 149 - l.Mark() - goto yyrule149 - -yystate554: - c = l.Next() - yyrule = 151 - l.Mark() - switch { - default: - goto yyrule151 - case c == '$': - goto yystate555 - } - -yystate555: - c = l.Next() - yyrule = 148 - l.Mark() - goto yyrule148 - - goto yystate556 // silence unused label error -yystate556: - c = l.Next() -yystart556: - switch { - default: - goto yyabort - case c == '$': - goto yystate558 - case c == '-': - goto yystate560 - case c == '[': - goto yystate565 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate563 - case c >= '\x01' && c <= '#' || c >= '%' && c <= ',' || c >= '.' && c <= '@' || c >= '\\' && c <= '^' || c == '`' || c >= '{' && c <= '~': - goto yystate557 - } - -yystate557: - c = l.Next() - yyrule = 158 - l.Mark() - goto yyrule158 - -yystate558: - c = l.Next() - yyrule = 158 - l.Mark() - switch { - default: - goto yyrule158 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate559 - } - -yystate559: - c = l.Next() - yyrule = 154 - l.Mark() - switch { - default: - goto yyrule154 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate559 - } - -yystate560: - c = l.Next() - yyrule = 158 - l.Mark() - switch { - default: - goto yyrule158 - case c == '>': - goto yystate561 - } - -yystate561: - c = l.Next() - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate562 - } - -yystate562: - c = l.Next() - yyrule = 155 - l.Mark() - switch { - default: - goto yyrule155 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate562 - } - -yystate563: - c = l.Next() - yyrule = 156 - l.Mark() - switch { - default: - goto yyrule156 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate564 - } - -yystate564: - c = l.Next() - yyrule = 156 - l.Mark() - switch { - default: - goto yyrule156 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate564 - } - -yystate565: - c = l.Next() - yyrule = 157 - l.Mark() - goto yyrule157 - - goto yystate566 // silence unused label error -yystate566: - c = l.Next() -yystart566: - switch { - default: - goto yyabort - case c == '!' || c == '%' || c == '&' || c >= '(' && c <= '/' || c >= ':' && c <= '@' || c == '[' || c == '^' || c == '|' || c == '~': - goto yystate570 - case c == '$': - goto yystate571 - case c == '0': - goto yystate573 - case c == '\n': - goto yystate569 - case c == '\t' || c == '\r' || c == ' ' || c == '#' || c == '\'' || c == '\\': - goto yystate568 - case c == ']': - goto yystate582 - case c >= '1' && c <= '9': - goto yystate579 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate580 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c == '"' || c == '`' || c == '{' || c == '}': - goto yystate567 - } - -yystate567: - c = l.Next() - yyrule = 165 - l.Mark() - goto yyrule165 - -yystate568: - c = l.Next() - yyrule = 163 - l.Mark() - goto yyrule163 - -yystate569: - c = l.Next() - yyrule = 163 - l.Mark() - goto yyrule163 - -yystate570: - c = l.Next() - yyrule = 164 - l.Mark() - goto yyrule164 - -yystate571: - c = l.Next() - yyrule = 164 - l.Mark() - switch { - default: - goto yyrule164 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate572 - } - -yystate572: - c = l.Next() - yyrule = 160 - l.Mark() - switch { - default: - goto yyrule160 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate572 - } - -yystate573: - c = l.Next() - yyrule = 159 - l.Mark() - switch { - default: - goto yyrule159 - case c == 'B' || c == 'b': - goto yystate575 - case c == 'X' || c == 'x': - goto yystate577 - case c >= '0' && c <= '9': - goto yystate574 - } - -yystate574: - c = l.Next() - yyrule = 159 - l.Mark() - switch { - default: - goto yyrule159 - case c >= '0' && c <= '9': - goto yystate574 - } - -yystate575: - c = l.Next() - switch { - default: - goto yyabort - case c == '0' || c == '1': - goto yystate576 - } - -yystate576: - c = l.Next() - yyrule = 159 - l.Mark() - switch { - default: - goto yyrule159 - case c == '0' || c == '1': - goto yystate576 - } - -yystate577: - c = l.Next() - switch { - default: - goto yyabort - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate578 - } - -yystate578: - c = l.Next() - yyrule = 159 - l.Mark() - switch { - default: - goto yyrule159 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f': - goto yystate578 - } - -yystate579: - c = l.Next() - yyrule = 159 - l.Mark() - switch { - default: - goto yyrule159 - case c >= '0' && c <= '9': - goto yystate574 - } - -yystate580: - c = l.Next() - yyrule = 161 - l.Mark() - switch { - default: - goto yyrule161 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate581 - } - -yystate581: - c = l.Next() - yyrule = 161 - l.Mark() - switch { - default: - goto yyrule161 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate581 - } - -yystate582: - c = l.Next() - yyrule = 162 - l.Mark() - goto yyrule162 - - goto yystate583 // silence unused label error -yystate583: - c = l.Next() -yystart583: - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate585 - case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': - goto yystate584 - } - -yystate584: - c = l.Next() - yyrule = 167 - l.Mark() - goto yyrule167 - -yystate585: - c = l.Next() - yyrule = 167 - l.Mark() - switch { - default: - goto yyrule167 - case c == '[' || c == '}': - goto yystate587 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate586 - } - -yystate586: - c = l.Next() - switch { - default: - goto yyabort - case c == '[' || c == '}': - goto yystate587 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate586 - } - -yystate587: - c = l.Next() - yyrule = 166 - l.Mark() - goto yyrule166 - - goto yystate588 // silence unused label error -yystate588: - c = l.Next() -yystart588: - switch { - default: - goto yyabort - case c == '-': - goto yystate592 - case c == '\n': - goto yystate591 - case c == '\t' || c == '\r' || c == ' ': - goto yystate590 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate594 - case c >= '\x01' && c <= '\b' || c == '\v' || c == '\f' || c >= '\x0e' && c <= '\x1f' || c >= '!' && c <= ',' || c >= '.' && c <= '@' || c >= '[' && c <= '^' || c == '`' || c >= '{' && c <= '~': - goto yystate589 - } - -yystate589: - c = l.Next() - yyrule = 138 - l.Mark() - goto yyrule138 - -yystate590: - c = l.Next() - yyrule = 135 - l.Mark() - switch { - default: - goto yyrule135 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate591 - } - -yystate591: - c = l.Next() - yyrule = 135 - l.Mark() - switch { - default: - goto yyrule135 - case c == '\t' || c == '\n' || c == '\r' || c == ' ': - goto yystate591 - } - -yystate592: - c = l.Next() - yyrule = 138 - l.Mark() - switch { - default: - goto yyrule138 - case c == '>': - goto yystate593 - } - -yystate593: - c = l.Next() - yyrule = 136 - l.Mark() - goto yyrule136 - -yystate594: - c = l.Next() - yyrule = 137 - l.Mark() - switch { - default: - goto yyrule137 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate595 - } - -yystate595: - c = l.Next() - yyrule = 137 - l.Mark() - switch { - default: - goto yyrule137 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate595 - } - - goto yystate596 // silence unused label error -yystate596: - c = l.Next() -yystart596: - switch { - default: - goto yyabort - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate597 - } - -yystate597: - c = l.Next() - yyrule = 145 - l.Mark() - switch { - default: - goto yyrule145 - case c == ';': - goto yystate598 - case c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate597 - } - -yystate598: - c = l.Next() - yyrule = 144 - l.Mark() - goto yyrule144 - - goto yystate599 // silence unused label error -yystate599: - c = l.Next() -yystart599: - switch { - default: - goto yyabort - case c >= '\x01' && c <= 'ÿ': - goto yystate600 - } - -yystate600: - c = l.Next() - yyrule = 143 - l.Mark() - goto yyrule143 - - goto yystate601 // silence unused label error -yystate601: - c = l.Next() -yystart601: - switch { - default: - goto yyabort - case c == '$': - goto yystate603 - case c == '{': - goto yystate604 - case c >= '\x01' && c <= '#' || c >= '%' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate602 - } - -yystate602: - c = l.Next() - yyrule = 153 - l.Mark() - goto yyrule153 - -yystate603: - c = l.Next() - yyrule = 153 - l.Mark() - switch { - default: - goto yyrule153 - case c == '{': - goto yystate553 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate552 - } - -yystate604: - c = l.Next() - yyrule = 153 - l.Mark() - switch { - default: - goto yyrule153 - case c == '$': - goto yystate555 - } - - goto yystate605 // silence unused label error -yystate605: - c = l.Next() -yystart605: - switch { - default: - goto yyabort - case c == '$': - goto yystate607 - case c == '`': - goto yystate608 - case c == '{': - goto yystate609 - case c >= '\x01' && c <= '#' || c >= '%' && c <= '_' || c >= 'a' && c <= 'z' || c >= '|' && c <= 'ÿ': - goto yystate606 - } - -yystate606: - c = l.Next() - yyrule = 152 - l.Mark() - goto yyrule152 - -yystate607: - c = l.Next() - yyrule = 152 - l.Mark() - switch { - default: - goto yyrule152 - case c == '{': - goto yystate553 - case c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ': - goto yystate552 - } - -yystate608: - c = l.Next() - yyrule = 141 - l.Mark() - goto yyrule141 - -yystate609: - c = l.Next() - yyrule = 152 - l.Mark() - switch { - default: - goto yyrule152 - case c == '$': - goto yystate555 - } - - goto yystate610 // silence unused label error -yystate610: - c = l.Next() -yystart610: - switch { - default: - goto yyabort - case c >= '\x01' && c <= 'ÿ': - goto yystate611 - } - -yystate611: - c = l.Next() - yyrule = 168 - l.Mark() - goto yyrule168 - -yyrule1: // [ \t\n\r]+ - { - l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) - goto yystate0 - } -yyrule2: // . +//line scanner/scanner.go:72 { + var _widec int16 + if (lex.p) == (lex.pe) { + goto _test_eof + } + goto _resume - tb := []lex.Char{} - for { - if c == -1 { - tb = l.Token() - break + _again: + switch lex.cs { + case 111: + goto st111 + case 112: + goto st112 + case 113: + goto st113 + case 114: + goto st114 + case 115: + goto st115 + case 116: + goto st116 + case 1: + goto st1 + case 2: + goto st2 + case 3: + goto st3 + case 117: + goto st117 + case 4: + goto st4 + case 118: + goto st118 + case 119: + goto st119 + case 120: + goto st120 + case 5: + goto st5 + case 121: + goto st121 + case 122: + goto st122 + case 123: + goto st123 + case 124: + goto st124 + case 6: + goto st6 + case 7: + goto st7 + case 8: + goto st8 + case 9: + goto st9 + case 10: + goto st10 + case 11: + goto st11 + case 125: + goto st125 + case 126: + goto st126 + case 127: + goto st127 + case 128: + goto st128 + case 129: + goto st129 + case 130: + goto st130 + case 131: + goto st131 + case 12: + goto st12 + case 13: + goto st13 + case 14: + goto st14 + case 15: + goto st15 + case 132: + goto st132 + case 16: + goto st16 + case 17: + goto st17 + case 18: + goto st18 + case 19: + goto st19 + case 20: + goto st20 + case 21: + goto st21 + case 22: + goto st22 + case 23: + goto st23 + case 24: + goto st24 + case 25: + goto st25 + case 26: + goto st26 + case 27: + goto st27 + case 28: + goto st28 + case 29: + goto st29 + case 30: + goto st30 + case 31: + goto st31 + case 32: + goto st32 + case 33: + goto st33 + case 34: + goto st34 + case 35: + goto st35 + case 36: + goto st36 + case 37: + goto st37 + case 38: + goto st38 + case 39: + goto st39 + case 40: + goto st40 + case 41: + goto st41 + case 42: + goto st42 + case 43: + goto st43 + case 44: + goto st44 + case 45: + goto st45 + case 46: + goto st46 + case 47: + goto st47 + case 48: + goto st48 + case 49: + goto st49 + case 50: + goto st50 + case 51: + goto st51 + case 52: + goto st52 + case 53: + goto st53 + case 54: + goto st54 + case 55: + goto st55 + case 56: + goto st56 + case 57: + goto st57 + case 58: + goto st58 + case 59: + goto st59 + case 60: + goto st60 + case 61: + goto st61 + case 62: + goto st62 + case 63: + goto st63 + case 64: + goto st64 + case 65: + goto st65 + case 66: + goto st66 + case 67: + goto st67 + case 68: + goto st68 + case 69: + goto st69 + case 133: + goto st133 + case 134: + goto st134 + case 135: + goto st135 + case 136: + goto st136 + case 137: + goto st137 + case 70: + goto st70 + case 138: + goto st138 + case 71: + goto st71 + case 72: + goto st72 + case 139: + goto st139 + case 140: + goto st140 + case 73: + goto st73 + case 74: + goto st74 + case 75: + goto st75 + case 141: + goto st141 + case 142: + goto st142 + case 76: + goto st76 + case 143: + goto st143 + case 77: + goto st77 + case 144: + goto st144 + case 145: + goto st145 + case 146: + goto st146 + case 147: + goto st147 + case 148: + goto st148 + case 149: + goto st149 + case 150: + goto st150 + case 78: + goto st78 + case 79: + goto st79 + case 80: + goto st80 + case 81: + goto st81 + case 151: + goto st151 + case 152: + goto st152 + case 82: + goto st82 + case 153: + goto st153 + case 154: + goto st154 + case 83: + goto st83 + case 84: + goto st84 + case 85: + goto st85 + case 86: + goto st86 + case 155: + goto st155 + case 87: + goto st87 + case 88: + goto st88 + case 89: + goto st89 + case 90: + goto st90 + case 156: + goto st156 + case 157: + goto st157 + case 158: + goto st158 + case 159: + goto st159 + case 160: + goto st160 + case 161: + goto st161 + case 162: + goto st162 + case 163: + goto st163 + case 91: + goto st91 + case 164: + goto st164 + case 165: + goto st165 + case 166: + goto st166 + case 167: + goto st167 + case 168: + goto st168 + case 169: + goto st169 + case 170: + goto st170 + case 171: + goto st171 + case 172: + goto st172 + case 173: + goto st173 + case 174: + goto st174 + case 175: + goto st175 + case 92: + goto st92 + case 93: + goto st93 + case 176: + goto st176 + case 177: + goto st177 + case 178: + goto st178 + case 179: + goto st179 + case 180: + goto st180 + case 181: + goto st181 + case 182: + goto st182 + case 183: + goto st183 + case 184: + goto st184 + case 185: + goto st185 + case 186: + goto st186 + case 187: + goto st187 + case 188: + goto st188 + case 189: + goto st189 + case 190: + goto st190 + case 191: + goto st191 + case 192: + goto st192 + case 193: + goto st193 + case 194: + goto st194 + case 195: + goto st195 + case 196: + goto st196 + case 197: + goto st197 + case 198: + goto st198 + case 199: + goto st199 + case 200: + goto st200 + case 201: + goto st201 + case 202: + goto st202 + case 203: + goto st203 + case 204: + goto st204 + case 205: + goto st205 + case 206: + goto st206 + case 207: + goto st207 + case 208: + goto st208 + case 209: + goto st209 + case 210: + goto st210 + case 211: + goto st211 + case 212: + goto st212 + case 213: + goto st213 + case 214: + goto st214 + case 215: + goto st215 + case 216: + goto st216 + case 217: + goto st217 + case 218: + goto st218 + case 219: + goto st219 + case 220: + goto st220 + case 221: + goto st221 + case 222: + goto st222 + case 223: + goto st223 + case 224: + goto st224 + case 225: + goto st225 + case 226: + goto st226 + case 227: + goto st227 + case 228: + goto st228 + case 229: + goto st229 + case 230: + goto st230 + case 231: + goto st231 + case 232: + goto st232 + case 233: + goto st233 + case 234: + goto st234 + case 235: + goto st235 + case 236: + goto st236 + case 237: + goto st237 + case 238: + goto st238 + case 239: + goto st239 + case 240: + goto st240 + case 241: + goto st241 + case 242: + goto st242 + case 243: + goto st243 + case 244: + goto st244 + case 245: + goto st245 + case 246: + goto st246 + case 247: + goto st247 + case 248: + goto st248 + case 249: + goto st249 + case 250: + goto st250 + case 251: + goto st251 + case 252: + goto st252 + case 253: + goto st253 + case 254: + goto st254 + case 255: + goto st255 + case 256: + goto st256 + case 257: + goto st257 + case 258: + goto st258 + case 259: + goto st259 + case 260: + goto st260 + case 261: + goto st261 + case 262: + goto st262 + case 263: + goto st263 + case 264: + goto st264 + case 265: + goto st265 + case 266: + goto st266 + case 267: + goto st267 + case 268: + goto st268 + case 269: + goto st269 + case 270: + goto st270 + case 271: + goto st271 + case 272: + goto st272 + case 273: + goto st273 + case 274: + goto st274 + case 275: + goto st275 + case 276: + goto st276 + case 277: + goto st277 + case 278: + goto st278 + case 279: + goto st279 + case 280: + goto st280 + case 281: + goto st281 + case 282: + goto st282 + case 283: + goto st283 + case 284: + goto st284 + case 285: + goto st285 + case 286: + goto st286 + case 287: + goto st287 + case 288: + goto st288 + case 289: + goto st289 + case 290: + goto st290 + case 291: + goto st291 + case 292: + goto st292 + case 293: + goto st293 + case 294: + goto st294 + case 295: + goto st295 + case 296: + goto st296 + case 297: + goto st297 + case 298: + goto st298 + case 299: + goto st299 + case 300: + goto st300 + case 301: + goto st301 + case 302: + goto st302 + case 303: + goto st303 + case 304: + goto st304 + case 305: + goto st305 + case 306: + goto st306 + case 307: + goto st307 + case 308: + goto st308 + case 309: + goto st309 + case 310: + goto st310 + case 311: + goto st311 + case 312: + goto st312 + case 313: + goto st313 + case 314: + goto st314 + case 315: + goto st315 + case 316: + goto st316 + case 317: + goto st317 + case 318: + goto st318 + case 319: + goto st319 + case 320: + goto st320 + case 321: + goto st321 + case 322: + goto st322 + case 323: + goto st323 + case 324: + goto st324 + case 325: + goto st325 + case 326: + goto st326 + case 327: + goto st327 + case 328: + goto st328 + case 329: + goto st329 + case 330: + goto st330 + case 331: + goto st331 + case 332: + goto st332 + case 333: + goto st333 + case 334: + goto st334 + case 335: + goto st335 + case 336: + goto st336 + case 337: + goto st337 + case 338: + goto st338 + case 339: + goto st339 + case 340: + goto st340 + case 341: + goto st341 + case 342: + goto st342 + case 343: + goto st343 + case 344: + goto st344 + case 345: + goto st345 + case 346: + goto st346 + case 347: + goto st347 + case 348: + goto st348 + case 349: + goto st349 + case 350: + goto st350 + case 351: + goto st351 + case 352: + goto st352 + case 353: + goto st353 + case 354: + goto st354 + case 355: + goto st355 + case 356: + goto st356 + case 357: + goto st357 + case 358: + goto st358 + case 359: + goto st359 + case 360: + goto st360 + case 361: + goto st361 + case 362: + goto st362 + case 363: + goto st363 + case 364: + goto st364 + case 365: + goto st365 + case 366: + goto st366 + case 367: + goto st367 + case 368: + goto st368 + case 369: + goto st369 + case 370: + goto st370 + case 371: + goto st371 + case 372: + goto st372 + case 373: + goto st373 + case 374: + goto st374 + case 375: + goto st375 + case 376: + goto st376 + case 377: + goto st377 + case 378: + goto st378 + case 379: + goto st379 + case 380: + goto st380 + case 381: + goto st381 + case 382: + goto st382 + case 383: + goto st383 + case 384: + goto st384 + case 385: + goto st385 + case 386: + goto st386 + case 387: + goto st387 + case 388: + goto st388 + case 389: + goto st389 + case 390: + goto st390 + case 391: + goto st391 + case 392: + goto st392 + case 393: + goto st393 + case 394: + goto st394 + case 395: + goto st395 + case 94: + goto st94 + case 95: + goto st95 + case 96: + goto st96 + case 97: + goto st97 + case 98: + goto st98 + case 99: + goto st99 + case 396: + goto st396 + case 397: + goto st397 + case 398: + goto st398 + case 399: + goto st399 + case 400: + goto st400 + case 401: + goto st401 + case 402: + goto st402 + case 403: + goto st403 + case 404: + goto st404 + case 405: + goto st405 + case 406: + goto st406 + case 407: + goto st407 + case 408: + goto st408 + case 409: + goto st409 + case 410: + goto st410 + case 411: + goto st411 + case 412: + goto st412 + case 413: + goto st413 + case 414: + goto st414 + case 415: + goto st415 + case 416: + goto st416 + case 417: + goto st417 + case 418: + goto st418 + case 419: + goto st419 + case 420: + goto st420 + case 421: + goto st421 + case 422: + goto st422 + case 423: + goto st423 + case 424: + goto st424 + case 425: + goto st425 + case 426: + goto st426 + case 427: + goto st427 + case 428: + goto st428 + case 429: + goto st429 + case 430: + goto st430 + case 431: + goto st431 + case 432: + goto st432 + case 433: + goto st433 + case 434: + goto st434 + case 435: + goto st435 + case 436: + goto st436 + case 437: + goto st437 + case 438: + goto st438 + case 439: + goto st439 + case 440: + goto st440 + case 441: + goto st441 + case 442: + goto st442 + case 443: + goto st443 + case 444: + goto st444 + case 445: + goto st445 + case 446: + goto st446 + case 447: + goto st447 + case 448: + goto st448 + case 449: + goto st449 + case 450: + goto st450 + case 451: + goto st451 + case 452: + goto st452 + case 453: + goto st453 + case 454: + goto st454 + case 455: + goto st455 + case 456: + goto st456 + case 457: + goto st457 + case 458: + goto st458 + case 459: + goto st459 + case 460: + goto st460 + case 461: + goto st461 + case 462: + goto st462 + case 463: + goto st463 + case 464: + goto st464 + case 465: + goto st465 + case 466: + goto st466 + case 467: + goto st467 + case 468: + goto st468 + case 100: + goto st100 + case 469: + goto st469 + case 470: + goto st470 + case 471: + goto st471 + case 472: + goto st472 + case 0: + goto st0 + case 473: + goto st473 + case 474: + goto st474 + case 475: + goto st475 + case 476: + goto st476 + case 101: + goto st101 + case 477: + goto st477 + case 478: + goto st478 + case 479: + goto st479 + case 480: + goto st480 + case 481: + goto st481 + case 482: + goto st482 + case 102: + goto st102 + case 483: + goto st483 + case 484: + goto st484 + case 485: + goto st485 + case 486: + goto st486 + case 487: + goto st487 + case 488: + goto st488 + case 103: + goto st103 + case 489: + goto st489 + case 490: + goto st490 + case 491: + goto st491 + case 492: + goto st492 + case 493: + goto st493 + case 494: + goto st494 + case 495: + goto st495 + case 496: + goto st496 + case 497: + goto st497 + case 498: + goto st498 + case 104: + goto st104 + case 499: + goto st499 + case 500: + goto st500 + case 501: + goto st501 + case 502: + goto st502 + case 503: + goto st503 + case 504: + goto st504 + case 505: + goto st505 + case 506: + goto st506 + case 105: + goto st105 + case 507: + goto st507 + case 106: + goto st106 + case 508: + goto st508 + case 509: + goto st509 + case 510: + goto st510 + case 511: + goto st511 + case 512: + goto st512 + case 107: + goto st107 + case 513: + goto st513 + case 514: + goto st514 + case 515: + goto st515 + case 108: + goto st108 + case 516: + goto st516 + case 517: + goto st517 + case 518: + goto st518 + case 519: + goto st519 + case 109: + goto st109 + case 520: + goto st520 + case 521: + goto st521 + case 522: + goto st522 + case 523: + goto st523 + case 110: + goto st110 + case 524: + goto st524 + case 525: + goto st525 + case 526: + goto st526 + case 527: + goto st527 + } + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof + } + _resume: + switch lex.cs { + case 111: + goto st_case_111 + case 112: + goto st_case_112 + case 113: + goto st_case_113 + case 114: + goto st_case_114 + case 115: + goto st_case_115 + case 116: + goto st_case_116 + case 1: + goto st_case_1 + case 2: + goto st_case_2 + case 3: + goto st_case_3 + case 117: + goto st_case_117 + case 4: + goto st_case_4 + case 118: + goto st_case_118 + case 119: + goto st_case_119 + case 120: + goto st_case_120 + case 5: + goto st_case_5 + case 121: + goto st_case_121 + case 122: + goto st_case_122 + case 123: + goto st_case_123 + case 124: + goto st_case_124 + case 6: + goto st_case_6 + case 7: + goto st_case_7 + case 8: + goto st_case_8 + case 9: + goto st_case_9 + case 10: + goto st_case_10 + case 11: + goto st_case_11 + case 125: + goto st_case_125 + case 126: + goto st_case_126 + case 127: + goto st_case_127 + case 128: + goto st_case_128 + case 129: + goto st_case_129 + case 130: + goto st_case_130 + case 131: + goto st_case_131 + case 12: + goto st_case_12 + case 13: + goto st_case_13 + case 14: + goto st_case_14 + case 15: + goto st_case_15 + case 132: + goto st_case_132 + case 16: + goto st_case_16 + case 17: + goto st_case_17 + case 18: + goto st_case_18 + case 19: + goto st_case_19 + case 20: + goto st_case_20 + case 21: + goto st_case_21 + case 22: + goto st_case_22 + case 23: + goto st_case_23 + case 24: + goto st_case_24 + case 25: + goto st_case_25 + case 26: + goto st_case_26 + case 27: + goto st_case_27 + case 28: + goto st_case_28 + case 29: + goto st_case_29 + case 30: + goto st_case_30 + case 31: + goto st_case_31 + case 32: + goto st_case_32 + case 33: + goto st_case_33 + case 34: + goto st_case_34 + case 35: + goto st_case_35 + case 36: + goto st_case_36 + case 37: + goto st_case_37 + case 38: + goto st_case_38 + case 39: + goto st_case_39 + case 40: + goto st_case_40 + case 41: + goto st_case_41 + case 42: + goto st_case_42 + case 43: + goto st_case_43 + case 44: + goto st_case_44 + case 45: + goto st_case_45 + case 46: + goto st_case_46 + case 47: + goto st_case_47 + case 48: + goto st_case_48 + case 49: + goto st_case_49 + case 50: + goto st_case_50 + case 51: + goto st_case_51 + case 52: + goto st_case_52 + case 53: + goto st_case_53 + case 54: + goto st_case_54 + case 55: + goto st_case_55 + case 56: + goto st_case_56 + case 57: + goto st_case_57 + case 58: + goto st_case_58 + case 59: + goto st_case_59 + case 60: + goto st_case_60 + case 61: + goto st_case_61 + case 62: + goto st_case_62 + case 63: + goto st_case_63 + case 64: + goto st_case_64 + case 65: + goto st_case_65 + case 66: + goto st_case_66 + case 67: + goto st_case_67 + case 68: + goto st_case_68 + case 69: + goto st_case_69 + case 133: + goto st_case_133 + case 134: + goto st_case_134 + case 135: + goto st_case_135 + case 136: + goto st_case_136 + case 137: + goto st_case_137 + case 70: + goto st_case_70 + case 138: + goto st_case_138 + case 71: + goto st_case_71 + case 72: + goto st_case_72 + case 139: + goto st_case_139 + case 140: + goto st_case_140 + case 73: + goto st_case_73 + case 74: + goto st_case_74 + case 75: + goto st_case_75 + case 141: + goto st_case_141 + case 142: + goto st_case_142 + case 76: + goto st_case_76 + case 143: + goto st_case_143 + case 77: + goto st_case_77 + case 144: + goto st_case_144 + case 145: + goto st_case_145 + case 146: + goto st_case_146 + case 147: + goto st_case_147 + case 148: + goto st_case_148 + case 149: + goto st_case_149 + case 150: + goto st_case_150 + case 78: + goto st_case_78 + case 79: + goto st_case_79 + case 80: + goto st_case_80 + case 81: + goto st_case_81 + case 151: + goto st_case_151 + case 152: + goto st_case_152 + case 82: + goto st_case_82 + case 153: + goto st_case_153 + case 154: + goto st_case_154 + case 83: + goto st_case_83 + case 84: + goto st_case_84 + case 85: + goto st_case_85 + case 86: + goto st_case_86 + case 155: + goto st_case_155 + case 87: + goto st_case_87 + case 88: + goto st_case_88 + case 89: + goto st_case_89 + case 90: + goto st_case_90 + case 156: + goto st_case_156 + case 157: + goto st_case_157 + case 158: + goto st_case_158 + case 159: + goto st_case_159 + case 160: + goto st_case_160 + case 161: + goto st_case_161 + case 162: + goto st_case_162 + case 163: + goto st_case_163 + case 91: + goto st_case_91 + case 164: + goto st_case_164 + case 165: + goto st_case_165 + case 166: + goto st_case_166 + case 167: + goto st_case_167 + case 168: + goto st_case_168 + case 169: + goto st_case_169 + case 170: + goto st_case_170 + case 171: + goto st_case_171 + case 172: + goto st_case_172 + case 173: + goto st_case_173 + case 174: + goto st_case_174 + case 175: + goto st_case_175 + case 92: + goto st_case_92 + case 93: + goto st_case_93 + case 176: + goto st_case_176 + case 177: + goto st_case_177 + case 178: + goto st_case_178 + case 179: + goto st_case_179 + case 180: + goto st_case_180 + case 181: + goto st_case_181 + case 182: + goto st_case_182 + case 183: + goto st_case_183 + case 184: + goto st_case_184 + case 185: + goto st_case_185 + case 186: + goto st_case_186 + case 187: + goto st_case_187 + case 188: + goto st_case_188 + case 189: + goto st_case_189 + case 190: + goto st_case_190 + case 191: + goto st_case_191 + case 192: + goto st_case_192 + case 193: + goto st_case_193 + case 194: + goto st_case_194 + case 195: + goto st_case_195 + case 196: + goto st_case_196 + case 197: + goto st_case_197 + case 198: + goto st_case_198 + case 199: + goto st_case_199 + case 200: + goto st_case_200 + case 201: + goto st_case_201 + case 202: + goto st_case_202 + case 203: + goto st_case_203 + case 204: + goto st_case_204 + case 205: + goto st_case_205 + case 206: + goto st_case_206 + case 207: + goto st_case_207 + case 208: + goto st_case_208 + case 209: + goto st_case_209 + case 210: + goto st_case_210 + case 211: + goto st_case_211 + case 212: + goto st_case_212 + case 213: + goto st_case_213 + case 214: + goto st_case_214 + case 215: + goto st_case_215 + case 216: + goto st_case_216 + case 217: + goto st_case_217 + case 218: + goto st_case_218 + case 219: + goto st_case_219 + case 220: + goto st_case_220 + case 221: + goto st_case_221 + case 222: + goto st_case_222 + case 223: + goto st_case_223 + case 224: + goto st_case_224 + case 225: + goto st_case_225 + case 226: + goto st_case_226 + case 227: + goto st_case_227 + case 228: + goto st_case_228 + case 229: + goto st_case_229 + case 230: + goto st_case_230 + case 231: + goto st_case_231 + case 232: + goto st_case_232 + case 233: + goto st_case_233 + case 234: + goto st_case_234 + case 235: + goto st_case_235 + case 236: + goto st_case_236 + case 237: + goto st_case_237 + case 238: + goto st_case_238 + case 239: + goto st_case_239 + case 240: + goto st_case_240 + case 241: + goto st_case_241 + case 242: + goto st_case_242 + case 243: + goto st_case_243 + case 244: + goto st_case_244 + case 245: + goto st_case_245 + case 246: + goto st_case_246 + case 247: + goto st_case_247 + case 248: + goto st_case_248 + case 249: + goto st_case_249 + case 250: + goto st_case_250 + case 251: + goto st_case_251 + case 252: + goto st_case_252 + case 253: + goto st_case_253 + case 254: + goto st_case_254 + case 255: + goto st_case_255 + case 256: + goto st_case_256 + case 257: + goto st_case_257 + case 258: + goto st_case_258 + case 259: + goto st_case_259 + case 260: + goto st_case_260 + case 261: + goto st_case_261 + case 262: + goto st_case_262 + case 263: + goto st_case_263 + case 264: + goto st_case_264 + case 265: + goto st_case_265 + case 266: + goto st_case_266 + case 267: + goto st_case_267 + case 268: + goto st_case_268 + case 269: + goto st_case_269 + case 270: + goto st_case_270 + case 271: + goto st_case_271 + case 272: + goto st_case_272 + case 273: + goto st_case_273 + case 274: + goto st_case_274 + case 275: + goto st_case_275 + case 276: + goto st_case_276 + case 277: + goto st_case_277 + case 278: + goto st_case_278 + case 279: + goto st_case_279 + case 280: + goto st_case_280 + case 281: + goto st_case_281 + case 282: + goto st_case_282 + case 283: + goto st_case_283 + case 284: + goto st_case_284 + case 285: + goto st_case_285 + case 286: + goto st_case_286 + case 287: + goto st_case_287 + case 288: + goto st_case_288 + case 289: + goto st_case_289 + case 290: + goto st_case_290 + case 291: + goto st_case_291 + case 292: + goto st_case_292 + case 293: + goto st_case_293 + case 294: + goto st_case_294 + case 295: + goto st_case_295 + case 296: + goto st_case_296 + case 297: + goto st_case_297 + case 298: + goto st_case_298 + case 299: + goto st_case_299 + case 300: + goto st_case_300 + case 301: + goto st_case_301 + case 302: + goto st_case_302 + case 303: + goto st_case_303 + case 304: + goto st_case_304 + case 305: + goto st_case_305 + case 306: + goto st_case_306 + case 307: + goto st_case_307 + case 308: + goto st_case_308 + case 309: + goto st_case_309 + case 310: + goto st_case_310 + case 311: + goto st_case_311 + case 312: + goto st_case_312 + case 313: + goto st_case_313 + case 314: + goto st_case_314 + case 315: + goto st_case_315 + case 316: + goto st_case_316 + case 317: + goto st_case_317 + case 318: + goto st_case_318 + case 319: + goto st_case_319 + case 320: + goto st_case_320 + case 321: + goto st_case_321 + case 322: + goto st_case_322 + case 323: + goto st_case_323 + case 324: + goto st_case_324 + case 325: + goto st_case_325 + case 326: + goto st_case_326 + case 327: + goto st_case_327 + case 328: + goto st_case_328 + case 329: + goto st_case_329 + case 330: + goto st_case_330 + case 331: + goto st_case_331 + case 332: + goto st_case_332 + case 333: + goto st_case_333 + case 334: + goto st_case_334 + case 335: + goto st_case_335 + case 336: + goto st_case_336 + case 337: + goto st_case_337 + case 338: + goto st_case_338 + case 339: + goto st_case_339 + case 340: + goto st_case_340 + case 341: + goto st_case_341 + case 342: + goto st_case_342 + case 343: + goto st_case_343 + case 344: + goto st_case_344 + case 345: + goto st_case_345 + case 346: + goto st_case_346 + case 347: + goto st_case_347 + case 348: + goto st_case_348 + case 349: + goto st_case_349 + case 350: + goto st_case_350 + case 351: + goto st_case_351 + case 352: + goto st_case_352 + case 353: + goto st_case_353 + case 354: + goto st_case_354 + case 355: + goto st_case_355 + case 356: + goto st_case_356 + case 357: + goto st_case_357 + case 358: + goto st_case_358 + case 359: + goto st_case_359 + case 360: + goto st_case_360 + case 361: + goto st_case_361 + case 362: + goto st_case_362 + case 363: + goto st_case_363 + case 364: + goto st_case_364 + case 365: + goto st_case_365 + case 366: + goto st_case_366 + case 367: + goto st_case_367 + case 368: + goto st_case_368 + case 369: + goto st_case_369 + case 370: + goto st_case_370 + case 371: + goto st_case_371 + case 372: + goto st_case_372 + case 373: + goto st_case_373 + case 374: + goto st_case_374 + case 375: + goto st_case_375 + case 376: + goto st_case_376 + case 377: + goto st_case_377 + case 378: + goto st_case_378 + case 379: + goto st_case_379 + case 380: + goto st_case_380 + case 381: + goto st_case_381 + case 382: + goto st_case_382 + case 383: + goto st_case_383 + case 384: + goto st_case_384 + case 385: + goto st_case_385 + case 386: + goto st_case_386 + case 387: + goto st_case_387 + case 388: + goto st_case_388 + case 389: + goto st_case_389 + case 390: + goto st_case_390 + case 391: + goto st_case_391 + case 392: + goto st_case_392 + case 393: + goto st_case_393 + case 394: + goto st_case_394 + case 395: + goto st_case_395 + case 94: + goto st_case_94 + case 95: + goto st_case_95 + case 96: + goto st_case_96 + case 97: + goto st_case_97 + case 98: + goto st_case_98 + case 99: + goto st_case_99 + case 396: + goto st_case_396 + case 397: + goto st_case_397 + case 398: + goto st_case_398 + case 399: + goto st_case_399 + case 400: + goto st_case_400 + case 401: + goto st_case_401 + case 402: + goto st_case_402 + case 403: + goto st_case_403 + case 404: + goto st_case_404 + case 405: + goto st_case_405 + case 406: + goto st_case_406 + case 407: + goto st_case_407 + case 408: + goto st_case_408 + case 409: + goto st_case_409 + case 410: + goto st_case_410 + case 411: + goto st_case_411 + case 412: + goto st_case_412 + case 413: + goto st_case_413 + case 414: + goto st_case_414 + case 415: + goto st_case_415 + case 416: + goto st_case_416 + case 417: + goto st_case_417 + case 418: + goto st_case_418 + case 419: + goto st_case_419 + case 420: + goto st_case_420 + case 421: + goto st_case_421 + case 422: + goto st_case_422 + case 423: + goto st_case_423 + case 424: + goto st_case_424 + case 425: + goto st_case_425 + case 426: + goto st_case_426 + case 427: + goto st_case_427 + case 428: + goto st_case_428 + case 429: + goto st_case_429 + case 430: + goto st_case_430 + case 431: + goto st_case_431 + case 432: + goto st_case_432 + case 433: + goto st_case_433 + case 434: + goto st_case_434 + case 435: + goto st_case_435 + case 436: + goto st_case_436 + case 437: + goto st_case_437 + case 438: + goto st_case_438 + case 439: + goto st_case_439 + case 440: + goto st_case_440 + case 441: + goto st_case_441 + case 442: + goto st_case_442 + case 443: + goto st_case_443 + case 444: + goto st_case_444 + case 445: + goto st_case_445 + case 446: + goto st_case_446 + case 447: + goto st_case_447 + case 448: + goto st_case_448 + case 449: + goto st_case_449 + case 450: + goto st_case_450 + case 451: + goto st_case_451 + case 452: + goto st_case_452 + case 453: + goto st_case_453 + case 454: + goto st_case_454 + case 455: + goto st_case_455 + case 456: + goto st_case_456 + case 457: + goto st_case_457 + case 458: + goto st_case_458 + case 459: + goto st_case_459 + case 460: + goto st_case_460 + case 461: + goto st_case_461 + case 462: + goto st_case_462 + case 463: + goto st_case_463 + case 464: + goto st_case_464 + case 465: + goto st_case_465 + case 466: + goto st_case_466 + case 467: + goto st_case_467 + case 468: + goto st_case_468 + case 100: + goto st_case_100 + case 469: + goto st_case_469 + case 470: + goto st_case_470 + case 471: + goto st_case_471 + case 472: + goto st_case_472 + case 0: + goto st_case_0 + case 473: + goto st_case_473 + case 474: + goto st_case_474 + case 475: + goto st_case_475 + case 476: + goto st_case_476 + case 101: + goto st_case_101 + case 477: + goto st_case_477 + case 478: + goto st_case_478 + case 479: + goto st_case_479 + case 480: + goto st_case_480 + case 481: + goto st_case_481 + case 482: + goto st_case_482 + case 102: + goto st_case_102 + case 483: + goto st_case_483 + case 484: + goto st_case_484 + case 485: + goto st_case_485 + case 486: + goto st_case_486 + case 487: + goto st_case_487 + case 488: + goto st_case_488 + case 103: + goto st_case_103 + case 489: + goto st_case_489 + case 490: + goto st_case_490 + case 491: + goto st_case_491 + case 492: + goto st_case_492 + case 493: + goto st_case_493 + case 494: + goto st_case_494 + case 495: + goto st_case_495 + case 496: + goto st_case_496 + case 497: + goto st_case_497 + case 498: + goto st_case_498 + case 104: + goto st_case_104 + case 499: + goto st_case_499 + case 500: + goto st_case_500 + case 501: + goto st_case_501 + case 502: + goto st_case_502 + case 503: + goto st_case_503 + case 504: + goto st_case_504 + case 505: + goto st_case_505 + case 506: + goto st_case_506 + case 105: + goto st_case_105 + case 507: + goto st_case_507 + case 106: + goto st_case_106 + case 508: + goto st_case_508 + case 509: + goto st_case_509 + case 510: + goto st_case_510 + case 511: + goto st_case_511 + case 512: + goto st_case_512 + case 107: + goto st_case_107 + case 513: + goto st_case_513 + case 514: + goto st_case_514 + case 515: + goto st_case_515 + case 108: + goto st_case_108 + case 516: + goto st_case_516 + case 517: + goto st_case_517 + case 518: + goto st_case_518 + case 519: + goto st_case_519 + case 109: + goto st_case_109 + case 520: + goto st_case_520 + case 521: + goto st_case_521 + case 522: + goto st_case_522 + case 523: + goto st_case_523 + case 110: + goto st_case_110 + case 524: + goto st_case_524 + case 525: + goto st_case_525 + case 526: + goto st_case_526 + case 527: + goto st_case_527 + } + goto st_out + tr0: + lex.cs = 111 +//line scanner/scanner.rl:113 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te) + lex.cs = 118 + } + goto _again + tr3: + lex.cs = 111 +//line scanner/scanner.rl:117 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(lex.te - lex.ts - 5) + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.ts+5) + lex.cs = 118 + } + goto _again + tr177: +//line scanner/scanner.rl:107 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetStr("<") + lex.createToken(lval) + tok = T_INLINE_HTML + { + (lex.p)++ + lex.cs = 111 + goto _out } - if '?' == rune(c) { - tb = l.Token() - if len(tb) < 2 || tb[len(tb)-1].Rune != '<' { - c = l.Next() - continue + } + goto st111 + tr179: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:107 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetStr("<") + lex.createToken(lval) + tok = T_INLINE_HTML + { + (lex.p)++ + lex.cs = 111 + goto _out + } + } + goto st111 + tr184: + lex.cs = 111 +//line scanner/scanner.rl:113 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te) + lex.cs = 118 + } + goto _again + tr185: + lex.cs = 111 +//line scanner/scanner.rl:122 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_ECHO + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + tr187: + lex.cs = 111 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:117 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(lex.te - lex.ts - 5) + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.ts+5) + lex.cs = 118 + } + goto _again + st111: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof111 + } + st_case_111: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:2291 + switch lex.data[(lex.p)] { + case 10: + goto st113 + case 60: + goto st115 + } + goto st112 + tr180: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st112 + st112: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof112 + } + st_case_112: +//line scanner/scanner.go:2308 + switch lex.data[(lex.p)] { + case 10: + goto st113 + case 60: + goto st114 + } + goto st112 + tr181: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st113 + st113: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof113 + } + st_case_113: +//line scanner/scanner.go:2325 + switch lex.data[(lex.p)] { + case 10: + goto tr181 + case 60: + goto tr182 + } + goto tr180 + tr182: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st114 + st114: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof114 + } + st_case_114: +//line scanner/scanner.go:2342 + switch lex.data[(lex.p)] { + case 10: + goto st113 + case 60: + goto st114 + case 63: + goto tr177 + } + goto st112 + st115: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof115 + } + st_case_115: + switch lex.data[(lex.p)] { + case 10: + goto st113 + case 60: + goto st114 + case 63: + goto tr183 + } + goto st112 + tr183: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st116 + st116: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof116 + } + st_case_116: +//line scanner/scanner.go:2376 + switch lex.data[(lex.p)] { + case 61: + goto tr185 + case 80: + goto st1 + case 112: + goto st1 + } + goto tr184 + st1: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof1 + } + st_case_1: + switch lex.data[(lex.p)] { + case 72: + goto st2 + case 104: + goto st2 + } + goto tr0 + st2: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof2 + } + st_case_2: + switch lex.data[(lex.p)] { + case 80: + goto st3 + case 112: + goto st3 + } + goto tr0 + st3: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof3 + } + st_case_3: + switch lex.data[(lex.p)] { + case 9: + goto tr3 + case 10: + goto st117 + case 13: + goto st4 + case 32: + goto tr3 + } + goto tr0 + st117: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof117 + } + st_case_117: + goto tr187 + st4: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof4 + } + st_case_4: + if lex.data[(lex.p)] == 10 { + goto st117 + } + goto tr0 + tr6: +//line scanner/scanner.rl:131 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st118 + tr8: + lex.cs = 118 +//line NONE:1 + switch lex.act { + case 8: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + goto _out } - tb = l.ungetChars(1) - break } - c = l.Next() - } - lval.Token(l.createToken(tb)) - return int(T_INLINE_HTML) - } -yyrule3: // \<\?php([ \t]|{NEW_LINE}) - { - l.addFreeFloating(freefloating.TokenType, l.Token()[:5]) - l.Begin(PHP) - l.ungetChars(len(l.Token()) - 5) - goto yystate0 - } -yyrule4: // \<\? - { - l.addFreeFloating(freefloating.TokenType, l.Token()) - l.Begin(PHP) - goto yystate0 - } -yyrule5: // \<\?= - { - l.Begin(PHP) - lval.Token(l.createToken(l.Token())) - return int(T_ECHO) - goto yystate0 - } -yyrule6: // [ \t\n\r]+ - { - l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) - goto yystate0 - } -yyrule7: // [;][ \t\n\r]*\?\>{NEW_LINE}? - { - l.Begin(INITIAL) - lval.Token(l.createToken(l.Token())) - return Rune2Class(';') - goto yystate0 - } -yyrule8: // \?\>{NEW_LINE}? - { - l.Begin(INITIAL) - lval.Token(l.createToken(l.Token())) - return Rune2Class(';') - goto yystate0 - } -yyrule9: // {DNUM}|{EXPONENT_DNUM} - { - lval.Token(l.createToken(l.Token())) - return int(T_DNUMBER) - goto yystate0 - } -yyrule10: // {BNUM} - { + case 10: + { + (lex.p) = (lex.te) - 1 - tb := l.Token() - i := 2 - BNUMFOR: - for { - if i > len(tb)-1 { - break BNUMFOR - } - switch tb[i].Rune { - case '0': - i++ - default: - break BNUMFOR - } - } - if len(tb)-i < 64 { - lval.Token(l.createToken(l.Token())) - return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())) - return int(T_DNUMBER) - } - goto yystate0 - } -yyrule11: // {LNUM} - { - - if len(l.Token()) < 20 { - lval.Token(l.createToken(l.Token())) - return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())) - return int(T_DNUMBER) - } - goto yystate0 - } -yyrule12: // {HNUM} - { - - tb := l.Token() - i := 2 - HNUMFOR: - for { - if i > len(tb)-1 { - break HNUMFOR - } - switch tb[i].Rune { - case '0': - i++ - default: - break HNUMFOR - } - } - length := len(tb) - i - if length < 16 || (length == 16 && tb[i].Rune <= '7') { - lval.Token(l.createToken(l.Token())) - return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())) - return int(T_DNUMBER) - } - goto yystate0 - } -yyrule13: // abstract - { - lval.Token(l.createToken(l.Token())) - return int(T_ABSTRACT) - goto yystate0 - } -yyrule14: // array - { - lval.Token(l.createToken(l.Token())) - return int(T_ARRAY) - goto yystate0 - } -yyrule15: // as - { - lval.Token(l.createToken(l.Token())) - return int(T_AS) - goto yystate0 - } -yyrule16: // break - { - lval.Token(l.createToken(l.Token())) - return int(T_BREAK) - goto yystate0 - } -yyrule17: // callable - { - lval.Token(l.createToken(l.Token())) - return int(T_CALLABLE) - goto yystate0 - } -yyrule18: // case - { - lval.Token(l.createToken(l.Token())) - return int(T_CASE) - goto yystate0 - } -yyrule19: // catch - { - lval.Token(l.createToken(l.Token())) - return int(T_CATCH) - goto yystate0 - } -yyrule20: // class - { - lval.Token(l.createToken(l.Token())) - return int(T_CLASS) - goto yystate0 - } -yyrule21: // clone - { - lval.Token(l.createToken(l.Token())) - return int(T_CLONE) - goto yystate0 - } -yyrule22: // const - { - lval.Token(l.createToken(l.Token())) - return int(T_CONST) - goto yystate0 - } -yyrule23: // continue - { - lval.Token(l.createToken(l.Token())) - return int(T_CONTINUE) - goto yystate0 - } -yyrule24: // declare - { - lval.Token(l.createToken(l.Token())) - return int(T_DECLARE) - goto yystate0 - } -yyrule25: // default - { - lval.Token(l.createToken(l.Token())) - return int(T_DEFAULT) - goto yystate0 - } -yyrule26: // do - { - lval.Token(l.createToken(l.Token())) - return int(T_DO) - goto yystate0 - } -yyrule27: // echo - { - lval.Token(l.createToken(l.Token())) - return int(T_ECHO) - goto yystate0 - } -yyrule28: // else - { - lval.Token(l.createToken(l.Token())) - return int(T_ELSE) - goto yystate0 - } -yyrule29: // elseif - { - lval.Token(l.createToken(l.Token())) - return int(T_ELSEIF) - goto yystate0 - } -yyrule30: // empty - { - lval.Token(l.createToken(l.Token())) - return int(T_EMPTY) - goto yystate0 - } -yyrule31: // enddeclare - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDDECLARE) - goto yystate0 - } -yyrule32: // endfor - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDFOR) - goto yystate0 - } -yyrule33: // endforeach - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDFOREACH) - goto yystate0 - } -yyrule34: // endif - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDIF) - goto yystate0 - } -yyrule35: // endswitch - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDSWITCH) - goto yystate0 - } -yyrule36: // endwhile - { - lval.Token(l.createToken(l.Token())) - return int(T_ENDWHILE) - goto yystate0 - } -yyrule37: // eval - { - lval.Token(l.createToken(l.Token())) - return int(T_EVAL) - goto yystate0 - } -yyrule38: // exit|die - { - lval.Token(l.createToken(l.Token())) - return int(T_EXIT) - goto yystate0 - } -yyrule39: // extends - { - lval.Token(l.createToken(l.Token())) - return int(T_EXTENDS) - goto yystate0 - } -yyrule40: // final - { - lval.Token(l.createToken(l.Token())) - return int(T_FINAL) - goto yystate0 - } -yyrule41: // finally - { - lval.Token(l.createToken(l.Token())) - return int(T_FINALLY) - goto yystate0 - } -yyrule42: // for - { - lval.Token(l.createToken(l.Token())) - return int(T_FOR) - goto yystate0 - } -yyrule43: // foreach - { - lval.Token(l.createToken(l.Token())) - return int(T_FOREACH) - goto yystate0 - } -yyrule44: // function|cfunction - { - lval.Token(l.createToken(l.Token())) - return int(T_FUNCTION) - goto yystate0 - } -yyrule45: // global - { - lval.Token(l.createToken(l.Token())) - return int(T_GLOBAL) - goto yystate0 - } -yyrule46: // goto - { - lval.Token(l.createToken(l.Token())) - return int(T_GOTO) - goto yystate0 - } -yyrule47: // if - { - lval.Token(l.createToken(l.Token())) - return int(T_IF) - goto yystate0 - } -yyrule48: // isset - { - lval.Token(l.createToken(l.Token())) - return int(T_ISSET) - goto yystate0 - } -yyrule49: // implements - { - lval.Token(l.createToken(l.Token())) - return int(T_IMPLEMENTS) - goto yystate0 - } -yyrule50: // instanceof - { - lval.Token(l.createToken(l.Token())) - return int(T_INSTANCEOF) - goto yystate0 - } -yyrule51: // insteadof - { - lval.Token(l.createToken(l.Token())) - return int(T_INSTEADOF) - goto yystate0 - } -yyrule52: // interface - { - lval.Token(l.createToken(l.Token())) - return int(T_INTERFACE) - goto yystate0 - } -yyrule53: // list - { - lval.Token(l.createToken(l.Token())) - return int(T_LIST) - goto yystate0 - } -yyrule54: // namespace - { - lval.Token(l.createToken(l.Token())) - return int(T_NAMESPACE) - goto yystate0 - } -yyrule55: // private - { - lval.Token(l.createToken(l.Token())) - return int(T_PRIVATE) - goto yystate0 - } -yyrule56: // public - { - lval.Token(l.createToken(l.Token())) - return int(T_PUBLIC) - goto yystate0 - } -yyrule57: // print - { - lval.Token(l.createToken(l.Token())) - return int(T_PRINT) - goto yystate0 - } -yyrule58: // protected - { - lval.Token(l.createToken(l.Token())) - return int(T_PROTECTED) - goto yystate0 - } -yyrule59: // return - { - lval.Token(l.createToken(l.Token())) - return int(T_RETURN) - goto yystate0 - } -yyrule60: // static - { - lval.Token(l.createToken(l.Token())) - return int(T_STATIC) - goto yystate0 - } -yyrule61: // switch - { - lval.Token(l.createToken(l.Token())) - return int(T_SWITCH) - goto yystate0 - } -yyrule62: // throw - { - lval.Token(l.createToken(l.Token())) - return int(T_THROW) - goto yystate0 - } -yyrule63: // trait - { - lval.Token(l.createToken(l.Token())) - return int(T_TRAIT) - goto yystate0 - } -yyrule64: // try - { - lval.Token(l.createToken(l.Token())) - return int(T_TRY) - goto yystate0 - } -yyrule65: // unset - { - lval.Token(l.createToken(l.Token())) - return int(T_UNSET) - goto yystate0 - } -yyrule66: // use - { - lval.Token(l.createToken(l.Token())) - return int(T_USE) - goto yystate0 - } -yyrule67: // var - { - lval.Token(l.createToken(l.Token())) - return int(T_VAR) - goto yystate0 - } -yyrule68: // while - { - lval.Token(l.createToken(l.Token())) - return int(T_WHILE) - goto yystate0 - } -yyrule69: // yield[ \t\n\r]+from - { - lval.Token(l.createToken(l.Token())) - return int(T_YIELD_FROM) - goto yystate0 - } -yyrule70: // yield - { - lval.Token(l.createToken(l.Token())) - return int(T_YIELD) - goto yystate0 - } -yyrule71: // include - { - lval.Token(l.createToken(l.Token())) - return int(T_INCLUDE) - goto yystate0 - } -yyrule72: // include_once - { - lval.Token(l.createToken(l.Token())) - return int(T_INCLUDE_ONCE) - goto yystate0 - } -yyrule73: // require - { - lval.Token(l.createToken(l.Token())) - return int(T_REQUIRE) - goto yystate0 - } -yyrule74: // require_once - { - lval.Token(l.createToken(l.Token())) - return int(T_REQUIRE_ONCE) - goto yystate0 - } -yyrule75: // __CLASS__ - { - lval.Token(l.createToken(l.Token())) - return int(T_CLASS_C) - goto yystate0 - } -yyrule76: // __DIR__ - { - lval.Token(l.createToken(l.Token())) - return int(T_DIR) - goto yystate0 - } -yyrule77: // __FILE__ - { - lval.Token(l.createToken(l.Token())) - return int(T_FILE) - goto yystate0 - } -yyrule78: // __FUNCTION__ - { - lval.Token(l.createToken(l.Token())) - return int(T_FUNC_C) - goto yystate0 - } -yyrule79: // __LINE__ - { - lval.Token(l.createToken(l.Token())) - return int(T_LINE) - goto yystate0 - } -yyrule80: // __NAMESPACE__ - { - lval.Token(l.createToken(l.Token())) - return int(T_NS_C) - goto yystate0 - } -yyrule81: // __METHOD__ - { - lval.Token(l.createToken(l.Token())) - return int(T_METHOD_C) - goto yystate0 - } -yyrule82: // __TRAIT__ - { - lval.Token(l.createToken(l.Token())) - return int(T_TRAIT_C) - goto yystate0 - } -yyrule83: // __halt_compiler - { - lval.Token(l.createToken(l.Token())) - return int(T_HALT_COMPILER) - goto yystate0 - } -yyrule84: // \([ \t]*array[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_ARRAY_CAST) - goto yystate0 - } -yyrule85: // \([ \t]*(bool|boolean)[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_BOOL_CAST) - goto yystate0 - } -yyrule86: // \([ \t]*(real|double|float)[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_DOUBLE_CAST) - goto yystate0 - } -yyrule87: // \([ \t]*(int|integer)[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_INT_CAST) - goto yystate0 - } -yyrule88: // \([ \t]*object[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_OBJECT_CAST) - goto yystate0 - } -yyrule89: // \([ \t]*(string|binary)[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_STRING_CAST) - goto yystate0 - } -yyrule90: // \([ \t]*unset[ \t]*\) - { - lval.Token(l.createToken(l.Token())) - return int(T_UNSET_CAST) - goto yystate0 - } -yyrule91: // new - { - lval.Token(l.createToken(l.Token())) - return int(T_NEW) - goto yystate0 - } -yyrule92: // and - { - lval.Token(l.createToken(l.Token())) - return int(T_LOGICAL_AND) - goto yystate0 - } -yyrule93: // or - { - lval.Token(l.createToken(l.Token())) - return int(T_LOGICAL_OR) - goto yystate0 - } -yyrule94: // xor - { - lval.Token(l.createToken(l.Token())) - return int(T_LOGICAL_XOR) - goto yystate0 - } -yyrule95: // \\ - { - lval.Token(l.createToken(l.Token())) - return int(T_NS_SEPARATOR) - goto yystate0 - } -yyrule96: // \.\.\. - { - lval.Token(l.createToken(l.Token())) - return int(T_ELLIPSIS) - goto yystate0 - } -yyrule97: // :: - { - lval.Token(l.createToken(l.Token())) - return int(T_PAAMAYIM_NEKUDOTAYIM) // T_DOUBLE_COLON - goto yystate0 - } -yyrule98: // && - { - lval.Token(l.createToken(l.Token())) - return int(T_BOOLEAN_AND) - goto yystate0 - } -yyrule99: // \|\| - { - lval.Token(l.createToken(l.Token())) - return int(T_BOOLEAN_OR) - goto yystate0 - } -yyrule100: // &= - { - lval.Token(l.createToken(l.Token())) - return int(T_AND_EQUAL) - goto yystate0 - } -yyrule101: // \|= - { - lval.Token(l.createToken(l.Token())) - return int(T_OR_EQUAL) - goto yystate0 - } -yyrule102: // \.= - { - lval.Token(l.createToken(l.Token())) - return int(T_CONCAT_EQUAL) - goto yystate0 - } -yyrule103: // \*= - { - lval.Token(l.createToken(l.Token())) - return int(T_MUL_EQUAL) - goto yystate0 - } -yyrule104: // \*\*= - { - lval.Token(l.createToken(l.Token())) - return int(T_POW_EQUAL) - goto yystate0 - } -yyrule105: // [/]= - { - lval.Token(l.createToken(l.Token())) - return int(T_DIV_EQUAL) - goto yystate0 - } -yyrule106: // \+= - { - lval.Token(l.createToken(l.Token())) - return int(T_PLUS_EQUAL) - goto yystate0 - } -yyrule107: // -= - { - lval.Token(l.createToken(l.Token())) - return int(T_MINUS_EQUAL) - goto yystate0 - } -yyrule108: // \^= - { - lval.Token(l.createToken(l.Token())) - return int(T_XOR_EQUAL) - goto yystate0 - } -yyrule109: // %= - { - lval.Token(l.createToken(l.Token())) - return int(T_MOD_EQUAL) - goto yystate0 - } -yyrule110: // -- - { - lval.Token(l.createToken(l.Token())) - return int(T_DEC) - goto yystate0 - } -yyrule111: // \+\+ - { - lval.Token(l.createToken(l.Token())) - return int(T_INC) - goto yystate0 - } -yyrule112: // => - { - lval.Token(l.createToken(l.Token())) - return int(T_DOUBLE_ARROW) - goto yystate0 - } -yyrule113: // \<=\> - { - lval.Token(l.createToken(l.Token())) - return int(T_SPACESHIP) - goto yystate0 - } -yyrule114: // \!=|\<\> - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_NOT_EQUAL) - goto yystate0 - } -yyrule115: // \!== - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_NOT_IDENTICAL) - goto yystate0 - } -yyrule116: // == - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_EQUAL) - goto yystate0 - } -yyrule117: // === - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_IDENTICAL) - goto yystate0 - } -yyrule118: // \<\<= - { - lval.Token(l.createToken(l.Token())) - return int(T_SL_EQUAL) - goto yystate0 - } -yyrule119: // \>\>= - { - lval.Token(l.createToken(l.Token())) - return int(T_SR_EQUAL) - goto yystate0 - } -yyrule120: // \>= - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_GREATER_OR_EQUAL) - goto yystate0 - } -yyrule121: // \<= - { - lval.Token(l.createToken(l.Token())) - return int(T_IS_SMALLER_OR_EQUAL) - goto yystate0 - } -yyrule122: // \*\* - { - lval.Token(l.createToken(l.Token())) - return int(T_POW) - goto yystate0 - } -yyrule123: // \<\< - { - lval.Token(l.createToken(l.Token())) - return int(T_SL) - goto yystate0 - } -yyrule124: // \>\> - { - lval.Token(l.createToken(l.Token())) - return int(T_SR) - goto yystate0 - } -yyrule125: // \?\? - { - lval.Token(l.createToken(l.Token())) - return int(T_COALESCE) - goto yystate0 - } -yyrule126: // (#|[/][/]) - { - - tb := l.Token() - for { - if c == -1 { - break - } - tb = append(tb, l.Last) - switch c { - case '\r': - c = l.Next() - if c == '\n' { - continue + if lex.te-lex.ts < 20 { + lex.createToken(lval) + tok = T_LNUMBER + { + (lex.p)++ + goto _out + } } - - case '\n': - c = l.Next() - case '?': - c = l.Next() - if c == '>' { - l.ungetChars(1) - tb = tb[:len(tb)-1] - break + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + goto _out } - continue - default: - c = l.Next() - continue } - break - } - l.addFreeFloating(freefloating.CommentType, tb) - goto yystate0 - } -yyrule127: // [/][*][*][/] - { - - l.addFreeFloating(freefloating.CommentType, l.Token()) - goto yystate0 - } -yyrule128: // ([/][*])|([/][*][*]) - { - - tb := l.Token() - is_doc_comment := false - if len(tb) > 2 { - is_doc_comment = true - l.PhpDocComment = "" - } - c = l.Next() - for { - if c == -1 { - break // TODO: Unterminated comment starting line %d - } - if l.Prev.Rune == '*' && l.Last.Rune == '/' { - c = l.Next() - break - } - c = l.Next() - } - if is_doc_comment { - l.PhpDocComment = string(l.TokenBytes(nil)) - l.addFreeFloating(freefloating.CommentType, l.Token()) - } else { - l.addFreeFloating(freefloating.CommentType, l.Token()) - } - goto yystate0 - } -yyrule129: // {OPERATORS} - { - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule130: // \{ - { - l.pushState(PHP) - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule131: // \} - { - l.popState() - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - l.PhpDocComment = "" - goto yystate0 - } -yyrule132: // \${VAR_NAME} - { - lval.Token(l.createToken(l.Token())) - return int(T_VARIABLE) - goto yystate0 - } -yyrule133: // {VAR_NAME} - { - lval.Token(l.createToken(l.Token())) - return int(T_STRING) - goto yystate0 - } -yyrule134: // -> - { - l.Begin(PROPERTY) - lval.Token(l.createToken(l.Token())) - return int(T_OBJECT_OPERATOR) - goto yystate0 - } -yyrule135: // [ \t\n\r]+ - { - l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) - goto yystate0 - } -yyrule136: // -> - { - lval.Token(l.createToken(l.Token())) - return int(T_OBJECT_OPERATOR) - goto yystate0 - } -yyrule137: // {VAR_NAME} - { - l.Begin(PHP) - lval.Token(l.createToken(l.Token())) - return int(T_STRING) - goto yystate0 - } -yyrule138: // . - { - l.ungetChars(1) - l.Begin(PHP) - goto yystate0 - } -yyrule139: // [\']([^\\\']*(\\(.|\n))*)*[\'] - { - lval.Token(l.createToken(l.Token())) - return int(T_CONSTANT_ENCAPSED_STRING) - goto yystate0 - } -yyrule140: // ` - { - l.Begin(BACKQUOTE) - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule141: // ` - { - l.Begin(PHP) - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule142: // [b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} - { - - tb := l.Token() - binPrefix := 0 - if tb[0].Rune == 'b' { - binPrefix = 1 - } - - lblFirst := 3 + binPrefix - lblLast := len(tb) - 2 - if tb[lblLast].Rune == '\r' { - lblLast-- - } - for { - if tb[lblFirst].Rune == ' ' || tb[lblFirst].Rune == '\t' { - lblFirst++ - continue - } - break - } - heredocToken := make([]lex.Char, lblLast-lblFirst+1) - copy(heredocToken, tb[lblFirst:lblLast+1]) - switch tb[lblFirst].Rune { - case '\'': - lblFirst++ - lblLast-- - l.Begin(NOWDOC) - case '"': - lblFirst++ - lblLast-- - l.Begin(HEREDOC) - default: - l.Begin(HEREDOC) - } - l.heredocLabel = l.tokenString(tb[lblFirst : lblLast+1]) - - ungetCnt := len(l.heredocLabel) - searchLabelAhead := []byte{} - for i := 0; i < len(l.heredocLabel); i++ { - if c == -1 { - break - } - searchLabelAhead = append(searchLabelAhead, byte(rune(c))) - c = l.Next() - } - if l.heredocLabel == string(searchLabelAhead) && ';' == rune(c) { - ungetCnt++ - c = l.Next() - if '\n' == rune(c) || '\r' == rune(c) { - l.Begin(HEREDOC_END) - } - } - l.ungetChars(ungetCnt) - lval.Token(l.createToken(heredocToken)) - return int(T_START_HEREDOC) - } -yyrule143: // .|[ \t\n\r] - { - - searchLabel := []byte{} - tb := []lex.Char{} - - for { - if c == -1 { - break - } - if '\n' == rune(c) || '\r' == rune(c) { - if l.heredocLabel+";" == string(searchLabel) { - l.Begin(HEREDOC_END) - tb = l.ungetChars(len(l.heredocLabel) + 1) - tb = tb[:len(tb)-1] - break + case 12: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ABSTRACT + { + (lex.p)++ + goto _out } - if l.heredocLabel == string(searchLabel) { - l.Begin(HEREDOC_END) - tb = l.ungetChars(len(l.heredocLabel)) - tb = tb[:len(tb)-1] - break + } + case 13: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ARRAY + { + (lex.p)++ + goto _out } + } + case 14: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_AS + { + (lex.p)++ + goto _out + } + } + case 15: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_BREAK + { + (lex.p)++ + goto _out + } + } + case 16: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CALLABLE + { + (lex.p)++ + goto _out + } + } + case 17: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CASE + { + (lex.p)++ + goto _out + } + } + case 18: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CATCH + { + (lex.p)++ + goto _out + } + } + case 19: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CLASS + { + (lex.p)++ + goto _out + } + } + case 20: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CLONE + { + (lex.p)++ + goto _out + } + } + case 21: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CONST + { + (lex.p)++ + goto _out + } + } + case 22: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CONTINUE + { + (lex.p)++ + goto _out + } + } + case 23: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DECLARE + { + (lex.p)++ + goto _out + } + } + case 24: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DEFAULT + { + (lex.p)++ + goto _out + } + } + case 25: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DO + { + (lex.p)++ + goto _out + } + } + case 26: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ECHO + { + (lex.p)++ + goto _out + } + } + case 28: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ELSEIF + { + (lex.p)++ + goto _out + } + } + case 29: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_EMPTY + { + (lex.p)++ + goto _out + } + } + case 30: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ENDDECLARE + { + (lex.p)++ + goto _out + } + } + case 32: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ENDFOREACH + { + (lex.p)++ + goto _out + } + } + case 33: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ENDIF + { + (lex.p)++ + goto _out + } + } + case 34: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ENDSWITCH + { + (lex.p)++ + goto _out + } + } + case 35: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ENDWHILE + { + (lex.p)++ + goto _out + } + } + case 36: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_EVAL + { + (lex.p)++ + goto _out + } + } + case 37: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_EXIT + { + (lex.p)++ + goto _out + } + } + case 38: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_EXTENDS + { + (lex.p)++ + goto _out + } + } + case 40: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_FINALLY + { + (lex.p)++ + goto _out + } + } + case 42: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_FOREACH + { + (lex.p)++ + goto _out + } + } + case 43: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_FUNCTION + { + (lex.p)++ + goto _out + } + } + case 44: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_GLOBAL + { + (lex.p)++ + goto _out + } + } + case 45: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_GOTO + { + (lex.p)++ + goto _out + } + } + case 46: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_IF + { + (lex.p)++ + goto _out + } + } + case 47: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_ISSET + { + (lex.p)++ + goto _out + } + } + case 48: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_IMPLEMENTS + { + (lex.p)++ + goto _out + } + } + case 49: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_INSTANCEOF + { + (lex.p)++ + goto _out + } + } + case 50: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_INSTEADOF + { + (lex.p)++ + goto _out + } + } + case 51: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_INTERFACE + { + (lex.p)++ + goto _out + } + } + case 52: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_LIST + { + (lex.p)++ + goto _out + } + } + case 53: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_NAMESPACE + { + (lex.p)++ + goto _out + } + } + case 54: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_PRIVATE + { + (lex.p)++ + goto _out + } + } + case 55: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_PUBLIC + { + (lex.p)++ + goto _out + } + } + case 56: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_PRINT + { + (lex.p)++ + goto _out + } + } + case 57: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_PROTECTED + { + (lex.p)++ + goto _out + } + } + case 58: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_RETURN + { + (lex.p)++ + goto _out + } + } + case 59: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_STATIC + { + (lex.p)++ + goto _out + } + } + case 60: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_SWITCH + { + (lex.p)++ + goto _out + } + } + case 61: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_THROW + { + (lex.p)++ + goto _out + } + } + case 62: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_TRAIT + { + (lex.p)++ + goto _out + } + } + case 63: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_TRY + { + (lex.p)++ + goto _out + } + } + case 64: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_UNSET + { + (lex.p)++ + goto _out + } + } + case 65: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_USE + { + (lex.p)++ + goto _out + } + } + case 66: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_VAR + { + (lex.p)++ + goto _out + } + } + case 67: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_WHILE + { + (lex.p)++ + goto _out + } + } + case 68: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_YIELD_FROM + { + (lex.p)++ + goto _out + } + } + case 71: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_INCLUDE_ONCE + { + (lex.p)++ + goto _out + } + } + case 73: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_REQUIRE_ONCE + { + (lex.p)++ + goto _out + } + } + case 74: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_CLASS_C + { + (lex.p)++ + goto _out + } + } + case 75: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DIR + { + (lex.p)++ + goto _out + } + } + case 76: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_FILE + { + (lex.p)++ + goto _out + } + } + case 77: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_FUNC_C + { + (lex.p)++ + goto _out + } + } + case 78: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_LINE + { + (lex.p)++ + goto _out + } + } + case 79: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_NS_C + { + (lex.p)++ + goto _out + } + } + case 80: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_METHOD_C + { + (lex.p)++ + goto _out + } + } + case 81: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_TRAIT_C + { + (lex.p)++ + goto _out + } + } + case 82: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_HALT_COMPILER + lex.cs = 513 + { + (lex.p)++ + goto _out + } + } + case 83: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_NEW + { + (lex.p)++ + goto _out + } + } + case 84: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_LOGICAL_AND + { + (lex.p)++ + goto _out + } + } + case 85: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_LOGICAL_OR + { + (lex.p)++ + goto _out + } + } + case 86: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_LOGICAL_XOR + { + (lex.p)++ + goto _out + } + } + case 115: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_SL + { + (lex.p)++ + goto _out + } + } + case 131: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_STRING + { + (lex.p)++ + goto _out + } + } + case 136: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = TokenID(int('"')) + lex.cs = 487 + { + (lex.p)++ + goto _out + } + } + } - searchLabel = []byte{} + goto _again + tr12: +//line scanner/scanner.rl:316 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_CONSTANT_ENCAPSED_STRING + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr21: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:316 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_CONSTANT_ENCAPSED_STRING + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr26: +//line scanner/scanner.rl:339 + (lex.p) = (lex.te) - 1 + { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + } + goto st118 + tr38: +//line scanner/scanner.rl:301 + (lex.p) = (lex.te) - 1 + { + // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); + // tok = TokenID(Rune2Class(rune)); + lex.createToken(lval) + tok = TokenID(int(lex.data[lex.ts])) + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr53: +//line scanner/scanner.rl:277 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_ARRAY_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr60: +//line scanner/scanner.rl:282 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_STRING_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr64: +//line scanner/scanner.rl:278 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_BOOL_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr72: +//line scanner/scanner.rl:279 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DOUBLE_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr79: +//line scanner/scanner.rl:280 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_INT_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr88: +//line scanner/scanner.rl:281 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_OBJECT_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr99: +//line scanner/scanner.rl:283 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_UNSET_CAST + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr100: +//line scanner/scanner.rl:246 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_ELLIPSIS + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr109: +//line scanner/scanner.rl:289 + lex.te = (lex.p) + 1 + { + isDocComment := false + if lex.te-lex.ts > 4 && string(lex.data[lex.ts:lex.ts+3]) == "/**" { + isDocComment = true + } + lex.addFreeFloating(freefloating.CommentType, lex.ts, lex.te) + + if isDocComment { + lex.PhpDocComment = string(lex.data[lex.ts:lex.te]) + } + } + goto st118 + tr110: +//line scanner/scanner.rl:149 + (lex.p) = (lex.te) - 1 + { + if lex.te-lex.ts < 20 { + lex.createToken(lval) + tok = T_LNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr122: + lex.cs = 118 +//line scanner/scanner.rl:133 + (lex.p) = (lex.te) - 1 + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr138: + lex.cs = 118 +//line scanner/scanner.rl:132 + (lex.p) = (lex.te) - 1 + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr140: +//line scanner/scanner.rl:312 + (lex.p) = (lex.te) - 1 + { + lex.createToken(lval) + tok = T_STRING + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr142: +//line scanner/scanner.rl:227 + (lex.p) = (lex.te) - 1 + { + lex.createToken(lval) + tok = T_YIELD + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr153: +//line scanner/scanner.rl:226 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_YIELD_FROM + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr188: +//line scanner/scanner.rl:339 + lex.te = (lex.p) + 1 + { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + } + goto st118 + tr199: +//line scanner/scanner.rl:301 + lex.te = (lex.p) + 1 + { + // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); + // tok = TokenID(Rune2Class(rune)); + lex.createToken(lval) + tok = TokenID(int(lex.data[lex.ts])) + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr235: +//line scanner/scanner.rl:245 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_NS_SEPARATOR + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr238: + lex.cs = 118 +//line scanner/scanner.rl:336 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('`')) + lex.cs = 481 + { + (lex.p)++ + goto _out + } + } + goto _again + tr239: +//line scanner/scanner.rl:309 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('{')) + lex.call(118, 118) + goto _out + } + goto st118 + tr241: +//line scanner/scanner.rl:310 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('}')) + lex.ret(1) + lex.PhpDocComment = "" + goto _out + } + goto st118 + tr242: +//line scanner/scanner.rl:131 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st118 + tr244: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:131 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st118 + tr248: +//line scanner/scanner.rl:339 + lex.te = (lex.p) + (lex.p)-- + { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + } + goto st118 + tr249: +//line scanner/scanner.rl:301 + lex.te = (lex.p) + (lex.p)-- + { + // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); + // tok = TokenID(Rune2Class(rune)); + lex.createToken(lval) + tok = TokenID(int(lex.data[lex.ts])) + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr251: +//line scanner/scanner.rl:264 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_IS_NOT_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr252: +//line scanner/scanner.rl:265 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_IS_NOT_IDENTICAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr253: + lex.cs = 118 +//line scanner/scanner.rl:337 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int('"')) + lex.cs = 487 + { + (lex.p)++ + goto _out + } + } + goto _again + tr254: +//line scanner/scanner.rl:285 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetStr("?>") + lex.addFreeFloating(freefloating.CommentType, lex.ts, lex.te) + } + goto st118 + tr256: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:285 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetStr("?>") + lex.addFreeFloating(freefloating.CommentType, lex.ts, lex.te) + } + goto st118 + tr260: +//line scanner/scanner.rl:311 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_VARIABLE + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr261: +//line scanner/scanner.rl:259 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_MOD_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr262: +//line scanner/scanner.rl:248 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_BOOLEAN_AND + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr263: +//line scanner/scanner.rl:250 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_AND_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr265: +//line scanner/scanner.rl:253 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_MUL_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr266: +//line scanner/scanner.rl:272 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_POW + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr267: +//line scanner/scanner.rl:254 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_POW_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr268: +//line scanner/scanner.rl:261 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_INC + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr269: +//line scanner/scanner.rl:256 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_PLUS_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr270: +//line scanner/scanner.rl:260 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DEC + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr271: +//line scanner/scanner.rl:257 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_MINUS_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr272: + lex.cs = 118 +//line scanner/scanner.rl:314 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_OBJECT_OPERATOR + lex.cs = 466 + { + (lex.p)++ + goto _out + } + } + goto _again + tr275: +//line scanner/scanner.rl:252 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_CONCAT_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr276: +//line scanner/scanner.rl:135 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr278: +//line scanner/scanner.rl:255 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DIV_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr279: +//line scanner/scanner.rl:149 + lex.te = (lex.p) + (lex.p)-- + { + if lex.te-lex.ts < 20 { + lex.createToken(lval) + tok = T_LNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr282: +//line scanner/scanner.rl:136 + lex.te = (lex.p) + (lex.p)-- + { + firstNum := 2 + for i := lex.ts + 2; i < lex.te; i++ { + if lex.data[i] == '0' { + firstNum++ + } + } + + if lex.te-lex.ts-firstNum < 64 { + lex.createToken(lval) + tok = T_LNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr283: +//line scanner/scanner.rl:155 + lex.te = (lex.p) + (lex.p)-- + { + firstNum := lex.ts + 2 + for i := lex.ts + 2; i < lex.te; i++ { + if lex.data[i] == '0' { + firstNum++ + } + } + + length := lex.te - firstNum + if length < 16 || (length == 16 && lex.data[firstNum] <= '7') { + lex.createToken(lval) + tok = T_LNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + lex.createToken(lval) + tok = T_DNUMBER + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr285: +//line scanner/scanner.rl:312 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_STRING + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr287: +//line scanner/scanner.rl:247 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_PAAMAYIM_NEKUDOTAYIM + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr288: + lex.cs = 118 +//line scanner/scanner.rl:133 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr290: + lex.cs = 118 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:133 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr293: +//line scanner/scanner.rl:264 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_IS_NOT_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr294: +//line scanner/scanner.rl:273 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_SL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr295: +//line scanner/scanner.rl:268 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_SL_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr296: + lex.cs = 118 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:322 + lex.te = (lex.p) + (lex.p)-- + { + lex.heredocLabel = lex.data[lblStart:lblEnd] + lex.createToken(lval) + tok = T_START_HEREDOC + + if lex.isHeredocEnd(lex.p + 1) { + lex.cs = 493 + } else if lex.data[lblStart-1] == '\'' { + lex.cs = 472 } else { - searchLabel = append(searchLabel, byte(rune(c))) + lex.cs = 475 } - c = l.Next() - } - lval.Token(l.createToken(tb)) - return int(T_ENCAPSED_AND_WHITESPACE) - } -yyrule144: // {VAR_NAME}\; - { - l.Begin(PHP) - lval.Token(l.createToken(l.ungetChars(1))) - return int(T_END_HEREDOC) - goto yystate0 - } -yyrule145: // {VAR_NAME} - { - l.Begin(PHP) - lval.Token(l.createToken(l.Token())) - return int(T_END_HEREDOC) - goto yystate0 - } -yyrule146: // [b]?[\"] - { - - binPrefix := l.Token()[0].Rune == 'b' - beginString := func() int { - cnt := 1 - if binPrefix { - cnt = 2 - } - - l.ungetChars(len(l.Token()) - cnt) - chars := l.Token()[:cnt] - l.pushState(STRING) - lval.Token(l.createToken(chars)) - return Rune2Class('"') - } - F: - for { - if c == -1 { - break - } - switch c { - case '"': - c = l.Next() - lval.Token(l.createToken(l.Token())) - return int(T_CONSTANT_ENCAPSED_STRING) - break F - - case '$': - c = l.Next() - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - return beginString() - break F - } - l.ungetChars(0) - - case '{': - c = l.Next() - if rune(c) == '$' { - return beginString() - break F - } - l.ungetChars(0) - case '\\': - c = l.Next() - } - c = l.Next() - } - goto yystate0 - } -yyrule147: // \" - { - l.popState() - lval.Token(l.createToken(l.Token())) - return Rune2Class(l.Token()[0].Rune) - goto yystate0 - } -yyrule148: // \{\$ - { - lval.Token(l.createToken(l.ungetChars(1))) - l.pushState(PHP) - return int(T_CURLY_OPEN) - goto yystate0 - } -yyrule149: // \$\{ - { - l.pushState(STRING_VAR_NAME) - lval.Token(l.createToken(l.Token())) - return int(T_DOLLAR_OPEN_CURLY_BRACES) - goto yystate0 - } -yyrule150: // \${VAR_NAME} - { - l.ungetChars(len(l.Token())) - l.pushState(STRING_VAR) - goto yystate0 - } -yyrule151: // .|[ \t\n\r] - { - - currentChar := l.Prev - tb := []lex.Char{currentChar} - for { - switch currentChar.Rune { - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '\\': - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next() - } - if rune(c) == '"' { - lval.Token(l.createToken(l.Token())) - return int(T_ENCAPSED_AND_WHITESPACE) - } - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() - if c == -1 { - break + { + (lex.p)++ + goto _out } } - goto yystate0 - } -yyrule152: // .|[ \t\n\r] - { - - currentChar := l.Prev - tb := []lex.Char{currentChar} - for { - switch currentChar.Rune { - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '\\': - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next() - } - if rune(c) == '`' { - lval.Token(l.createToken(l.Token())) - return int(T_ENCAPSED_AND_WHITESPACE) - } - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() - if c == -1 { - break + goto _again + tr297: +//line scanner/scanner.rl:271 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_IS_SMALLER_OR_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out } } - goto yystate0 - } -yyrule153: // .|[ \t\n\r] - { + goto st118 + tr298: +//line scanner/scanner.rl:263 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_SPACESHIP + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr300: +//line scanner/scanner.rl:262 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DOUBLE_ARROW + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr301: +//line scanner/scanner.rl:266 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_IS_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr302: +//line scanner/scanner.rl:267 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_IS_IDENTICAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr303: +//line scanner/scanner.rl:270 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_IS_GREATER_OR_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr305: +//line scanner/scanner.rl:274 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_SR + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr306: +//line scanner/scanner.rl:269 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_SR_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr308: +//line scanner/scanner.rl:275 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_COALESCE + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr309: + lex.cs = 118 +//line scanner/scanner.rl:132 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr311: + lex.cs = 118 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:132 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 111 + { + (lex.p)++ + goto _out + } + } + goto _again + tr391: +//line scanner/scanner.rl:185 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ELSE + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr411: +//line scanner/scanner.rl:189 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENDFOR + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr439: +//line scanner/scanner.rl:197 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_FINAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr443: +//line scanner/scanner.rl:199 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_FOR + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr475: +//line scanner/scanner.rl:228 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_INCLUDE + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr543: +//line scanner/scanner.rl:230 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_REQUIRE + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr589: +//line scanner/scanner.rl:227 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_YIELD + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr594: +//line scanner/scanner.rl:258 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_XOR_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr668: +//line scanner/scanner.rl:251 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_OR_EQUAL + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + tr669: +//line scanner/scanner.rl:249 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_BOOLEAN_OR + { + (lex.p)++ + lex.cs = 118 + goto _out + } + } + goto st118 + st118: +//line NONE:1 + lex.ts = 0 - searchLabel := []byte{} - currentChar := l.Prev - tb := []lex.Char{currentChar} + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof118 + } + st_case_118: +//line NONE:1 + lex.ts = (lex.p) - HEREDOC_FOR: - for { - nls := 0 - switch currentChar.Rune { - case '\r': - if c == '\n' { - nls = 1 - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next() +//line scanner/scanner.go:3245 + switch lex.data[(lex.p)] { + case 10: + goto tr7 + case 13: + goto st121 + case 32: + goto tr189 + case 33: + goto st122 + case 34: + goto tr192 + case 35: + goto st125 + case 36: + goto st127 + case 37: + goto st129 + case 38: + goto st130 + case 39: + goto tr197 + case 40: + goto tr198 + case 42: + goto st133 + case 43: + goto st135 + case 45: + goto st136 + case 46: + goto tr203 + case 47: + goto tr204 + case 48: + goto tr205 + case 55: + goto st145 + case 58: + goto st149 + case 59: + goto tr209 + case 60: + goto st153 + case 61: + goto st157 + case 62: + goto st159 + case 63: + goto st161 + case 64: + goto tr199 + case 65: + goto st164 + case 66: + goto tr215 + case 67: + goto st179 + case 68: + goto st208 + case 69: + goto st219 + case 70: + goto st261 + case 71: + goto st272 + case 73: + goto st279 + case 76: + goto st318 + case 78: + goto st321 + case 79: + goto st330 + case 80: + goto st331 + case 82: + goto st348 + case 83: + goto st362 + case 84: + goto st371 + case 85: + goto st378 + case 86: + goto st383 + case 87: + goto st385 + case 88: + goto st389 + case 89: + goto st391 + case 91: + goto tr199 + case 92: + goto tr235 + case 93: + goto tr199 + case 94: + goto st399 + case 95: + goto st400 + case 96: + goto tr238 + case 97: + goto st164 + case 98: + goto tr215 + case 99: + goto st179 + case 100: + goto st208 + case 101: + goto st219 + case 102: + goto st261 + case 103: + goto st272 + case 105: + goto st279 + case 108: + goto st318 + case 110: + goto st321 + case 111: + goto st330 + case 112: + goto st331 + case 114: + goto st348 + case 115: + goto st362 + case 116: + goto st371 + case 117: + goto st378 + case 118: + goto st383 + case 119: + goto st385 + case 120: + goto st389 + case 121: + goto st391 + case 123: + goto tr239 + case 124: + goto st465 + case 125: + goto tr241 + case 126: + goto tr199 + } + switch { + case lex.data[(lex.p)] < 41: + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr189 + } + case lex.data[(lex.p)] > 44: + switch { + case lex.data[(lex.p)] > 57: + if 72 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 } - fallthrough - case '\n': - if l.heredocLabel+";" == string(searchLabel) { - l.Begin(HEREDOC_END) - l.ungetChars(len(l.heredocLabel) + 1 + nls) - i := len(tb) - len(l.heredocLabel) - 3 - nls - if i < 1 { - break HEREDOC_FOR + case lex.data[(lex.p)] >= 49: + goto tr206 + } + default: + goto tr199 + } + goto tr188 + tr189: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st119 + tr245: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st119 + st119: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof119 + } + st_case_119: +//line scanner/scanner.go:3433 + switch lex.data[(lex.p)] { + case 10: + goto tr7 + case 13: + goto st5 + case 32: + goto tr189 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr189 + } + goto tr242 + tr7: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st120 + tr246: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st120 + st120: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof120 + } + st_case_120: +//line scanner/scanner.go:3463 + switch lex.data[(lex.p)] { + case 10: + goto tr246 + case 13: + goto tr247 + case 32: + goto tr245 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr245 + } + goto tr244 + tr247: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st5 + st5: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof5 + } + st_case_5: +//line scanner/scanner.go:3485 + if lex.data[(lex.p)] == 10 { + goto tr7 + } + goto tr6 + st121: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof121 + } + st_case_121: + if lex.data[(lex.p)] == 10 { + goto tr7 + } + goto tr248 + st122: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof122 + } + st_case_122: + if lex.data[(lex.p)] == 61 { + goto st123 + } + goto tr249 + st123: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof123 + } + st_case_123: + if lex.data[(lex.p)] == 61 { + goto tr252 + } + goto tr251 + tr192: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:337 + lex.act = 136 + goto st124 + st124: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof124 + } + st_case_124: +//line scanner/scanner.go:3529 + switch lex.data[(lex.p)] { + case 10: + goto tr10 + case 13: + goto tr11 + case 34: + goto tr12 + case 36: + goto st7 + case 92: + goto st8 + case 123: + goto st10 + } + goto st6 + tr10: +//line scanner/scanner.rl:86 + lex.NewLines.Append(lex.p) + goto st6 + tr11: +//line scanner/scanner.rl:85 + if lex.p+1 != eof && lex.data[lex.p+1] != '\n' { + lex.NewLines.Append(lex.p) + } + goto st6 + tr18: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st6 + tr19: +//line scanner/scanner.rl:86 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st6 + tr20: +//line scanner/scanner.rl:85 + if lex.p+1 != eof && lex.data[lex.p+1] != '\n' { + lex.NewLines.Append(lex.p) + } +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st6 + st6: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof6 + } + st_case_6: +//line scanner/scanner.go:3574 + switch lex.data[(lex.p)] { + case 10: + goto tr10 + case 13: + goto tr11 + case 34: + goto tr12 + case 36: + goto st7 + case 92: + goto st8 + case 123: + goto st10 + } + goto st6 + tr22: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st7 + st7: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof7 + } + st_case_7: +//line scanner/scanner.go:3599 + switch lex.data[(lex.p)] { + case 34: + goto tr12 + case 55: + goto tr8 + case 92: + goto st8 + case 95: + goto tr8 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 123 { + goto tr8 + } + case lex.data[(lex.p)] >= 65: + goto tr8 + } + goto st6 + tr23: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st8 + st8: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof8 + } + st_case_8: +//line scanner/scanner.go:3628 + switch lex.data[(lex.p)] { + case 10: + goto st9 + case 13: + goto st11 + } + goto st6 + tr25: +//line scanner/scanner.rl:86 + lex.NewLines.Append(lex.p) + goto st9 + st9: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof9 + } + st_case_9: +//line scanner/scanner.go:3645 + switch lex.data[(lex.p)] { + case 10: + goto tr19 + case 13: + goto tr20 + case 34: + goto tr21 + case 36: + goto tr22 + case 92: + goto tr23 + case 123: + goto tr24 + } + goto tr18 + tr24: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st10 + st10: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof10 + } + st_case_10: +//line scanner/scanner.go:3670 + switch lex.data[(lex.p)] { + case 34: + goto tr12 + case 36: + goto tr8 + case 92: + goto st8 + } + goto st6 + st11: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof11 + } + st_case_11: + switch lex.data[(lex.p)] { + case 10: + goto tr25 + case 13: + goto tr11 + case 34: + goto tr12 + case 36: + goto st7 + case 92: + goto st8 + case 123: + goto st10 + } + goto st6 + tr257: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st125 + st125: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof125 + } + st_case_125: +//line scanner/scanner.go:3709 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 } - tb = tb[:i] - lval.Token(l.createToken(tb)) - return int(T_ENCAPSED_AND_WHITESPACE) } - if l.heredocLabel == string(searchLabel) { - l.Begin(HEREDOC_END) - l.ungetChars(len(l.heredocLabel) + nls) - i := len(tb) - len(l.heredocLabel) - 2 - nls - if i < 1 { - break HEREDOC_FOR - } - tb = tb[:i] - lval.Token(l.createToken(tb)) - return int(T_ENCAPSED_AND_WHITESPACE) - } - - searchLabel = []byte{} - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])) - return int(T_ENCAPSED_AND_WHITESPACE) - } - case '\\': - if c != '\n' && c != '\r' { - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next() - } - default: - searchLabel = append(searchLabel, byte(rune(currentChar.Rune))) + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } } - if c == -1 { - break + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + default: + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 } - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() } - goto yystate0 - } -yyrule154: // \${VAR_NAME} - { - lval.Token(l.createToken(l.Token())) - return int(T_VARIABLE) - goto yystate0 - } -yyrule155: // ->{VAR_NAME} - { - lval.Token(l.createToken(l.ungetChars(len(l.Token()) - 2))) - return int(T_OBJECT_OPERATOR) - goto yystate0 - } -yyrule156: // {VAR_NAME} - { - l.popState() - lval.Token(l.createToken(l.Token())) - return int(T_STRING) - goto yystate0 - } -yyrule157: // \[ - { - l.pushState(STRING_VAR_INDEX) - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule158: // .|[ \t\n\r] - { - l.ungetChars(1) - l.popState() - goto yystate0 - } -yyrule159: // {LNUM}|{HNUM}|{BNUM} - { - lval.Token(l.createToken(l.Token())) - return int(T_NUM_STRING) - goto yystate0 - } -yyrule160: // \${VAR_NAME} - { - lval.Token(l.createToken(l.Token())) - return int(T_VARIABLE) - goto yystate0 - } -yyrule161: // {VAR_NAME} - { - lval.Token(l.createToken(l.Token())) - return int(T_STRING) - goto yystate0 - } -yyrule162: // \] - { - l.popState() - l.popState() - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule163: // [ \n\r\t\\'#] - { - l.popState() - l.popState() - lval.Token(l.createToken(l.Token())) - return int(T_ENCAPSED_AND_WHITESPACE) - goto yystate0 - } -yyrule164: // {OPERATORS} - { - lval.Token(l.createToken(l.Token())) - return Rune2Class(rune(l.TokenBytes(nil)[0])) - goto yystate0 - } -yyrule165: // {ANY_CHAR} - { - l.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", l.TokenBytes(nil)[0], l.TokenBytes(nil)[0])) - l.Abort() - goto yystate0 - } -yyrule166: // {VAR_NAME}[\[\}] - { - l.popState() - l.pushState(PHP) - lval.Token(l.createToken(l.ungetChars(1))) - return int(T_STRING_VARNAME) - goto yystate0 - } -yyrule167: // . - { - l.ungetChars(1) - l.popState() - l.pushState(PHP) - goto yystate0 - } -yyrule168: // .|[ \t\n\r] - { - l.addFreeFloating(freefloating.TokenType, l.Token()) - goto yystate0 - } -yyrule169: // {ANY_CHAR} - { - l.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", l.TokenBytes(nil)[0], l.TokenBytes(nil)[0])) - l.Abort() - goto yystate0 - } - panic("unreachable") - - goto yyabort // silence unused label error - -yyabort: // no lexem recognized - if _, ok := l.Abort(); ok { - // always return same $end token - if l.lastToken == nil { - l.lastToken = l.createToken(l.Token()) + if _widec == 522 { + goto st126 + } + if 512 <= _widec && _widec <= 767 { + goto st125 + } + goto tr254 + tr258: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st126 + st126: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof126 + } + st_case_126: +//line scanner/scanner.go:3764 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + default: + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + default: + _widec = 256 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotPhpCloseToken() && lex.isNotNewLine() { + _widec += 256 + } + } + if _widec == 522 { + goto tr258 + } + if 512 <= _widec && _widec <= 767 { + goto tr257 + } + goto tr256 + st127: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof127 + } + st_case_127: + switch lex.data[(lex.p)] { + case 55: + goto st128 + case 95: + goto st128 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st128 + } + case lex.data[(lex.p)] >= 65: + goto st128 + } + goto tr249 + st128: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof128 + } + st_case_128: + if lex.data[(lex.p)] == 95 { + goto st128 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st128 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st128 + } + default: + goto st128 + } + goto tr260 + st129: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof129 + } + st_case_129: + if lex.data[(lex.p)] == 61 { + goto tr261 + } + goto tr249 + st130: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof130 + } + st_case_130: + switch lex.data[(lex.p)] { + case 38: + goto tr262 + case 61: + goto tr263 + } + goto tr249 + tr197: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st131 + st131: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof131 + } + st_case_131: +//line scanner/scanner.go:3882 + switch lex.data[(lex.p)] { + case 10: + goto tr28 + case 13: + goto tr29 + case 39: + goto tr12 + case 92: + goto st13 + } + goto st12 + tr33: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st12 + tr28: +//line scanner/scanner.rl:76 + lex.NewLines.Append(lex.p) + goto st12 + tr29: +//line scanner/scanner.rl:75 + if lex.p+1 != eof && lex.data[lex.p+1] != '\n' { + lex.NewLines.Append(lex.p) + } + goto st12 + tr34: +//line scanner/scanner.rl:76 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st12 + tr35: +//line scanner/scanner.rl:75 + if lex.p+1 != eof && lex.data[lex.p+1] != '\n' { + lex.NewLines.Append(lex.p) + } +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st12 + st12: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof12 + } + st_case_12: +//line scanner/scanner.go:3923 + switch lex.data[(lex.p)] { + case 10: + goto tr28 + case 13: + goto tr29 + case 39: + goto tr12 + case 92: + goto st13 + } + goto st12 + tr36: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st13 + st13: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof13 + } + st_case_13: +//line scanner/scanner.go:3944 + switch lex.data[(lex.p)] { + case 10: + goto st14 + case 13: + goto st15 + } + goto st12 + tr37: +//line scanner/scanner.rl:76 + lex.NewLines.Append(lex.p) + goto st14 + st14: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof14 + } + st_case_14: +//line scanner/scanner.go:3961 + switch lex.data[(lex.p)] { + case 10: + goto tr34 + case 13: + goto tr35 + case 39: + goto tr21 + case 92: + goto tr36 + } + goto tr33 + st15: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof15 + } + st_case_15: + switch lex.data[(lex.p)] { + case 10: + goto tr37 + case 13: + goto tr29 + case 39: + goto tr12 + case 92: + goto st13 + } + goto st12 + tr198: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st132 + st132: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof132 + } + st_case_132: +//line scanner/scanner.go:3999 + switch lex.data[(lex.p)] { + case 9: + goto st16 + case 32: + goto st16 + case 65: + goto st17 + case 66: + goto st22 + case 68: + goto st34 + case 70: + goto st40 + case 73: + goto st44 + case 79: + goto st51 + case 82: + goto st57 + case 83: + goto st60 + case 85: + goto st65 + case 97: + goto st17 + case 98: + goto st22 + case 100: + goto st34 + case 102: + goto st40 + case 105: + goto st44 + case 111: + goto st51 + case 114: + goto st57 + case 115: + goto st60 + case 117: + goto st65 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st16 + } + goto tr249 + st16: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof16 + } + st_case_16: + switch lex.data[(lex.p)] { + case 9: + goto st16 + case 32: + goto st16 + case 65: + goto st17 + case 66: + goto st22 + case 68: + goto st34 + case 70: + goto st40 + case 73: + goto st44 + case 79: + goto st51 + case 82: + goto st57 + case 83: + goto st60 + case 85: + goto st65 + case 97: + goto st17 + case 98: + goto st22 + case 100: + goto st34 + case 102: + goto st40 + case 105: + goto st44 + case 111: + goto st51 + case 114: + goto st57 + case 115: + goto st60 + case 117: + goto st65 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st16 + } + goto tr38 + st17: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof17 + } + st_case_17: + switch lex.data[(lex.p)] { + case 82: + goto st18 + case 114: + goto st18 + } + goto tr38 + st18: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof18 + } + st_case_18: + switch lex.data[(lex.p)] { + case 82: + goto st19 + case 114: + goto st19 + } + goto tr38 + st19: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof19 + } + st_case_19: + switch lex.data[(lex.p)] { + case 65: + goto st20 + case 97: + goto st20 + } + goto tr38 + st20: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof20 + } + st_case_20: + switch lex.data[(lex.p)] { + case 89: + goto st21 + case 121: + goto st21 + } + goto tr38 + st21: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof21 + } + st_case_21: + switch lex.data[(lex.p)] { + case 9: + goto st21 + case 32: + goto st21 + case 41: + goto tr53 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st21 + } + goto tr38 + st22: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof22 + } + st_case_22: + switch lex.data[(lex.p)] { + case 73: + goto st23 + case 79: + goto st28 + case 105: + goto st23 + case 111: + goto st28 + } + goto tr38 + st23: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof23 + } + st_case_23: + switch lex.data[(lex.p)] { + case 78: + goto st24 + case 110: + goto st24 + } + goto tr38 + st24: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof24 + } + st_case_24: + switch lex.data[(lex.p)] { + case 65: + goto st25 + case 97: + goto st25 + } + goto tr38 + st25: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof25 + } + st_case_25: + switch lex.data[(lex.p)] { + case 82: + goto st26 + case 114: + goto st26 + } + goto tr38 + st26: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof26 + } + st_case_26: + switch lex.data[(lex.p)] { + case 89: + goto st27 + case 121: + goto st27 + } + goto tr38 + st27: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof27 + } + st_case_27: + switch lex.data[(lex.p)] { + case 9: + goto st27 + case 32: + goto st27 + case 41: + goto tr60 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st27 + } + goto tr38 + st28: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof28 + } + st_case_28: + switch lex.data[(lex.p)] { + case 79: + goto st29 + case 111: + goto st29 + } + goto tr38 + st29: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof29 + } + st_case_29: + switch lex.data[(lex.p)] { + case 76: + goto st30 + case 108: + goto st30 + } + goto tr38 + st30: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof30 + } + st_case_30: + switch lex.data[(lex.p)] { + case 9: + goto st31 + case 32: + goto st31 + case 41: + goto tr64 + case 69: + goto st32 + case 101: + goto st32 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st31 + } + goto tr38 + st31: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof31 + } + st_case_31: + switch lex.data[(lex.p)] { + case 9: + goto st31 + case 32: + goto st31 + case 41: + goto tr64 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st31 + } + goto tr38 + st32: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof32 + } + st_case_32: + switch lex.data[(lex.p)] { + case 65: + goto st33 + case 97: + goto st33 + } + goto tr38 + st33: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof33 + } + st_case_33: + switch lex.data[(lex.p)] { + case 78: + goto st31 + case 110: + goto st31 + } + goto tr38 + st34: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof34 + } + st_case_34: + switch lex.data[(lex.p)] { + case 79: + goto st35 + case 111: + goto st35 + } + goto tr38 + st35: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof35 + } + st_case_35: + switch lex.data[(lex.p)] { + case 85: + goto st36 + case 117: + goto st36 + } + goto tr38 + st36: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof36 + } + st_case_36: + switch lex.data[(lex.p)] { + case 66: + goto st37 + case 98: + goto st37 + } + goto tr38 + st37: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof37 + } + st_case_37: + switch lex.data[(lex.p)] { + case 76: + goto st38 + case 108: + goto st38 + } + goto tr38 + st38: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof38 + } + st_case_38: + switch lex.data[(lex.p)] { + case 69: + goto st39 + case 101: + goto st39 + } + goto tr38 + st39: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof39 + } + st_case_39: + switch lex.data[(lex.p)] { + case 9: + goto st39 + case 32: + goto st39 + case 41: + goto tr72 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st39 + } + goto tr38 + st40: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof40 + } + st_case_40: + switch lex.data[(lex.p)] { + case 76: + goto st41 + case 108: + goto st41 + } + goto tr38 + st41: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof41 + } + st_case_41: + switch lex.data[(lex.p)] { + case 79: + goto st42 + case 111: + goto st42 + } + goto tr38 + st42: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof42 + } + st_case_42: + switch lex.data[(lex.p)] { + case 65: + goto st43 + case 97: + goto st43 + } + goto tr38 + st43: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof43 + } + st_case_43: + switch lex.data[(lex.p)] { + case 84: + goto st39 + case 116: + goto st39 + } + goto tr38 + st44: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof44 + } + st_case_44: + switch lex.data[(lex.p)] { + case 78: + goto st45 + case 110: + goto st45 + } + goto tr38 + st45: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof45 + } + st_case_45: + switch lex.data[(lex.p)] { + case 84: + goto st46 + case 116: + goto st46 + } + goto tr38 + st46: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof46 + } + st_case_46: + switch lex.data[(lex.p)] { + case 9: + goto st47 + case 32: + goto st47 + case 41: + goto tr79 + case 69: + goto st48 + case 101: + goto st48 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st47 + } + goto tr38 + st47: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof47 + } + st_case_47: + switch lex.data[(lex.p)] { + case 9: + goto st47 + case 32: + goto st47 + case 41: + goto tr79 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st47 + } + goto tr38 + st48: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof48 + } + st_case_48: + switch lex.data[(lex.p)] { + case 71: + goto st49 + case 103: + goto st49 + } + goto tr38 + st49: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof49 + } + st_case_49: + switch lex.data[(lex.p)] { + case 69: + goto st50 + case 101: + goto st50 + } + goto tr38 + st50: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof50 + } + st_case_50: + switch lex.data[(lex.p)] { + case 82: + goto st47 + case 114: + goto st47 + } + goto tr38 + st51: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof51 + } + st_case_51: + switch lex.data[(lex.p)] { + case 66: + goto st52 + case 98: + goto st52 + } + goto tr38 + st52: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof52 + } + st_case_52: + switch lex.data[(lex.p)] { + case 74: + goto st53 + case 106: + goto st53 + } + goto tr38 + st53: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof53 + } + st_case_53: + switch lex.data[(lex.p)] { + case 69: + goto st54 + case 101: + goto st54 + } + goto tr38 + st54: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof54 + } + st_case_54: + switch lex.data[(lex.p)] { + case 67: + goto st55 + case 99: + goto st55 + } + goto tr38 + st55: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof55 + } + st_case_55: + switch lex.data[(lex.p)] { + case 84: + goto st56 + case 116: + goto st56 + } + goto tr38 + st56: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof56 + } + st_case_56: + switch lex.data[(lex.p)] { + case 9: + goto st56 + case 32: + goto st56 + case 41: + goto tr88 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st56 + } + goto tr38 + st57: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof57 + } + st_case_57: + switch lex.data[(lex.p)] { + case 69: + goto st58 + case 101: + goto st58 + } + goto tr38 + st58: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof58 + } + st_case_58: + switch lex.data[(lex.p)] { + case 65: + goto st59 + case 97: + goto st59 + } + goto tr38 + st59: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof59 + } + st_case_59: + switch lex.data[(lex.p)] { + case 76: + goto st39 + case 108: + goto st39 + } + goto tr38 + st60: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof60 + } + st_case_60: + switch lex.data[(lex.p)] { + case 84: + goto st61 + case 116: + goto st61 + } + goto tr38 + st61: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof61 + } + st_case_61: + switch lex.data[(lex.p)] { + case 82: + goto st62 + case 114: + goto st62 + } + goto tr38 + st62: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof62 + } + st_case_62: + switch lex.data[(lex.p)] { + case 73: + goto st63 + case 105: + goto st63 + } + goto tr38 + st63: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof63 + } + st_case_63: + switch lex.data[(lex.p)] { + case 78: + goto st64 + case 110: + goto st64 + } + goto tr38 + st64: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof64 + } + st_case_64: + switch lex.data[(lex.p)] { + case 71: + goto st27 + case 103: + goto st27 + } + goto tr38 + st65: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof65 + } + st_case_65: + switch lex.data[(lex.p)] { + case 78: + goto st66 + case 110: + goto st66 + } + goto tr38 + st66: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof66 + } + st_case_66: + switch lex.data[(lex.p)] { + case 83: + goto st67 + case 115: + goto st67 + } + goto tr38 + st67: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof67 + } + st_case_67: + switch lex.data[(lex.p)] { + case 69: + goto st68 + case 101: + goto st68 + } + goto tr38 + st68: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof68 + } + st_case_68: + switch lex.data[(lex.p)] { + case 84: + goto st69 + case 116: + goto st69 + } + goto tr38 + st69: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof69 + } + st_case_69: + switch lex.data[(lex.p)] { + case 9: + goto st69 + case 32: + goto st69 + case 41: + goto tr99 + } + if 11 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st69 + } + goto tr38 + st133: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof133 + } + st_case_133: + switch lex.data[(lex.p)] { + case 42: + goto st134 + case 61: + goto tr265 + } + goto tr249 + st134: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof134 + } + st_case_134: + if lex.data[(lex.p)] == 61 { + goto tr267 + } + goto tr266 + st135: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof135 + } + st_case_135: + switch lex.data[(lex.p)] { + case 43: + goto tr268 + case 61: + goto tr269 + } + goto tr249 + st136: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof136 + } + st_case_136: + switch lex.data[(lex.p)] { + case 45: + goto tr270 + case 61: + goto tr271 + case 62: + goto tr272 + } + goto tr249 + tr203: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st137 + st137: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof137 + } + st_case_137: +//line scanner/scanner.go:4847 + switch lex.data[(lex.p)] { + case 46: + goto st70 + case 61: + goto tr275 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr274 + } + goto tr249 + st70: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof70 + } + st_case_70: + if lex.data[(lex.p)] == 46 { + goto tr100 + } + goto tr38 + tr274: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:135 + lex.act = 8 + goto st138 + st138: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof138 + } + st_case_138: +//line scanner/scanner.go:4879 + switch lex.data[(lex.p)] { + case 69: + goto st71 + case 101: + goto st71 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr274 + } + goto tr276 + st71: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof71 + } + st_case_71: + switch lex.data[(lex.p)] { + case 43: + goto st72 + case 45: + goto st72 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st139 + } + goto tr8 + st72: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof72 + } + st_case_72: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st139 + } + goto tr8 + st139: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof139 + } + st_case_139: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st139 + } + goto tr276 + tr204: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st140 + st140: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof140 + } + st_case_140: +//line scanner/scanner.go:4933 + switch lex.data[(lex.p)] { + case 42: + goto st73 + case 47: + goto st125 + case 61: + goto tr278 + } + goto tr249 + tr106: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st73 + st73: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof73 + } + st_case_73: +//line scanner/scanner.go:4952 + switch lex.data[(lex.p)] { + case 10: + goto st74 + case 42: + goto st75 + } + goto st73 + tr107: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st74 + st74: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof74 + } + st_case_74: +//line scanner/scanner.go:4969 + switch lex.data[(lex.p)] { + case 10: + goto tr107 + case 42: + goto tr108 + } + goto tr106 + tr108: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st75 + st75: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof75 + } + st_case_75: +//line scanner/scanner.go:4986 + switch lex.data[(lex.p)] { + case 10: + goto st74 + case 42: + goto st75 + case 47: + goto tr109 + } + goto st73 + tr205: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:149 + lex.act = 10 + goto st141 + st141: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof141 + } + st_case_141: +//line scanner/scanner.go:5008 + switch lex.data[(lex.p)] { + case 46: + goto tr274 + case 69: + goto st71 + case 98: + goto st76 + case 101: + goto st71 + case 120: + goto st77 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr206 + } + goto tr279 + tr206: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:149 + lex.act = 10 + goto st142 + st142: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof142 + } + st_case_142: +//line scanner/scanner.go:5037 + switch lex.data[(lex.p)] { + case 46: + goto tr274 + case 69: + goto st71 + case 101: + goto st71 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr206 + } + goto tr279 + st76: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof76 + } + st_case_76: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 49 { + goto st143 + } + goto tr110 + st143: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof143 + } + st_case_143: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 49 { + goto st143 + } + goto tr282 + st77: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof77 + } + st_case_77: + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st144 + } + case lex.data[(lex.p)] > 70: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 102 { + goto st144 + } + default: + goto st144 + } + goto tr110 + st144: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof144 + } + st_case_144: + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st144 + } + case lex.data[(lex.p)] > 70: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 102 { + goto st144 + } + default: + goto st144 + } + goto tr283 + st145: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof145 + } + st_case_145: + switch lex.data[(lex.p)] { + case 46: + goto tr274 + case 69: + goto tr284 + case 95: + goto tr221 + case 101: + goto tr284 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st145 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr279 + tr221: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:312 + lex.act = 131 + goto st146 + tr315: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:172 + lex.act = 14 + goto st146 + tr321: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:170 + lex.act = 12 + goto st146 + tr322: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:242 + lex.act = 84 + goto st146 + tr325: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:171 + lex.act = 13 + goto st146 + tr330: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:173 + lex.act = 15 + goto st146 + tr342: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:174 + lex.act = 16 + goto st146 + tr343: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:175 + lex.act = 17 + goto st146 + tr345: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:176 + lex.act = 18 + goto st146 + tr352: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:201 + lex.act = 43 + goto st146 + tr356: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:177 + lex.act = 19 + goto st146 + tr358: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:178 + lex.act = 20 + goto st146 + tr362: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:179 + lex.act = 21 + goto st146 + tr366: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:180 + lex.act = 22 + goto st146 + tr369: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:183 + lex.act = 25 + goto st146 + tr375: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:181 + lex.act = 23 + goto st146 + tr379: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:182 + lex.act = 24 + goto st146 + tr380: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:195 + lex.act = 37 + goto st146 + tr388: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:184 + lex.act = 26 + goto st146 + tr393: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:186 + lex.act = 28 + goto st146 + tr396: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:187 + lex.act = 29 + goto st146 + tr408: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:188 + lex.act = 30 + goto st146 + tr415: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:190 + lex.act = 32 + goto st146 + tr416: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:191 + lex.act = 33 + goto st146 + tr421: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:192 + lex.act = 34 + goto st146 + tr425: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:193 + lex.act = 35 + goto st146 + tr427: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:194 + lex.act = 36 + goto st146 + tr433: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:196 + lex.act = 38 + goto st146 + tr441: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:198 + lex.act = 40 + goto st146 + tr447: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:200 + lex.act = 42 + goto st146 + tr453: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:202 + lex.act = 44 + goto st146 + tr455: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:203 + lex.act = 45 + goto st146 + tr456: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:204 + lex.act = 46 + goto st146 + tr467: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:206 + lex.act = 48 + goto st146 + tr480: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:229 + lex.act = 71 + goto st146 + tr488: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:207 + lex.act = 49 + goto st146 + tr492: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:208 + lex.act = 50 + goto st146 + tr498: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:209 + lex.act = 51 + goto st146 + tr501: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:205 + lex.act = 47 + goto st146 + tr504: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:210 + lex.act = 52 + goto st146 + tr513: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:211 + lex.act = 53 + goto st146 + tr514: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:241 + lex.act = 83 + goto st146 + tr515: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:243 + lex.act = 85 + goto st146 + tr522: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:214 + lex.act = 56 + goto st146 + tr525: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:212 + lex.act = 54 + goto st146 + tr531: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:215 + lex.act = 57 + goto st146 + tr535: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:213 + lex.act = 55 + goto st146 + tr548: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:231 + lex.act = 73 + goto st146 + tr551: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:216 + lex.act = 58 + goto st146 + tr557: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:217 + lex.act = 59 + goto st146 + tr561: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:218 + lex.act = 60 + goto st146 + tr566: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:219 + lex.act = 61 + goto st146 + tr568: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:221 + lex.act = 63 + goto st146 + tr570: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:220 + lex.act = 62 + goto st146 + tr575: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:222 + lex.act = 64 + goto st146 + tr576: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:223 + lex.act = 65 + goto st146 + tr578: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:224 + lex.act = 66 + goto st146 + tr582: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:225 + lex.act = 67 + goto st146 + tr584: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:244 + lex.act = 86 + goto st146 + tr593: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:226 + lex.act = 68 + goto st146 + tr609: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:232 + lex.act = 74 + goto st146 + tr613: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:233 + lex.act = 75 + goto st146 + tr619: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:234 + lex.act = 76 + goto st146 + tr627: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:235 + lex.act = 77 + goto st146 + tr639: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:240 + lex.act = 82 + goto st146 + tr644: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:236 + lex.act = 78 + goto st146 + tr651: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:238 + lex.act = 80 + goto st146 + tr661: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:237 + lex.act = 79 + goto st146 + tr667: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:239 + lex.act = 81 + goto st146 + st146: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof146 + } + st_case_146: +//line scanner/scanner.go:5620 + if lex.data[(lex.p)] == 95 { + goto tr221 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr8 + tr284: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:312 + lex.act = 131 + goto st147 + st147: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof147 + } + st_case_147: +//line scanner/scanner.go:5649 + switch lex.data[(lex.p)] { + case 43: + goto st72 + case 45: + goto st72 + case 95: + goto tr221 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st148 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st148: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof148 + } + st_case_148: + if lex.data[(lex.p)] == 95 { + goto tr221 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st148 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr276 + st149: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof149 + } + st_case_149: + if lex.data[(lex.p)] == 58 { + goto tr287 + } + goto tr249 + tr209: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st150 + st150: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof150 + } + st_case_150: +//line scanner/scanner.go:5711 + switch lex.data[(lex.p)] { + case 10: + goto st79 + case 13: + goto st80 + case 32: + goto st78 + case 63: + goto st81 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st78 + } + goto tr249 + tr117: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st78 + st78: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof78 + } + st_case_78: +//line scanner/scanner.go:5735 + switch lex.data[(lex.p)] { + case 10: + goto st79 + case 13: + goto st80 + case 32: + goto st78 + case 63: + goto st81 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st78 + } + goto tr38 + tr118: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st79 + st79: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof79 + } + st_case_79: +//line scanner/scanner.go:5759 + switch lex.data[(lex.p)] { + case 10: + goto tr118 + case 13: + goto tr119 + case 32: + goto tr117 + case 63: + goto tr120 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr117 + } + goto tr38 + tr119: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st80 + st80: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof80 + } + st_case_80: +//line scanner/scanner.go:5783 + if lex.data[(lex.p)] == 10 { + goto st79 + } + goto tr38 + tr120: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st81 + st81: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof81 + } + st_case_81: +//line scanner/scanner.go:5797 + if lex.data[(lex.p)] == 62 { + goto tr121 + } + goto tr38 + tr121: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st151 + st151: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof151 + } + st_case_151: +//line scanner/scanner.go:5812 + switch lex.data[(lex.p)] { + case 10: + goto st152 + case 13: + goto st82 + } + goto tr288 + st152: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof152 + } + st_case_152: + goto tr290 + st82: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof82 + } + st_case_82: + if lex.data[(lex.p)] == 10 { + goto st152 + } + goto tr122 + st153: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof153 + } + st_case_153: + switch lex.data[(lex.p)] { + case 60: + goto tr291 + case 61: + goto st156 + case 62: + goto tr293 + } + goto tr249 + tr291: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:273 + lex.act = 115 + goto st154 + st154: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof154 + } + st_case_154: +//line scanner/scanner.go:5861 + switch lex.data[(lex.p)] { + case 60: + goto st83 + case 61: + goto tr295 + } + goto tr294 + st83: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof83 + } + st_case_83: + switch lex.data[(lex.p)] { + case 9: + goto st83 + case 32: + goto st83 + case 34: + goto st84 + case 39: + goto st88 + case 55: + goto tr127 + case 95: + goto tr127 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr127 + } + case lex.data[(lex.p)] >= 65: + goto tr127 + } + goto tr8 + st84: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof84 + } + st_case_84: + switch lex.data[(lex.p)] { + case 55: + goto tr128 + case 95: + goto tr128 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr128 + } + case lex.data[(lex.p)] >= 65: + goto tr128 + } + goto tr8 + tr128: +//line scanner/scanner.rl:41 + lblStart = lex.p + goto st85 + st85: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof85 + } + st_case_85: +//line scanner/scanner.go:5926 + switch lex.data[(lex.p)] { + case 34: + goto tr129 + case 95: + goto st85 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st85 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st85 + } + default: + goto st85 + } + goto tr8 + tr129: +//line scanner/scanner.rl:42 + lblEnd = lex.p + goto st86 + st86: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof86 + } + st_case_86: +//line scanner/scanner.go:5955 + switch lex.data[(lex.p)] { + case 10: + goto st155 + case 13: + goto st87 + } + goto tr8 + tr135: +//line scanner/scanner.rl:42 + lblEnd = lex.p + goto st155 + st155: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof155 + } + st_case_155: +//line scanner/scanner.go:5972 + goto tr296 + tr136: +//line scanner/scanner.rl:42 + lblEnd = lex.p + goto st87 + st87: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof87 + } + st_case_87: +//line scanner/scanner.go:5983 + if lex.data[(lex.p)] == 10 { + goto st155 + } + goto tr8 + st88: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof88 + } + st_case_88: + switch lex.data[(lex.p)] { + case 55: + goto tr133 + case 95: + goto tr133 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr133 + } + case lex.data[(lex.p)] >= 65: + goto tr133 + } + goto tr8 + tr133: +//line scanner/scanner.rl:41 + lblStart = lex.p + goto st89 + st89: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof89 + } + st_case_89: +//line scanner/scanner.go:6017 + switch lex.data[(lex.p)] { + case 39: + goto tr129 + case 95: + goto st89 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st89 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st89 + } + default: + goto st89 + } + goto tr8 + tr127: +//line scanner/scanner.rl:41 + lblStart = lex.p + goto st90 + st90: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof90 + } + st_case_90: +//line scanner/scanner.go:6046 + switch lex.data[(lex.p)] { + case 10: + goto tr135 + case 13: + goto tr136 + case 95: + goto st90 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st90 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st90 + } + default: + goto st90 + } + goto tr8 + st156: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof156 + } + st_case_156: + if lex.data[(lex.p)] == 62 { + goto tr298 + } + goto tr297 + st157: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof157 + } + st_case_157: + switch lex.data[(lex.p)] { + case 61: + goto st158 + case 62: + goto tr300 + } + goto tr249 + st158: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof158 + } + st_case_158: + if lex.data[(lex.p)] == 61 { + goto tr302 + } + goto tr301 + st159: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof159 + } + st_case_159: + switch lex.data[(lex.p)] { + case 61: + goto tr303 + case 62: + goto st160 + } + goto tr249 + st160: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof160 + } + st_case_160: + if lex.data[(lex.p)] == 61 { + goto tr306 + } + goto tr305 + st161: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof161 + } + st_case_161: + switch lex.data[(lex.p)] { + case 62: + goto tr307 + case 63: + goto tr308 + } + goto tr249 + tr307: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st162 + st162: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof162 + } + st_case_162: +//line scanner/scanner.go:6141 + switch lex.data[(lex.p)] { + case 10: + goto st163 + case 13: + goto st91 + } + goto tr309 + st163: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof163 + } + st_case_163: + goto tr311 + st91: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof91 + } + st_case_91: + if lex.data[(lex.p)] == 10 { + goto st163 + } + goto tr138 + st164: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof164 + } + st_case_164: + switch lex.data[(lex.p)] { + case 66: + goto st165 + case 78: + goto st171 + case 82: + goto st172 + case 83: + goto tr315 + case 95: + goto tr221 + case 98: + goto st165 + case 110: + goto st171 + case 114: + goto st172 + case 115: + goto tr315 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st165: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof165 + } + st_case_165: + switch lex.data[(lex.p)] { + case 83: + goto st166 + case 95: + goto tr221 + case 115: + goto st166 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st166: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof166 + } + st_case_166: + switch lex.data[(lex.p)] { + case 84: + goto st167 + case 95: + goto tr221 + case 116: + goto st167 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st167: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof167 + } + st_case_167: + switch lex.data[(lex.p)] { + case 82: + goto st168 + case 95: + goto tr221 + case 114: + goto st168 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st168: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof168 + } + st_case_168: + switch lex.data[(lex.p)] { + case 65: + goto st169 + case 95: + goto tr221 + case 97: + goto st169 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st169: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof169 + } + st_case_169: + switch lex.data[(lex.p)] { + case 67: + goto st170 + case 95: + goto tr221 + case 99: + goto st170 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st170: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof170 + } + st_case_170: + switch lex.data[(lex.p)] { + case 84: + goto tr321 + case 95: + goto tr221 + case 116: + goto tr321 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st171: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof171 + } + st_case_171: + switch lex.data[(lex.p)] { + case 68: + goto tr322 + case 95: + goto tr221 + case 100: + goto tr322 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st172: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof172 + } + st_case_172: + switch lex.data[(lex.p)] { + case 82: + goto st173 + case 95: + goto tr221 + case 114: + goto st173 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st173: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof173 + } + st_case_173: + switch lex.data[(lex.p)] { + case 65: + goto st174 + case 95: + goto tr221 + case 97: + goto st174 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st174: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof174 + } + st_case_174: + switch lex.data[(lex.p)] { + case 89: + goto tr325 + case 95: + goto tr221 + case 121: + goto tr325 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + tr215: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:312 + lex.act = 131 + goto st175 + st175: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof175 + } + st_case_175: +//line scanner/scanner.go:6474 + switch lex.data[(lex.p)] { + case 34: + goto st6 + case 60: + goto st92 + case 82: + goto st176 + case 95: + goto tr221 + case 114: + goto st176 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st92: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof92 + } + st_case_92: + if lex.data[(lex.p)] == 60 { + goto st93 + } + goto tr140 + st93: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof93 + } + st_case_93: + if lex.data[(lex.p)] == 60 { + goto st83 + } + goto tr140 + st176: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof176 + } + st_case_176: + switch lex.data[(lex.p)] { + case 69: + goto st177 + case 95: + goto tr221 + case 101: + goto st177 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st177: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof177 + } + st_case_177: + switch lex.data[(lex.p)] { + case 65: + goto st178 + case 95: + goto tr221 + case 97: + goto st178 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st178: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof178 + } + st_case_178: + switch lex.data[(lex.p)] { + case 75: + goto tr330 + case 95: + goto tr221 + case 107: + goto tr330 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st179: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof179 + } + st_case_179: + switch lex.data[(lex.p)] { + case 65: + goto st180 + case 70: + goto st189 + case 76: + goto st196 + case 79: + goto st201 + case 95: + goto tr221 + case 97: + goto st180 + case 102: + goto st189 + case 108: + goto st196 + case 111: + goto st201 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st180: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof180 + } + st_case_180: + switch lex.data[(lex.p)] { + case 76: + goto st181 + case 83: + goto st186 + case 84: + goto st187 + case 95: + goto tr221 + case 108: + goto st181 + case 115: + goto st186 + case 116: + goto st187 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st181: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof181 + } + st_case_181: + switch lex.data[(lex.p)] { + case 76: + goto st182 + case 95: + goto tr221 + case 108: + goto st182 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st182: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof182 + } + st_case_182: + switch lex.data[(lex.p)] { + case 65: + goto st183 + case 95: + goto tr221 + case 97: + goto st183 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st183: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof183 + } + st_case_183: + switch lex.data[(lex.p)] { + case 66: + goto st184 + case 95: + goto tr221 + case 98: + goto st184 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st184: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof184 + } + st_case_184: + switch lex.data[(lex.p)] { + case 76: + goto st185 + case 95: + goto tr221 + case 108: + goto st185 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st185: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof185 + } + st_case_185: + switch lex.data[(lex.p)] { + case 69: + goto tr342 + case 95: + goto tr221 + case 101: + goto tr342 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st186: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof186 + } + st_case_186: + switch lex.data[(lex.p)] { + case 69: + goto tr343 + case 95: + goto tr221 + case 101: + goto tr343 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st187: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof187 + } + st_case_187: + switch lex.data[(lex.p)] { + case 67: + goto st188 + case 95: + goto tr221 + case 99: + goto st188 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st188: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof188 + } + st_case_188: + switch lex.data[(lex.p)] { + case 72: + goto tr345 + case 95: + goto tr221 + case 104: + goto tr345 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st189: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof189 + } + st_case_189: + switch lex.data[(lex.p)] { + case 85: + goto st190 + case 95: + goto tr221 + case 117: + goto st190 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st190: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof190 + } + st_case_190: + switch lex.data[(lex.p)] { + case 78: + goto st191 + case 95: + goto tr221 + case 110: + goto st191 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st191: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof191 + } + st_case_191: + switch lex.data[(lex.p)] { + case 67: + goto st192 + case 95: + goto tr221 + case 99: + goto st192 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st192: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof192 + } + st_case_192: + switch lex.data[(lex.p)] { + case 84: + goto st193 + case 95: + goto tr221 + case 116: + goto st193 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st193: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof193 + } + st_case_193: + switch lex.data[(lex.p)] { + case 73: + goto st194 + case 95: + goto tr221 + case 105: + goto st194 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st194: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof194 + } + st_case_194: + switch lex.data[(lex.p)] { + case 79: + goto st195 + case 95: + goto tr221 + case 111: + goto st195 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st195: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof195 + } + st_case_195: + switch lex.data[(lex.p)] { + case 78: + goto tr352 + case 95: + goto tr221 + case 110: + goto tr352 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st196: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof196 + } + st_case_196: + switch lex.data[(lex.p)] { + case 65: + goto st197 + case 79: + goto st199 + case 95: + goto tr221 + case 97: + goto st197 + case 111: + goto st199 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st197: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof197 + } + st_case_197: + switch lex.data[(lex.p)] { + case 83: + goto st198 + case 95: + goto tr221 + case 115: + goto st198 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st198: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof198 + } + st_case_198: + switch lex.data[(lex.p)] { + case 83: + goto tr356 + case 95: + goto tr221 + case 115: + goto tr356 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st199: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof199 + } + st_case_199: + switch lex.data[(lex.p)] { + case 78: + goto st200 + case 95: + goto tr221 + case 110: + goto st200 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st200: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof200 + } + st_case_200: + switch lex.data[(lex.p)] { + case 69: + goto tr358 + case 95: + goto tr221 + case 101: + goto tr358 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st201: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof201 + } + st_case_201: + switch lex.data[(lex.p)] { + case 78: + goto st202 + case 95: + goto tr221 + case 110: + goto st202 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st202: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof202 + } + st_case_202: + switch lex.data[(lex.p)] { + case 83: + goto st203 + case 84: + goto st204 + case 95: + goto tr221 + case 115: + goto st203 + case 116: + goto st204 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st203: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof203 + } + st_case_203: + switch lex.data[(lex.p)] { + case 84: + goto tr362 + case 95: + goto tr221 + case 116: + goto tr362 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st204: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof204 + } + st_case_204: + switch lex.data[(lex.p)] { + case 73: + goto st205 + case 95: + goto tr221 + case 105: + goto st205 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st205: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof205 + } + st_case_205: + switch lex.data[(lex.p)] { + case 78: + goto st206 + case 95: + goto tr221 + case 110: + goto st206 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st206: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof206 + } + st_case_206: + switch lex.data[(lex.p)] { + case 85: + goto st207 + case 95: + goto tr221 + case 117: + goto st207 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st207: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof207 + } + st_case_207: + switch lex.data[(lex.p)] { + case 69: + goto tr366 + case 95: + goto tr221 + case 101: + goto tr366 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st208: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof208 + } + st_case_208: + switch lex.data[(lex.p)] { + case 69: + goto st209 + case 73: + goto st218 + case 79: + goto tr369 + case 95: + goto tr221 + case 101: + goto st209 + case 105: + goto st218 + case 111: + goto tr369 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st209: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof209 + } + st_case_209: + switch lex.data[(lex.p)] { + case 67: + goto st210 + case 70: + goto st214 + case 95: + goto tr221 + case 99: + goto st210 + case 102: + goto st214 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st210: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof210 + } + st_case_210: + switch lex.data[(lex.p)] { + case 76: + goto st211 + case 95: + goto tr221 + case 108: + goto st211 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st211: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof211 + } + st_case_211: + switch lex.data[(lex.p)] { + case 65: + goto st212 + case 95: + goto tr221 + case 97: + goto st212 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st212: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof212 + } + st_case_212: + switch lex.data[(lex.p)] { + case 82: + goto st213 + case 95: + goto tr221 + case 114: + goto st213 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st213: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof213 + } + st_case_213: + switch lex.data[(lex.p)] { + case 69: + goto tr375 + case 95: + goto tr221 + case 101: + goto tr375 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st214: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof214 + } + st_case_214: + switch lex.data[(lex.p)] { + case 65: + goto st215 + case 95: + goto tr221 + case 97: + goto st215 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st215: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof215 + } + st_case_215: + switch lex.data[(lex.p)] { + case 85: + goto st216 + case 95: + goto tr221 + case 117: + goto st216 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st216: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof216 + } + st_case_216: + switch lex.data[(lex.p)] { + case 76: + goto st217 + case 95: + goto tr221 + case 108: + goto st217 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st217: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof217 + } + st_case_217: + switch lex.data[(lex.p)] { + case 84: + goto tr379 + case 95: + goto tr221 + case 116: + goto tr379 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st218: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof218 + } + st_case_218: + switch lex.data[(lex.p)] { + case 69: + goto tr380 + case 95: + goto tr221 + case 101: + goto tr380 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st219: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof219 + } + st_case_219: + switch lex.data[(lex.p)] { + case 67: + goto st220 + case 76: + goto st222 + case 77: + goto st226 + case 78: + goto st229 + case 86: + goto st253 + case 88: + goto st255 + case 95: + goto tr221 + case 99: + goto st220 + case 108: + goto st222 + case 109: + goto st226 + case 110: + goto st229 + case 118: + goto st253 + case 120: + goto st255 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st220: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof220 + } + st_case_220: + switch lex.data[(lex.p)] { + case 72: + goto st221 + case 95: + goto tr221 + case 104: + goto st221 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st221: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof221 + } + st_case_221: + switch lex.data[(lex.p)] { + case 79: + goto tr388 + case 95: + goto tr221 + case 111: + goto tr388 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st222: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof222 + } + st_case_222: + switch lex.data[(lex.p)] { + case 83: + goto st223 + case 95: + goto tr221 + case 115: + goto st223 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st223: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof223 + } + st_case_223: + switch lex.data[(lex.p)] { + case 69: + goto st224 + case 95: + goto tr221 + case 101: + goto st224 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st224: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof224 + } + st_case_224: + switch lex.data[(lex.p)] { + case 73: + goto st225 + case 95: + goto tr221 + case 105: + goto st225 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr391 + st225: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof225 + } + st_case_225: + switch lex.data[(lex.p)] { + case 70: + goto tr393 + case 95: + goto tr221 + case 102: + goto tr393 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st226: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof226 + } + st_case_226: + switch lex.data[(lex.p)] { + case 80: + goto st227 + case 95: + goto tr221 + case 112: + goto st227 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st227: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof227 + } + st_case_227: + switch lex.data[(lex.p)] { + case 84: + goto st228 + case 95: + goto tr221 + case 116: + goto st228 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st228: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof228 + } + st_case_228: + switch lex.data[(lex.p)] { + case 89: + goto tr396 + case 95: + goto tr221 + case 121: + goto tr396 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st229: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof229 + } + st_case_229: + switch lex.data[(lex.p)] { + case 68: + goto st230 + case 95: + goto tr221 + case 100: + goto st230 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st230: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof230 + } + st_case_230: + switch lex.data[(lex.p)] { + case 68: + goto st231 + case 70: + goto st237 + case 73: + goto st243 + case 83: + goto st244 + case 87: + goto st249 + case 95: + goto tr221 + case 100: + goto st231 + case 102: + goto st237 + case 105: + goto st243 + case 115: + goto st244 + case 119: + goto st249 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st231: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof231 + } + st_case_231: + switch lex.data[(lex.p)] { + case 69: + goto st232 + case 95: + goto tr221 + case 101: + goto st232 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st232: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof232 + } + st_case_232: + switch lex.data[(lex.p)] { + case 67: + goto st233 + case 95: + goto tr221 + case 99: + goto st233 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st233: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof233 + } + st_case_233: + switch lex.data[(lex.p)] { + case 76: + goto st234 + case 95: + goto tr221 + case 108: + goto st234 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st234: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof234 + } + st_case_234: + switch lex.data[(lex.p)] { + case 65: + goto st235 + case 95: + goto tr221 + case 97: + goto st235 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st235: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof235 + } + st_case_235: + switch lex.data[(lex.p)] { + case 82: + goto st236 + case 95: + goto tr221 + case 114: + goto st236 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st236: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof236 + } + st_case_236: + switch lex.data[(lex.p)] { + case 69: + goto tr408 + case 95: + goto tr221 + case 101: + goto tr408 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st237: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof237 + } + st_case_237: + switch lex.data[(lex.p)] { + case 79: + goto st238 + case 95: + goto tr221 + case 111: + goto st238 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st238: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof238 + } + st_case_238: + switch lex.data[(lex.p)] { + case 82: + goto st239 + case 95: + goto tr221 + case 114: + goto st239 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st239: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof239 + } + st_case_239: + switch lex.data[(lex.p)] { + case 69: + goto st240 + case 95: + goto tr221 + case 101: + goto st240 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr411 + st240: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof240 + } + st_case_240: + switch lex.data[(lex.p)] { + case 65: + goto st241 + case 95: + goto tr221 + case 97: + goto st241 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st241: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof241 + } + st_case_241: + switch lex.data[(lex.p)] { + case 67: + goto st242 + case 95: + goto tr221 + case 99: + goto st242 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st242: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof242 + } + st_case_242: + switch lex.data[(lex.p)] { + case 72: + goto tr415 + case 95: + goto tr221 + case 104: + goto tr415 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st243: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof243 + } + st_case_243: + switch lex.data[(lex.p)] { + case 70: + goto tr416 + case 95: + goto tr221 + case 102: + goto tr416 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st244: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof244 + } + st_case_244: + switch lex.data[(lex.p)] { + case 87: + goto st245 + case 95: + goto tr221 + case 119: + goto st245 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st245: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof245 + } + st_case_245: + switch lex.data[(lex.p)] { + case 73: + goto st246 + case 95: + goto tr221 + case 105: + goto st246 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st246: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof246 + } + st_case_246: + switch lex.data[(lex.p)] { + case 84: + goto st247 + case 95: + goto tr221 + case 116: + goto st247 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st247: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof247 + } + st_case_247: + switch lex.data[(lex.p)] { + case 67: + goto st248 + case 95: + goto tr221 + case 99: + goto st248 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st248: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof248 + } + st_case_248: + switch lex.data[(lex.p)] { + case 72: + goto tr421 + case 95: + goto tr221 + case 104: + goto tr421 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st249: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof249 + } + st_case_249: + switch lex.data[(lex.p)] { + case 72: + goto st250 + case 95: + goto tr221 + case 104: + goto st250 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st250: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof250 + } + st_case_250: + switch lex.data[(lex.p)] { + case 73: + goto st251 + case 95: + goto tr221 + case 105: + goto st251 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st251: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof251 + } + st_case_251: + switch lex.data[(lex.p)] { + case 76: + goto st252 + case 95: + goto tr221 + case 108: + goto st252 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st252: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof252 + } + st_case_252: + switch lex.data[(lex.p)] { + case 69: + goto tr425 + case 95: + goto tr221 + case 101: + goto tr425 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st253: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof253 + } + st_case_253: + switch lex.data[(lex.p)] { + case 65: + goto st254 + case 95: + goto tr221 + case 97: + goto st254 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st254: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof254 + } + st_case_254: + switch lex.data[(lex.p)] { + case 76: + goto tr427 + case 95: + goto tr221 + case 108: + goto tr427 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st255: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof255 + } + st_case_255: + switch lex.data[(lex.p)] { + case 73: + goto st256 + case 84: + goto st257 + case 95: + goto tr221 + case 105: + goto st256 + case 116: + goto st257 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st256: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof256 + } + st_case_256: + switch lex.data[(lex.p)] { + case 84: + goto tr380 + case 95: + goto tr221 + case 116: + goto tr380 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st257: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof257 + } + st_case_257: + switch lex.data[(lex.p)] { + case 69: + goto st258 + case 95: + goto tr221 + case 101: + goto st258 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st258: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof258 + } + st_case_258: + switch lex.data[(lex.p)] { + case 78: + goto st259 + case 95: + goto tr221 + case 110: + goto st259 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st259: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof259 + } + st_case_259: + switch lex.data[(lex.p)] { + case 68: + goto st260 + case 95: + goto tr221 + case 100: + goto st260 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st260: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof260 + } + st_case_260: + switch lex.data[(lex.p)] { + case 83: + goto tr433 + case 95: + goto tr221 + case 115: + goto tr433 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st261: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof261 + } + st_case_261: + switch lex.data[(lex.p)] { + case 73: + goto st262 + case 79: + goto st267 + case 85: + goto st190 + case 95: + goto tr221 + case 105: + goto st262 + case 111: + goto st267 + case 117: + goto st190 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st262: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof262 + } + st_case_262: + switch lex.data[(lex.p)] { + case 78: + goto st263 + case 95: + goto tr221 + case 110: + goto st263 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st263: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof263 + } + st_case_263: + switch lex.data[(lex.p)] { + case 65: + goto st264 + case 95: + goto tr221 + case 97: + goto st264 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st264: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof264 + } + st_case_264: + switch lex.data[(lex.p)] { + case 76: + goto st265 + case 95: + goto tr221 + case 108: + goto st265 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st265: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof265 + } + st_case_265: + switch lex.data[(lex.p)] { + case 76: + goto st266 + case 95: + goto tr221 + case 108: + goto st266 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr439 + st266: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof266 + } + st_case_266: + switch lex.data[(lex.p)] { + case 89: + goto tr441 + case 95: + goto tr221 + case 121: + goto tr441 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st267: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof267 + } + st_case_267: + switch lex.data[(lex.p)] { + case 82: + goto st268 + case 95: + goto tr221 + case 114: + goto st268 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st268: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof268 + } + st_case_268: + switch lex.data[(lex.p)] { + case 69: + goto st269 + case 95: + goto tr221 + case 101: + goto st269 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr443 + st269: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof269 + } + st_case_269: + switch lex.data[(lex.p)] { + case 65: + goto st270 + case 95: + goto tr221 + case 97: + goto st270 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st270: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof270 + } + st_case_270: + switch lex.data[(lex.p)] { + case 67: + goto st271 + case 95: + goto tr221 + case 99: + goto st271 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st271: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof271 + } + st_case_271: + switch lex.data[(lex.p)] { + case 72: + goto tr447 + case 95: + goto tr221 + case 104: + goto tr447 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st272: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof272 + } + st_case_272: + switch lex.data[(lex.p)] { + case 76: + goto st273 + case 79: + goto st277 + case 95: + goto tr221 + case 108: + goto st273 + case 111: + goto st277 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st273: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof273 + } + st_case_273: + switch lex.data[(lex.p)] { + case 79: + goto st274 + case 95: + goto tr221 + case 111: + goto st274 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st274: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof274 + } + st_case_274: + switch lex.data[(lex.p)] { + case 66: + goto st275 + case 95: + goto tr221 + case 98: + goto st275 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st275: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof275 + } + st_case_275: + switch lex.data[(lex.p)] { + case 65: + goto st276 + case 95: + goto tr221 + case 97: + goto st276 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st276: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof276 + } + st_case_276: + switch lex.data[(lex.p)] { + case 76: + goto tr453 + case 95: + goto tr221 + case 108: + goto tr453 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st277: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof277 + } + st_case_277: + switch lex.data[(lex.p)] { + case 84: + goto st278 + case 95: + goto tr221 + case 116: + goto st278 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st278: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof278 + } + st_case_278: + switch lex.data[(lex.p)] { + case 79: + goto tr455 + case 95: + goto tr221 + case 111: + goto tr455 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st279: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof279 + } + st_case_279: + switch lex.data[(lex.p)] { + case 70: + goto tr456 + case 77: + goto st280 + case 78: + goto st288 + case 83: + goto st315 + case 95: + goto tr221 + case 102: + goto tr456 + case 109: + goto st280 + case 110: + goto st288 + case 115: + goto st315 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st280: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof280 + } + st_case_280: + switch lex.data[(lex.p)] { + case 80: + goto st281 + case 95: + goto tr221 + case 112: + goto st281 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st281: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof281 + } + st_case_281: + switch lex.data[(lex.p)] { + case 76: + goto st282 + case 95: + goto tr221 + case 108: + goto st282 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st282: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof282 + } + st_case_282: + switch lex.data[(lex.p)] { + case 69: + goto st283 + case 95: + goto tr221 + case 101: + goto st283 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st283: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof283 + } + st_case_283: + switch lex.data[(lex.p)] { + case 77: + goto st284 + case 95: + goto tr221 + case 109: + goto st284 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st284: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof284 + } + st_case_284: + switch lex.data[(lex.p)] { + case 69: + goto st285 + case 95: + goto tr221 + case 101: + goto st285 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st285: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof285 + } + st_case_285: + switch lex.data[(lex.p)] { + case 78: + goto st286 + case 95: + goto tr221 + case 110: + goto st286 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st286: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof286 + } + st_case_286: + switch lex.data[(lex.p)] { + case 84: + goto st287 + case 95: + goto tr221 + case 116: + goto st287 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st287: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof287 + } + st_case_287: + switch lex.data[(lex.p)] { + case 83: + goto tr467 + case 95: + goto tr221 + case 115: + goto tr467 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st288: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof288 + } + st_case_288: + switch lex.data[(lex.p)] { + case 67: + goto st289 + case 83: + goto st298 + case 84: + goto st309 + case 95: + goto tr221 + case 99: + goto st289 + case 115: + goto st298 + case 116: + goto st309 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st289: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof289 + } + st_case_289: + switch lex.data[(lex.p)] { + case 76: + goto st290 + case 95: + goto tr221 + case 108: + goto st290 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st290: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof290 + } + st_case_290: + switch lex.data[(lex.p)] { + case 85: + goto st291 + case 95: + goto tr221 + case 117: + goto st291 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st291: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof291 + } + st_case_291: + switch lex.data[(lex.p)] { + case 68: + goto st292 + case 95: + goto tr221 + case 100: + goto st292 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st292: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof292 + } + st_case_292: + switch lex.data[(lex.p)] { + case 69: + goto st293 + case 95: + goto tr221 + case 101: + goto st293 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st293: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof293 + } + st_case_293: + if lex.data[(lex.p)] == 95 { + goto st294 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr475 + st294: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof294 + } + st_case_294: + switch lex.data[(lex.p)] { + case 79: + goto st295 + case 95: + goto tr221 + case 111: + goto st295 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st295: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof295 + } + st_case_295: + switch lex.data[(lex.p)] { + case 78: + goto st296 + case 95: + goto tr221 + case 110: + goto st296 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st296: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof296 + } + st_case_296: + switch lex.data[(lex.p)] { + case 67: + goto st297 + case 95: + goto tr221 + case 99: + goto st297 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st297: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof297 + } + st_case_297: + switch lex.data[(lex.p)] { + case 69: + goto tr480 + case 95: + goto tr221 + case 101: + goto tr480 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st298: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof298 + } + st_case_298: + switch lex.data[(lex.p)] { + case 84: + goto st299 + case 95: + goto tr221 + case 116: + goto st299 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st299: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof299 + } + st_case_299: + switch lex.data[(lex.p)] { + case 65: + goto st300 + case 69: + goto st305 + case 95: + goto tr221 + case 97: + goto st300 + case 101: + goto st305 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st300: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof300 + } + st_case_300: + switch lex.data[(lex.p)] { + case 78: + goto st301 + case 95: + goto tr221 + case 110: + goto st301 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st301: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof301 + } + st_case_301: + switch lex.data[(lex.p)] { + case 67: + goto st302 + case 95: + goto tr221 + case 99: + goto st302 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st302: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof302 + } + st_case_302: + switch lex.data[(lex.p)] { + case 69: + goto st303 + case 95: + goto tr221 + case 101: + goto st303 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st303: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof303 + } + st_case_303: + switch lex.data[(lex.p)] { + case 79: + goto st304 + case 95: + goto tr221 + case 111: + goto st304 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st304: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof304 + } + st_case_304: + switch lex.data[(lex.p)] { + case 70: + goto tr488 + case 95: + goto tr221 + case 102: + goto tr488 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st305: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof305 + } + st_case_305: + switch lex.data[(lex.p)] { + case 65: + goto st306 + case 95: + goto tr221 + case 97: + goto st306 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st306: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof306 + } + st_case_306: + switch lex.data[(lex.p)] { + case 68: + goto st307 + case 95: + goto tr221 + case 100: + goto st307 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st307: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof307 + } + st_case_307: + switch lex.data[(lex.p)] { + case 79: + goto st308 + case 95: + goto tr221 + case 111: + goto st308 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st308: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof308 + } + st_case_308: + switch lex.data[(lex.p)] { + case 70: + goto tr492 + case 95: + goto tr221 + case 102: + goto tr492 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st309: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof309 + } + st_case_309: + switch lex.data[(lex.p)] { + case 69: + goto st310 + case 95: + goto tr221 + case 101: + goto st310 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st310: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof310 + } + st_case_310: + switch lex.data[(lex.p)] { + case 82: + goto st311 + case 95: + goto tr221 + case 114: + goto st311 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st311: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof311 + } + st_case_311: + switch lex.data[(lex.p)] { + case 70: + goto st312 + case 95: + goto tr221 + case 102: + goto st312 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st312: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof312 + } + st_case_312: + switch lex.data[(lex.p)] { + case 65: + goto st313 + case 95: + goto tr221 + case 97: + goto st313 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st313: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof313 + } + st_case_313: + switch lex.data[(lex.p)] { + case 67: + goto st314 + case 95: + goto tr221 + case 99: + goto st314 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st314: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof314 + } + st_case_314: + switch lex.data[(lex.p)] { + case 69: + goto tr498 + case 95: + goto tr221 + case 101: + goto tr498 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st315: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof315 + } + st_case_315: + switch lex.data[(lex.p)] { + case 83: + goto st316 + case 95: + goto tr221 + case 115: + goto st316 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st316: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof316 + } + st_case_316: + switch lex.data[(lex.p)] { + case 69: + goto st317 + case 95: + goto tr221 + case 101: + goto st317 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st317: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof317 + } + st_case_317: + switch lex.data[(lex.p)] { + case 84: + goto tr501 + case 95: + goto tr221 + case 116: + goto tr501 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st318: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof318 + } + st_case_318: + switch lex.data[(lex.p)] { + case 73: + goto st319 + case 95: + goto tr221 + case 105: + goto st319 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st319: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof319 + } + st_case_319: + switch lex.data[(lex.p)] { + case 83: + goto st320 + case 95: + goto tr221 + case 115: + goto st320 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st320: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof320 + } + st_case_320: + switch lex.data[(lex.p)] { + case 84: + goto tr504 + case 95: + goto tr221 + case 116: + goto tr504 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st321: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof321 + } + st_case_321: + switch lex.data[(lex.p)] { + case 65: + goto st322 + case 69: + goto st329 + case 95: + goto tr221 + case 97: + goto st322 + case 101: + goto st329 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st322: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof322 + } + st_case_322: + switch lex.data[(lex.p)] { + case 77: + goto st323 + case 95: + goto tr221 + case 109: + goto st323 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st323: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof323 + } + st_case_323: + switch lex.data[(lex.p)] { + case 69: + goto st324 + case 95: + goto tr221 + case 101: + goto st324 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st324: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof324 + } + st_case_324: + switch lex.data[(lex.p)] { + case 83: + goto st325 + case 95: + goto tr221 + case 115: + goto st325 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st325: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof325 + } + st_case_325: + switch lex.data[(lex.p)] { + case 80: + goto st326 + case 95: + goto tr221 + case 112: + goto st326 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st326: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof326 + } + st_case_326: + switch lex.data[(lex.p)] { + case 65: + goto st327 + case 95: + goto tr221 + case 97: + goto st327 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st327: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof327 + } + st_case_327: + switch lex.data[(lex.p)] { + case 67: + goto st328 + case 95: + goto tr221 + case 99: + goto st328 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st328: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof328 + } + st_case_328: + switch lex.data[(lex.p)] { + case 69: + goto tr513 + case 95: + goto tr221 + case 101: + goto tr513 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st329: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof329 + } + st_case_329: + switch lex.data[(lex.p)] { + case 87: + goto tr514 + case 95: + goto tr221 + case 119: + goto tr514 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st330: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof330 + } + st_case_330: + switch lex.data[(lex.p)] { + case 82: + goto tr515 + case 95: + goto tr221 + case 114: + goto tr515 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st331: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof331 + } + st_case_331: + switch lex.data[(lex.p)] { + case 82: + goto st332 + case 85: + goto st344 + case 95: + goto tr221 + case 114: + goto st332 + case 117: + goto st344 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st332: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof332 + } + st_case_332: + switch lex.data[(lex.p)] { + case 73: + goto st333 + case 79: + goto st338 + case 95: + goto tr221 + case 105: + goto st333 + case 111: + goto st338 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st333: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof333 + } + st_case_333: + switch lex.data[(lex.p)] { + case 78: + goto st334 + case 86: + goto st335 + case 95: + goto tr221 + case 110: + goto st334 + case 118: + goto st335 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st334: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof334 + } + st_case_334: + switch lex.data[(lex.p)] { + case 84: + goto tr522 + case 95: + goto tr221 + case 116: + goto tr522 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st335: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof335 + } + st_case_335: + switch lex.data[(lex.p)] { + case 65: + goto st336 + case 95: + goto tr221 + case 97: + goto st336 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st336: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof336 + } + st_case_336: + switch lex.data[(lex.p)] { + case 84: + goto st337 + case 95: + goto tr221 + case 116: + goto st337 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st337: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof337 + } + st_case_337: + switch lex.data[(lex.p)] { + case 69: + goto tr525 + case 95: + goto tr221 + case 101: + goto tr525 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st338: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof338 + } + st_case_338: + switch lex.data[(lex.p)] { + case 84: + goto st339 + case 95: + goto tr221 + case 116: + goto st339 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st339: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof339 + } + st_case_339: + switch lex.data[(lex.p)] { + case 69: + goto st340 + case 95: + goto tr221 + case 101: + goto st340 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st340: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof340 + } + st_case_340: + switch lex.data[(lex.p)] { + case 67: + goto st341 + case 95: + goto tr221 + case 99: + goto st341 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st341: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof341 + } + st_case_341: + switch lex.data[(lex.p)] { + case 84: + goto st342 + case 95: + goto tr221 + case 116: + goto st342 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st342: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof342 + } + st_case_342: + switch lex.data[(lex.p)] { + case 69: + goto st343 + case 95: + goto tr221 + case 101: + goto st343 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st343: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof343 + } + st_case_343: + switch lex.data[(lex.p)] { + case 68: + goto tr531 + case 95: + goto tr221 + case 100: + goto tr531 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st344: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof344 + } + st_case_344: + switch lex.data[(lex.p)] { + case 66: + goto st345 + case 95: + goto tr221 + case 98: + goto st345 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st345: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof345 + } + st_case_345: + switch lex.data[(lex.p)] { + case 76: + goto st346 + case 95: + goto tr221 + case 108: + goto st346 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st346: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof346 + } + st_case_346: + switch lex.data[(lex.p)] { + case 73: + goto st347 + case 95: + goto tr221 + case 105: + goto st347 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st347: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof347 + } + st_case_347: + switch lex.data[(lex.p)] { + case 67: + goto tr535 + case 95: + goto tr221 + case 99: + goto tr535 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st348: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof348 + } + st_case_348: + switch lex.data[(lex.p)] { + case 69: + goto st349 + case 95: + goto tr221 + case 101: + goto st349 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st349: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof349 + } + st_case_349: + switch lex.data[(lex.p)] { + case 81: + goto st350 + case 84: + goto st359 + case 95: + goto tr221 + case 113: + goto st350 + case 116: + goto st359 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st350: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof350 + } + st_case_350: + switch lex.data[(lex.p)] { + case 85: + goto st351 + case 95: + goto tr221 + case 117: + goto st351 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st351: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof351 + } + st_case_351: + switch lex.data[(lex.p)] { + case 73: + goto st352 + case 95: + goto tr221 + case 105: + goto st352 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st352: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof352 + } + st_case_352: + switch lex.data[(lex.p)] { + case 82: + goto st353 + case 95: + goto tr221 + case 114: + goto st353 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st353: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof353 + } + st_case_353: + switch lex.data[(lex.p)] { + case 69: + goto st354 + case 95: + goto tr221 + case 101: + goto st354 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st354: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof354 + } + st_case_354: + if lex.data[(lex.p)] == 95 { + goto st355 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr543 + st355: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof355 + } + st_case_355: + switch lex.data[(lex.p)] { + case 79: + goto st356 + case 95: + goto tr221 + case 111: + goto st356 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st356: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof356 + } + st_case_356: + switch lex.data[(lex.p)] { + case 78: + goto st357 + case 95: + goto tr221 + case 110: + goto st357 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st357: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof357 + } + st_case_357: + switch lex.data[(lex.p)] { + case 67: + goto st358 + case 95: + goto tr221 + case 99: + goto st358 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st358: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof358 + } + st_case_358: + switch lex.data[(lex.p)] { + case 69: + goto tr548 + case 95: + goto tr221 + case 101: + goto tr548 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st359: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof359 + } + st_case_359: + switch lex.data[(lex.p)] { + case 85: + goto st360 + case 95: + goto tr221 + case 117: + goto st360 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st360: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof360 + } + st_case_360: + switch lex.data[(lex.p)] { + case 82: + goto st361 + case 95: + goto tr221 + case 114: + goto st361 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st361: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof361 + } + st_case_361: + switch lex.data[(lex.p)] { + case 78: + goto tr551 + case 95: + goto tr221 + case 110: + goto tr551 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st362: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof362 + } + st_case_362: + switch lex.data[(lex.p)] { + case 84: + goto st363 + case 87: + goto st367 + case 95: + goto tr221 + case 116: + goto st363 + case 119: + goto st367 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st363: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof363 + } + st_case_363: + switch lex.data[(lex.p)] { + case 65: + goto st364 + case 95: + goto tr221 + case 97: + goto st364 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st364: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof364 + } + st_case_364: + switch lex.data[(lex.p)] { + case 84: + goto st365 + case 95: + goto tr221 + case 116: + goto st365 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st365: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof365 + } + st_case_365: + switch lex.data[(lex.p)] { + case 73: + goto st366 + case 95: + goto tr221 + case 105: + goto st366 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st366: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof366 + } + st_case_366: + switch lex.data[(lex.p)] { + case 67: + goto tr557 + case 95: + goto tr221 + case 99: + goto tr557 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st367: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof367 + } + st_case_367: + switch lex.data[(lex.p)] { + case 73: + goto st368 + case 95: + goto tr221 + case 105: + goto st368 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st368: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof368 + } + st_case_368: + switch lex.data[(lex.p)] { + case 84: + goto st369 + case 95: + goto tr221 + case 116: + goto st369 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st369: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof369 + } + st_case_369: + switch lex.data[(lex.p)] { + case 67: + goto st370 + case 95: + goto tr221 + case 99: + goto st370 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st370: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof370 + } + st_case_370: + switch lex.data[(lex.p)] { + case 72: + goto tr561 + case 95: + goto tr221 + case 104: + goto tr561 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st371: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof371 + } + st_case_371: + switch lex.data[(lex.p)] { + case 72: + goto st372 + case 82: + goto st375 + case 95: + goto tr221 + case 104: + goto st372 + case 114: + goto st375 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st372: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof372 + } + st_case_372: + switch lex.data[(lex.p)] { + case 82: + goto st373 + case 95: + goto tr221 + case 114: + goto st373 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st373: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof373 + } + st_case_373: + switch lex.data[(lex.p)] { + case 79: + goto st374 + case 95: + goto tr221 + case 111: + goto st374 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st374: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof374 + } + st_case_374: + switch lex.data[(lex.p)] { + case 87: + goto tr566 + case 95: + goto tr221 + case 119: + goto tr566 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st375: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof375 + } + st_case_375: + switch lex.data[(lex.p)] { + case 65: + goto st376 + case 89: + goto tr568 + case 95: + goto tr221 + case 97: + goto st376 + case 121: + goto tr568 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st376: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof376 + } + st_case_376: + switch lex.data[(lex.p)] { + case 73: + goto st377 + case 95: + goto tr221 + case 105: + goto st377 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st377: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof377 + } + st_case_377: + switch lex.data[(lex.p)] { + case 84: + goto tr570 + case 95: + goto tr221 + case 116: + goto tr570 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st378: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof378 + } + st_case_378: + switch lex.data[(lex.p)] { + case 78: + goto st379 + case 83: + goto st382 + case 95: + goto tr221 + case 110: + goto st379 + case 115: + goto st382 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st379: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof379 + } + st_case_379: + switch lex.data[(lex.p)] { + case 83: + goto st380 + case 95: + goto tr221 + case 115: + goto st380 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st380: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof380 + } + st_case_380: + switch lex.data[(lex.p)] { + case 69: + goto st381 + case 95: + goto tr221 + case 101: + goto st381 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st381: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof381 + } + st_case_381: + switch lex.data[(lex.p)] { + case 84: + goto tr575 + case 95: + goto tr221 + case 116: + goto tr575 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st382: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof382 + } + st_case_382: + switch lex.data[(lex.p)] { + case 69: + goto tr576 + case 95: + goto tr221 + case 101: + goto tr576 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st383: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof383 + } + st_case_383: + switch lex.data[(lex.p)] { + case 65: + goto st384 + case 95: + goto tr221 + case 97: + goto st384 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st384: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof384 + } + st_case_384: + switch lex.data[(lex.p)] { + case 82: + goto tr578 + case 95: + goto tr221 + case 114: + goto tr578 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st385: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof385 + } + st_case_385: + switch lex.data[(lex.p)] { + case 72: + goto st386 + case 95: + goto tr221 + case 104: + goto st386 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st386: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof386 + } + st_case_386: + switch lex.data[(lex.p)] { + case 73: + goto st387 + case 95: + goto tr221 + case 105: + goto st387 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st387: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof387 + } + st_case_387: + switch lex.data[(lex.p)] { + case 76: + goto st388 + case 95: + goto tr221 + case 108: + goto st388 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st388: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof388 + } + st_case_388: + switch lex.data[(lex.p)] { + case 69: + goto tr582 + case 95: + goto tr221 + case 101: + goto tr582 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st389: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof389 + } + st_case_389: + switch lex.data[(lex.p)] { + case 79: + goto st390 + case 95: + goto tr221 + case 111: + goto st390 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st390: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof390 + } + st_case_390: + switch lex.data[(lex.p)] { + case 82: + goto tr584 + case 95: + goto tr221 + case 114: + goto tr584 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st391: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof391 + } + st_case_391: + switch lex.data[(lex.p)] { + case 73: + goto st392 + case 95: + goto tr221 + case 105: + goto st392 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st392: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof392 + } + st_case_392: + switch lex.data[(lex.p)] { + case 69: + goto st393 + case 95: + goto tr221 + case 101: + goto st393 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st393: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof393 + } + st_case_393: + switch lex.data[(lex.p)] { + case 76: + goto st394 + case 95: + goto tr221 + case 108: + goto st394 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st394: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof394 + } + st_case_394: + switch lex.data[(lex.p)] { + case 68: + goto tr588 + case 95: + goto tr221 + case 100: + goto tr588 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + tr588: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st395 + st395: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof395 + } + st_case_395: +//line scanner/scanner.go:12364 + switch lex.data[(lex.p)] { + case 10: + goto st95 + case 13: + goto st96 + case 32: + goto st94 + case 70: + goto st396 + case 95: + goto tr221 + case 102: + goto st396 + } + switch { + case lex.data[(lex.p)] < 48: + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st94 + } + case lex.data[(lex.p)] > 57: + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + case lex.data[(lex.p)] >= 65: + goto tr221 + } + default: + goto tr221 + } + goto tr589 + tr147: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st94 + st94: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof94 + } + st_case_94: +//line scanner/scanner.go:12406 + switch lex.data[(lex.p)] { + case 10: + goto st95 + case 13: + goto st96 + case 32: + goto st94 + case 70: + goto st97 + case 102: + goto st97 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto st94 + } + goto tr142 + tr148: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st95 + st95: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof95 + } + st_case_95: +//line scanner/scanner.go:12432 + switch lex.data[(lex.p)] { + case 10: + goto tr148 + case 13: + goto tr149 + case 32: + goto tr147 + case 70: + goto tr150 + case 102: + goto tr150 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr147 + } + goto tr142 + tr149: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st96 + st96: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof96 + } + st_case_96: +//line scanner/scanner.go:12458 + if lex.data[(lex.p)] == 10 { + goto st95 + } + goto tr142 + tr150: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st97 + st97: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof97 + } + st_case_97: +//line scanner/scanner.go:12472 + switch lex.data[(lex.p)] { + case 82: + goto st98 + case 114: + goto st98 + } + goto tr142 + st98: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof98 + } + st_case_98: + switch lex.data[(lex.p)] { + case 79: + goto st99 + case 111: + goto st99 + } + goto tr142 + st99: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof99 + } + st_case_99: + switch lex.data[(lex.p)] { + case 77: + goto tr153 + case 109: + goto tr153 + } + goto tr142 + st396: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof396 + } + st_case_396: + switch lex.data[(lex.p)] { + case 82: + goto st397 + case 95: + goto tr221 + case 114: + goto st397 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st397: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof397 + } + st_case_397: + switch lex.data[(lex.p)] { + case 79: + goto st398 + case 95: + goto tr221 + case 111: + goto st398 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st398: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof398 + } + st_case_398: + switch lex.data[(lex.p)] { + case 77: + goto tr593 + case 95: + goto tr221 + case 109: + goto tr593 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st399: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof399 + } + st_case_399: + if lex.data[(lex.p)] == 61 { + goto tr594 + } + goto tr249 + st400: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof400 + } + st_case_400: + if lex.data[(lex.p)] == 95 { + goto st401 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st401: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof401 + } + st_case_401: + switch lex.data[(lex.p)] { + case 67: + goto st402 + case 68: + goto st408 + case 70: + goto st412 + case 72: + goto st425 + case 76: + goto st437 + case 77: + goto st442 + case 78: + goto st449 + case 84: + goto st459 + case 95: + goto tr221 + case 99: + goto st402 + case 100: + goto st408 + case 102: + goto st412 + case 104: + goto st425 + case 108: + goto st437 + case 109: + goto st442 + case 110: + goto st449 + case 116: + goto st459 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st402: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof402 + } + st_case_402: + switch lex.data[(lex.p)] { + case 76: + goto st403 + case 95: + goto tr221 + case 108: + goto st403 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st403: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof403 + } + st_case_403: + switch lex.data[(lex.p)] { + case 65: + goto st404 + case 95: + goto tr221 + case 97: + goto st404 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st404: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof404 + } + st_case_404: + switch lex.data[(lex.p)] { + case 83: + goto st405 + case 95: + goto tr221 + case 115: + goto st405 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st405: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof405 + } + st_case_405: + switch lex.data[(lex.p)] { + case 83: + goto st406 + case 95: + goto tr221 + case 115: + goto st406 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st406: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof406 + } + st_case_406: + if lex.data[(lex.p)] == 95 { + goto st407 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st407: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof407 + } + st_case_407: + if lex.data[(lex.p)] == 95 { + goto tr609 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st408: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof408 + } + st_case_408: + switch lex.data[(lex.p)] { + case 73: + goto st409 + case 95: + goto tr221 + case 105: + goto st409 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st409: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof409 + } + st_case_409: + switch lex.data[(lex.p)] { + case 82: + goto st410 + case 95: + goto tr221 + case 114: + goto st410 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st410: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof410 + } + st_case_410: + if lex.data[(lex.p)] == 95 { + goto st411 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st411: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof411 + } + st_case_411: + if lex.data[(lex.p)] == 95 { + goto tr613 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st412: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof412 + } + st_case_412: + switch lex.data[(lex.p)] { + case 73: + goto st413 + case 85: + goto st417 + case 95: + goto tr221 + case 105: + goto st413 + case 117: + goto st417 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st413: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof413 + } + st_case_413: + switch lex.data[(lex.p)] { + case 76: + goto st414 + case 95: + goto tr221 + case 108: + goto st414 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st414: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof414 + } + st_case_414: + switch lex.data[(lex.p)] { + case 69: + goto st415 + case 95: + goto tr221 + case 101: + goto st415 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st415: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof415 + } + st_case_415: + if lex.data[(lex.p)] == 95 { + goto st416 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st416: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof416 + } + st_case_416: + if lex.data[(lex.p)] == 95 { + goto tr619 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st417: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof417 + } + st_case_417: + switch lex.data[(lex.p)] { + case 78: + goto st418 + case 95: + goto tr221 + case 110: + goto st418 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st418: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof418 + } + st_case_418: + switch lex.data[(lex.p)] { + case 67: + goto st419 + case 95: + goto tr221 + case 99: + goto st419 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st419: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof419 + } + st_case_419: + switch lex.data[(lex.p)] { + case 84: + goto st420 + case 95: + goto tr221 + case 116: + goto st420 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st420: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof420 + } + st_case_420: + switch lex.data[(lex.p)] { + case 73: + goto st421 + case 95: + goto tr221 + case 105: + goto st421 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st421: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof421 + } + st_case_421: + switch lex.data[(lex.p)] { + case 79: + goto st422 + case 95: + goto tr221 + case 111: + goto st422 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st422: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof422 + } + st_case_422: + switch lex.data[(lex.p)] { + case 78: + goto st423 + case 95: + goto tr221 + case 110: + goto st423 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st423: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof423 + } + st_case_423: + if lex.data[(lex.p)] == 95 { + goto st424 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st424: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof424 + } + st_case_424: + if lex.data[(lex.p)] == 95 { + goto tr627 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st425: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof425 + } + st_case_425: + switch lex.data[(lex.p)] { + case 65: + goto st426 + case 95: + goto tr221 + case 97: + goto st426 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st426: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof426 + } + st_case_426: + switch lex.data[(lex.p)] { + case 76: + goto st427 + case 95: + goto tr221 + case 108: + goto st427 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st427: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof427 + } + st_case_427: + switch lex.data[(lex.p)] { + case 84: + goto st428 + case 95: + goto tr221 + case 116: + goto st428 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st428: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof428 + } + st_case_428: + if lex.data[(lex.p)] == 95 { + goto st429 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st429: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof429 + } + st_case_429: + switch lex.data[(lex.p)] { + case 67: + goto st430 + case 95: + goto tr221 + case 99: + goto st430 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st430: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof430 + } + st_case_430: + switch lex.data[(lex.p)] { + case 79: + goto st431 + case 95: + goto tr221 + case 111: + goto st431 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st431: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof431 + } + st_case_431: + switch lex.data[(lex.p)] { + case 77: + goto st432 + case 95: + goto tr221 + case 109: + goto st432 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st432: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof432 + } + st_case_432: + switch lex.data[(lex.p)] { + case 80: + goto st433 + case 95: + goto tr221 + case 112: + goto st433 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st433: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof433 + } + st_case_433: + switch lex.data[(lex.p)] { + case 73: + goto st434 + case 95: + goto tr221 + case 105: + goto st434 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st434: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof434 + } + st_case_434: + switch lex.data[(lex.p)] { + case 76: + goto st435 + case 95: + goto tr221 + case 108: + goto st435 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st435: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof435 + } + st_case_435: + switch lex.data[(lex.p)] { + case 69: + goto st436 + case 95: + goto tr221 + case 101: + goto st436 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st436: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof436 + } + st_case_436: + switch lex.data[(lex.p)] { + case 82: + goto tr639 + case 95: + goto tr221 + case 114: + goto tr639 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st437: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof437 + } + st_case_437: + switch lex.data[(lex.p)] { + case 73: + goto st438 + case 95: + goto tr221 + case 105: + goto st438 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st438: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof438 + } + st_case_438: + switch lex.data[(lex.p)] { + case 78: + goto st439 + case 95: + goto tr221 + case 110: + goto st439 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st439: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof439 + } + st_case_439: + switch lex.data[(lex.p)] { + case 69: + goto st440 + case 95: + goto tr221 + case 101: + goto st440 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st440: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof440 + } + st_case_440: + if lex.data[(lex.p)] == 95 { + goto st441 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st441: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof441 + } + st_case_441: + if lex.data[(lex.p)] == 95 { + goto tr644 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st442: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof442 + } + st_case_442: + switch lex.data[(lex.p)] { + case 69: + goto st443 + case 95: + goto tr221 + case 101: + goto st443 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st443: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof443 + } + st_case_443: + switch lex.data[(lex.p)] { + case 84: + goto st444 + case 95: + goto tr221 + case 116: + goto st444 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st444: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof444 + } + st_case_444: + switch lex.data[(lex.p)] { + case 72: + goto st445 + case 95: + goto tr221 + case 104: + goto st445 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st445: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof445 + } + st_case_445: + switch lex.data[(lex.p)] { + case 79: + goto st446 + case 95: + goto tr221 + case 111: + goto st446 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st446: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof446 + } + st_case_446: + switch lex.data[(lex.p)] { + case 68: + goto st447 + case 95: + goto tr221 + case 100: + goto st447 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st447: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof447 + } + st_case_447: + if lex.data[(lex.p)] == 95 { + goto st448 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st448: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof448 + } + st_case_448: + if lex.data[(lex.p)] == 95 { + goto tr651 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st449: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof449 + } + st_case_449: + switch lex.data[(lex.p)] { + case 65: + goto st450 + case 95: + goto tr221 + case 97: + goto st450 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st450: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof450 + } + st_case_450: + switch lex.data[(lex.p)] { + case 77: + goto st451 + case 95: + goto tr221 + case 109: + goto st451 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st451: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof451 + } + st_case_451: + switch lex.data[(lex.p)] { + case 69: + goto st452 + case 95: + goto tr221 + case 101: + goto st452 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st452: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof452 + } + st_case_452: + switch lex.data[(lex.p)] { + case 83: + goto st453 + case 95: + goto tr221 + case 115: + goto st453 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st453: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof453 + } + st_case_453: + switch lex.data[(lex.p)] { + case 80: + goto st454 + case 95: + goto tr221 + case 112: + goto st454 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st454: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof454 + } + st_case_454: + switch lex.data[(lex.p)] { + case 65: + goto st455 + case 95: + goto tr221 + case 97: + goto st455 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st455: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof455 + } + st_case_455: + switch lex.data[(lex.p)] { + case 67: + goto st456 + case 95: + goto tr221 + case 99: + goto st456 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st456: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof456 + } + st_case_456: + switch lex.data[(lex.p)] { + case 69: + goto st457 + case 95: + goto tr221 + case 101: + goto st457 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st457: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof457 + } + st_case_457: + if lex.data[(lex.p)] == 95 { + goto st458 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st458: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof458 + } + st_case_458: + if lex.data[(lex.p)] == 95 { + goto tr661 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st459: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof459 + } + st_case_459: + switch lex.data[(lex.p)] { + case 82: + goto st460 + case 95: + goto tr221 + case 114: + goto st460 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st460: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof460 + } + st_case_460: + switch lex.data[(lex.p)] { + case 65: + goto st461 + case 95: + goto tr221 + case 97: + goto st461 + } + switch { + case lex.data[(lex.p)] < 66: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 98 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st461: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof461 + } + st_case_461: + switch lex.data[(lex.p)] { + case 73: + goto st462 + case 95: + goto tr221 + case 105: + goto st462 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st462: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof462 + } + st_case_462: + switch lex.data[(lex.p)] { + case 84: + goto st463 + case 95: + goto tr221 + case 116: + goto st463 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st463: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof463 + } + st_case_463: + if lex.data[(lex.p)] == 95 { + goto st464 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st464: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof464 + } + st_case_464: + if lex.data[(lex.p)] == 95 { + goto tr667 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto tr221 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr221 + } + default: + goto tr221 + } + goto tr285 + st465: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof465 + } + st_case_465: + switch lex.data[(lex.p)] { + case 61: + goto tr668 + case 124: + goto tr669 + } + goto tr249 + tr154: +//line scanner/scanner.rl:346 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st466 + tr670: +//line scanner/scanner.rl:349 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + { + goto st118 + } + } + goto st466 + tr675: +//line scanner/scanner.rl:346 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st466 + tr677: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:346 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st466 + tr681: +//line scanner/scanner.rl:349 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + { + goto st118 + } + } + goto st466 + tr682: +//line scanner/scanner.rl:347 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_OBJECT_OPERATOR + { + (lex.p)++ + lex.cs = 466 + goto _out + } + } + goto st466 + tr683: + lex.cs = 466 +//line scanner/scanner.rl:348 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_STRING + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + st466: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof466 + } + st_case_466: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:14288 + switch lex.data[(lex.p)] { + case 10: + goto tr155 + case 13: + goto st469 + case 32: + goto tr671 + case 45: + goto st470 + case 55: + goto st471 + case 95: + goto st471 + } + switch { + case lex.data[(lex.p)] < 65: + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr671 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st471 + } + default: + goto st471 + } + goto tr670 + tr671: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st467 + tr678: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st467 + st467: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof467 + } + st_case_467: +//line scanner/scanner.go:14333 + switch lex.data[(lex.p)] { + case 10: + goto tr155 + case 13: + goto st100 + case 32: + goto tr671 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr671 + } + goto tr675 + tr155: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st468 + tr679: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st468 + st468: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof468 + } + st_case_468: +//line scanner/scanner.go:14363 + switch lex.data[(lex.p)] { + case 10: + goto tr679 + case 13: + goto tr680 + case 32: + goto tr678 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr678 + } + goto tr677 + tr680: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st100 + st100: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof100 + } + st_case_100: +//line scanner/scanner.go:14385 + if lex.data[(lex.p)] == 10 { + goto tr155 + } + goto tr154 + st469: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof469 + } + st_case_469: + if lex.data[(lex.p)] == 10 { + goto tr155 + } + goto tr681 + st470: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof470 + } + st_case_470: + if lex.data[(lex.p)] == 62 { + goto tr682 + } + goto tr681 + st471: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof471 + } + st_case_471: + if lex.data[(lex.p)] == 95 { + goto st471 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st471 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st471 + } + default: + goto st471 + } + goto tr683 + tr686: + lex.cs = 472 +//line NONE:1 + switch lex.act { + case 0: + { + { + goto st0 + } + } + case 142: + { + (lex.p) = (lex.te) - 1 + + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + lex.cs = 493 + { + (lex.p)++ + goto _out + } + } + } + + goto _again + tr687: + lex.cs = 472 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:353 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + lex.cs = 493 + { + (lex.p)++ + goto _out + } + } + goto _again + st472: +//line NONE:1 + lex.ts = 0 + +//line NONE:1 + lex.act = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof472 + } + st_case_472: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:14474 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + if _widec == 1034 { + goto st474 + } + if 1024 <= _widec && _widec <= 1279 { + goto tr684 + } + goto st0 + st_case_0: + st0: + lex.cs = 0 + goto _out + tr684: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:353 + lex.act = 142 + goto st473 + tr688: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:353 + lex.act = 142 + goto st473 + st473: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof473 + } + st_case_473: +//line scanner/scanner.go:14545 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + if _widec == 1034 { + goto st474 + } + if 1024 <= _widec && _widec <= 1279 { + goto tr684 + } + goto tr686 + tr689: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st474 + st474: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof474 + } + st_case_474: +//line scanner/scanner.go:14600 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + default: + _widec = 768 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) { + _widec += 256 + } + } + if _widec == 1034 { + goto tr689 + } + if 1024 <= _widec && _widec <= 1279 { + goto tr688 + } + goto tr687 + tr156: +//line scanner/scanner.rl:362 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(475, 118) + goto _out + } + goto st475 + tr696: +//line scanner/scanner.rl:364 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + { + lex.growCallStack() + { + lex.stack[lex.top] = 475 + lex.top++ + goto st495 + } + } + } + goto st475 + tr697: +//line scanner/scanner.rl:363 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(475, 511) + goto _out + } + goto st475 + tr698: + lex.cs = 475 +//line NONE:1 + switch lex.act { + case 143: + { + (lex.p) = (lex.te) - 1 + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(475, 118) + goto _out + } + case 144: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(475, 511) + goto _out + } + case 146: + { + (lex.p) = (lex.te) - 1 + + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + + if lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { + lex.cs = 493 + } + { + (lex.p)++ + goto _out + } + } + } + + goto _again + tr699: + lex.cs = 475 +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:365 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + + if lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { + lex.cs = 493 + } + { + (lex.p)++ + goto _out + } + } + goto _again + tr703: + lex.cs = 475 +//line scanner/scanner.rl:365 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + + if lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { + lex.cs = 493 + } + { + (lex.p)++ + goto _out + } + } + goto _again + st475: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof475 + } + st_case_475: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:14729 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1316: + goto st476 + case 1403: + goto st101 + case 1546: + goto st478 + case 1572: + goto st479 + case 1659: + goto st480 + } + if 1536 <= _widec && _widec <= 1791 { + goto tr692 + } + goto st0 + st476: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof476 + } + st_case_476: + if lex.data[(lex.p)] == 123 { + goto tr697 + } + goto tr696 + st101: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof101 + } + st_case_101: + if lex.data[(lex.p)] == 36 { + goto tr156 + } + goto st0 + tr692: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:365 + lex.act = 146 + goto st477 + tr700: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:365 + lex.act = 146 + goto st477 + tr702: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:363 + lex.act = 144 + goto st477 + tr704: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:362 + lex.act = 143 + goto st477 + st477: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof477 + } + st_case_477: +//line scanner/scanner.go:14837 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 1546 { + goto st478 + } + if 1536 <= _widec && _widec <= 1791 { + goto tr692 + } + goto tr698 + tr701: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st478 + st478: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof478 + } + st_case_478: +//line scanner/scanner.go:14892 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 1546 { + goto tr701 + } + if 1536 <= _widec && _widec <= 1791 { + goto tr700 + } + goto tr699 + st479: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof479 + } + st_case_479: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1403: + goto tr697 + case 1546: + goto st478 + case 1659: + goto tr702 + } + if 1536 <= _widec && _widec <= 1791 { + goto tr692 + } + goto tr696 + st480: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof480 + } + st_case_480: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1280 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1316: + goto tr156 + case 1546: + goto st478 + case 1572: + goto tr704 + } + if 1536 <= _widec && _widec <= 1791 { + goto tr692 + } + goto tr703 + tr158: +//line scanner/scanner.rl:377 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(481, 118) + goto _out + } + goto st481 + tr706: + lex.cs = 481 +//line scanner/scanner.rl:380 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('`')) + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + tr713: +//line scanner/scanner.rl:379 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + { + lex.growCallStack() + { + lex.stack[lex.top] = 481 + lex.top++ + goto st495 + } + } + } + goto st481 + tr714: +//line scanner/scanner.rl:378 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(481, 511) + goto _out + } + goto st481 + tr715: + lex.cs = 481 +//line NONE:1 + switch lex.act { + case 147: + { + (lex.p) = (lex.te) - 1 + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(481, 118) + goto _out + } + case 148: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(481, 511) + goto _out + } + case 150: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = TokenID(int('`')) + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + case 151: + { + (lex.p) = (lex.te) - 1 + + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + goto _out + } + } + } + + goto _again + tr716: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:381 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + lex.cs = 481 + goto _out + } + } + goto st481 + tr720: +//line scanner/scanner.rl:381 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + lex.cs = 481 + goto _out + } + } + goto st481 + st481: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof481 + } + st_case_481: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:15126 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1828: + goto st482 + case 1888: + goto tr706 + case 1915: + goto st102 + case 2058: + goto st484 + case 2084: + goto st485 + case 2144: + goto tr711 + case 2171: + goto st486 + } + if 2048 <= _widec && _widec <= 2303 { + goto tr708 + } + goto st0 + st482: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof482 + } + st_case_482: + if lex.data[(lex.p)] == 123 { + goto tr714 + } + goto tr713 + st102: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof102 + } + st_case_102: + if lex.data[(lex.p)] == 36 { + goto tr158 + } + goto st0 + tr708: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:381 + lex.act = 151 + goto st483 + tr711: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:380 + lex.act = 150 + goto st483 + tr717: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:381 + lex.act = 151 + goto st483 + tr719: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:378 + lex.act = 148 + goto st483 + tr721: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:377 + lex.act = 147 + goto st483 + st483: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof483 + } + st_case_483: +//line scanner/scanner.go:15245 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 2058 { + goto st484 + } + if 2048 <= _widec && _widec <= 2303 { + goto tr708 + } + goto tr715 + tr718: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st484 + st484: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof484 + } + st_case_484: +//line scanner/scanner.go:15300 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 2058 { + goto tr718 + } + if 2048 <= _widec && _widec <= 2303 { + goto tr717 + } + goto tr716 + st485: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof485 + } + st_case_485: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1915: + goto tr714 + case 2058: + goto st484 + case 2171: + goto tr719 + } + if 2048 <= _widec && _widec <= 2303 { + goto tr708 + } + goto tr713 + st486: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof486 + } + st_case_486: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 1792 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('`') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 1828: + goto tr158 + case 2058: + goto st484 + case 2084: + goto tr721 + } + if 2048 <= _widec && _widec <= 2303 { + goto tr708 + } + goto tr720 + tr159: +//line scanner/scanner.rl:389 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(487, 118) + goto _out + } + goto st487 + tr722: + lex.cs = 487 +//line scanner/scanner.rl:392 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('"')) + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + tr730: +//line scanner/scanner.rl:391 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + { + lex.growCallStack() + { + lex.stack[lex.top] = 487 + lex.top++ + goto st495 + } + } + } + goto st487 + tr731: +//line scanner/scanner.rl:390 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(487, 511) + goto _out + } + goto st487 + tr732: + lex.cs = 487 +//line NONE:1 + switch lex.act { + case 152: + { + (lex.p) = (lex.te) - 1 + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_CURLY_OPEN + lex.call(487, 118) + goto _out + } + case 153: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = T_DOLLAR_OPEN_CURLY_BRACES + lex.call(487, 511) + goto _out + } + case 155: + { + (lex.p) = (lex.te) - 1 + lex.createToken(lval) + tok = TokenID(int('"')) + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + case 156: + { + (lex.p) = (lex.te) - 1 + + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + goto _out + } + } + } + + goto _again + tr733: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:393 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + lex.cs = 487 + goto _out + } + } + goto st487 + tr737: +//line scanner/scanner.rl:393 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + { + (lex.p)++ + lex.cs = 487 + goto _out + } + } + goto st487 + st487: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof487 + } + st_case_487: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:15534 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 2338: + goto tr722 + case 2340: + goto st488 + case 2427: + goto st103 + case 2570: + goto st490 + case 2594: + goto tr727 + case 2596: + goto st491 + case 2683: + goto st492 + } + if 2560 <= _widec && _widec <= 2815 { + goto tr725 + } + goto st0 + st488: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof488 + } + st_case_488: + if lex.data[(lex.p)] == 123 { + goto tr731 + } + goto tr730 + st103: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof103 + } + st_case_103: + if lex.data[(lex.p)] == 36 { + goto tr159 + } + goto st0 + tr725: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:393 + lex.act = 156 + goto st489 + tr727: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:392 + lex.act = 155 + goto st489 + tr734: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:393 + lex.act = 156 + goto st489 + tr736: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:390 + lex.act = 153 + goto st489 + tr738: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:389 + lex.act = 152 + goto st489 + st489: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof489 + } + st_case_489: +//line scanner/scanner.go:15653 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 2570 { + goto st490 + } + if 2560 <= _widec && _widec <= 2815 { + goto tr725 + } + goto tr732 + tr735: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st490 + st490: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof490 + } + st_case_490: +//line scanner/scanner.go:15708 + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + if _widec == 2570 { + goto tr735 + } + if 2560 <= _widec && _widec <= 2815 { + goto tr734 + } + goto tr733 + st491: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof491 + } + st_case_491: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 2427: + goto tr731 + case 2570: + goto st490 + case 2683: + goto tr736 + } + if 2560 <= _widec && _widec <= 2815 { + goto tr725 + } + goto tr730 + st492: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof492 + } + st_case_492: + _widec = int16(lex.data[(lex.p)]) + switch { + case lex.data[(lex.p)] < 11: + switch { + case lex.data[(lex.p)] > 9: + if 10 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 10 { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] > 12: + switch { + case lex.data[(lex.p)] > 13: + if 14 <= lex.data[(lex.p)] { + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + case lex.data[(lex.p)] >= 13: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + default: + _widec = 2304 + (int16(lex.data[(lex.p)]) - 0) + if lex.isNotStringEnd('"') && lex.isNotStringVar() { + _widec += 256 + } + } + switch _widec { + case 2340: + goto tr159 + case 2570: + goto st490 + case 2596: + goto tr738 + } + if 2560 <= _widec && _widec <= 2815 { + goto tr725 + } + goto tr737 + tr740: + lex.cs = 493 +//line scanner/scanner.rl:401 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_END_HEREDOC + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + st493: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof493 + } + st_case_493: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:15887 + switch lex.data[(lex.p)] { + case 55: + goto st494 + case 95: + goto st494 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st494 + } + case lex.data[(lex.p)] >= 65: + goto st494 + } + goto st0 + st494: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof494 + } + st_case_494: + if lex.data[(lex.p)] == 95 { + goto st494 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st494 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st494 + } + default: + goto st494 + } + goto tr740 + tr160: +//line scanner/scanner.rl:420 + (lex.p) = (lex.te) - 1 + { + lex.ungetCnt(1) + { + lex.top-- + lex.cs = lex.stack[lex.top] + goto _again + } + } + goto st495 + tr161: +//line scanner/scanner.rl:417 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_OBJECT_OPERATOR + { + (lex.p)++ + lex.cs = 495 + goto _out + } + } + goto st495 + tr741: +//line scanner/scanner.rl:420 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + { + lex.top-- + lex.cs = lex.stack[lex.top] + goto _again + } + } + goto st495 + tr745: +//line scanner/scanner.rl:419 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('[')) + lex.call(495, 500) + goto _out + } + goto st495 + tr746: +//line scanner/scanner.rl:420 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + { + lex.top-- + lex.cs = lex.stack[lex.top] + goto _again + } + } + goto st495 + tr748: +//line scanner/scanner.rl:416 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_VARIABLE + { + (lex.p)++ + lex.cs = 495 + goto _out + } + } + goto st495 + tr750: +//line scanner/scanner.rl:418 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_STRING + { + (lex.p)++ + lex.cs = 495 + goto _out + } + } + goto st495 + st495: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof495 + } + st_case_495: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:15973 + switch lex.data[(lex.p)] { + case 36: + goto st496 + case 45: + goto tr743 + case 55: + goto st499 + case 91: + goto tr745 + case 95: + goto st499 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st499 + } + case lex.data[(lex.p)] >= 65: + goto st499 + } + goto tr741 + st496: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof496 + } + st_case_496: + switch lex.data[(lex.p)] { + case 55: + goto st497 + case 95: + goto st497 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st497 + } + case lex.data[(lex.p)] >= 65: + goto st497 + } + goto tr746 + st497: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof497 + } + st_case_497: + if lex.data[(lex.p)] == 95 { + goto st497 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st497 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st497 + } + default: + goto st497 + } + goto tr748 + tr743: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st498 + st498: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof498 + } + st_case_498: +//line scanner/scanner.go:16046 + if lex.data[(lex.p)] == 62 { + goto st104 + } + goto tr746 + st104: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof104 + } + st_case_104: + switch lex.data[(lex.p)] { + case 55: + goto tr161 + case 95: + goto tr161 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr161 + } + case lex.data[(lex.p)] >= 65: + goto tr161 + } + goto tr160 + st499: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof499 + } + st_case_499: + if lex.data[(lex.p)] == 95 { + goto st499 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st499 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st499 + } + default: + goto st499 + } + goto tr750 + tr162: +//line scanner/scanner.rl:424 + (lex.p) = (lex.te) - 1 + { + lex.createToken(lval) + tok = T_NUM_STRING + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + tr751: +//line scanner/scanner.rl:430 + lex.te = (lex.p) + 1 + { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + } + goto st500 + tr752: +//line scanner/scanner.rl:427 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + lex.ret(2) + goto _out + } + goto st500 + tr755: +//line scanner/scanner.rl:428 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int(lex.data[lex.ts])) + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + tr761: +//line scanner/scanner.rl:429 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int(']')) + lex.ret(2) + goto _out + } + goto st500 + tr762: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:427 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_ENCAPSED_AND_WHITESPACE + lex.ret(2) + goto _out + } + goto st500 + tr763: +//line scanner/scanner.rl:430 + lex.te = (lex.p) + (lex.p)-- + { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + } + goto st500 + tr764: +//line scanner/scanner.rl:428 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = TokenID(int(lex.data[lex.ts])) + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + tr766: +//line scanner/scanner.rl:425 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_VARIABLE + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + tr767: +//line scanner/scanner.rl:424 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_NUM_STRING + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + tr770: +//line scanner/scanner.rl:426 + lex.te = (lex.p) + (lex.p)-- + { + lex.createToken(lval) + tok = T_STRING + { + (lex.p)++ + lex.cs = 500 + goto _out + } + } + goto st500 + st500: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof500 + } + st_case_500: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16172 + switch lex.data[(lex.p)] { + case 10: + goto st501 + case 13: + goto st502 + case 32: + goto tr752 + case 33: + goto tr755 + case 35: + goto tr752 + case 36: + goto st503 + case 39: + goto tr752 + case 48: + goto tr757 + case 55: + goto st509 + case 91: + goto tr755 + case 92: + goto tr752 + case 93: + goto tr761 + case 94: + goto tr755 + case 124: + goto tr755 + case 126: + goto tr755 + } + switch { + case lex.data[(lex.p)] < 49: + switch { + case lex.data[(lex.p)] > 12: + if 37 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 47 { + goto tr755 + } + case lex.data[(lex.p)] >= 9: + goto tr752 + } + case lex.data[(lex.p)] > 57: + switch { + case lex.data[(lex.p)] < 65: + if 58 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 64 { + goto tr755 + } + case lex.data[(lex.p)] > 95: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st510 + } + default: + goto st510 + } + default: + goto st506 + } + goto tr751 + st501: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof501 + } + st_case_501: + goto tr762 + st502: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof502 + } + st_case_502: + if lex.data[(lex.p)] == 10 { + goto st501 + } + goto tr763 + st503: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof503 + } + st_case_503: + switch lex.data[(lex.p)] { + case 55: + goto st504 + case 95: + goto st504 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st504 + } + case lex.data[(lex.p)] >= 65: + goto st504 + } + goto tr764 + st504: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof504 + } + st_case_504: + if lex.data[(lex.p)] == 95 { + goto st504 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st504 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st504 + } + default: + goto st504 + } + goto tr766 + tr757: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st505 + st505: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof505 + } + st_case_505: +//line scanner/scanner.go:16298 + switch lex.data[(lex.p)] { + case 98: + goto st105 + case 120: + goto st106 + } + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st506 + } + goto tr767 + st506: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof506 + } + st_case_506: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st506 + } + goto tr767 + st105: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof105 + } + st_case_105: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 49 { + goto st507 + } + goto tr162 + st507: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof507 + } + st_case_507: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 49 { + goto st507 + } + goto tr767 + st106: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof106 + } + st_case_106: + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st508 + } + case lex.data[(lex.p)] > 70: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 102 { + goto st508 + } + default: + goto st508 + } + goto tr162 + st508: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof508 + } + st_case_508: + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st508 + } + case lex.data[(lex.p)] > 70: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 102 { + goto st508 + } + default: + goto st508 + } + goto tr767 + st509: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof509 + } + st_case_509: + if lex.data[(lex.p)] == 95 { + goto st510 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st509 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st510 + } + default: + goto st510 + } + goto tr767 + st510: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof510 + } + st_case_510: + if lex.data[(lex.p)] == 95 { + goto st510 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st510 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st510 + } + default: + goto st510 + } + goto tr770 + tr165: + lex.cs = 511 +//line scanner/scanner.rl:438 + (lex.p) = (lex.te) - 1 + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + tr167: + lex.cs = 511 +//line scanner/scanner.rl:437 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.createToken(lval) + tok = T_STRING_VARNAME + lex.cs = 118 + { + (lex.p)++ + goto _out + } + } + goto _again + tr771: + lex.cs = 511 +//line scanner/scanner.rl:438 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + tr773: + lex.cs = 511 +//line scanner/scanner.rl:438 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + st511: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof511 + } + st_case_511: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16450 + switch lex.data[(lex.p)] { + case 55: + goto tr772 + case 95: + goto tr772 + } + switch { + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto tr772 + } + case lex.data[(lex.p)] >= 65: + goto tr772 + } + goto tr771 + tr772: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st512 + st512: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof512 + } + st_case_512: +//line scanner/scanner.go:16476 + switch lex.data[(lex.p)] { + case 91: + goto tr167 + case 95: + goto st107 + case 125: + goto tr167 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st107 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st107 + } + default: + goto st107 + } + goto tr773 + st107: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof107 + } + st_case_107: + switch lex.data[(lex.p)] { + case 91: + goto tr167 + case 95: + goto st107 + case 125: + goto tr167 + } + switch { + case lex.data[(lex.p)] < 65: + if 48 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 57 { + goto st107 + } + case lex.data[(lex.p)] > 90: + if 97 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 122 { + goto st107 + } + default: + goto st107 + } + goto tr165 + tr168: +//line scanner/scanner.rl:442 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st513 + tr774: + lex.cs = 513 +//line scanner/scanner.rl:444 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + tr777: + lex.cs = 513 +//line scanner/scanner.rl:443 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int('(')) + lex.cs = 517 + { + (lex.p)++ + goto _out + } + } + goto _again + tr778: +//line scanner/scanner.rl:442 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st513 + tr780: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:442 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st513 + tr784: + lex.cs = 513 +//line scanner/scanner.rl:444 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + st513: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof513 + } + st_case_513: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16573 + switch lex.data[(lex.p)] { + case 10: + goto tr169 + case 13: + goto st516 + case 32: + goto tr775 + case 40: + goto tr777 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr775 + } + goto tr774 + tr775: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st514 + tr781: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st514 + st514: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof514 + } + st_case_514: +//line scanner/scanner.go:16605 + switch lex.data[(lex.p)] { + case 10: + goto tr169 + case 13: + goto st108 + case 32: + goto tr775 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr775 + } + goto tr778 + tr169: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st515 + tr782: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st515 + st515: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof515 + } + st_case_515: +//line scanner/scanner.go:16635 + switch lex.data[(lex.p)] { + case 10: + goto tr782 + case 13: + goto tr783 + case 32: + goto tr781 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr781 + } + goto tr780 + tr783: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st108 + st108: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof108 + } + st_case_108: +//line scanner/scanner.go:16657 + if lex.data[(lex.p)] == 10 { + goto tr169 + } + goto tr168 + st516: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof516 + } + st_case_516: + if lex.data[(lex.p)] == 10 { + goto tr169 + } + goto tr784 + tr170: +//line scanner/scanner.rl:448 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st517 + tr785: + lex.cs = 517 +//line scanner/scanner.rl:450 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + tr788: + lex.cs = 517 +//line scanner/scanner.rl:449 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int(')')) + lex.cs = 521 + { + (lex.p)++ + goto _out + } + } + goto _again + tr789: +//line scanner/scanner.rl:448 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st517 + tr791: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:448 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st517 + tr795: + lex.cs = 517 +//line scanner/scanner.rl:450 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + st517: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof517 + } + st_case_517: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16720 + switch lex.data[(lex.p)] { + case 10: + goto tr171 + case 13: + goto st520 + case 32: + goto tr786 + case 41: + goto tr788 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr786 + } + goto tr785 + tr786: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st518 + tr792: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st518 + st518: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof518 + } + st_case_518: +//line scanner/scanner.go:16752 + switch lex.data[(lex.p)] { + case 10: + goto tr171 + case 13: + goto st109 + case 32: + goto tr786 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr786 + } + goto tr789 + tr171: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st519 + tr793: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st519 + st519: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof519 + } + st_case_519: +//line scanner/scanner.go:16782 + switch lex.data[(lex.p)] { + case 10: + goto tr793 + case 13: + goto tr794 + case 32: + goto tr792 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr792 + } + goto tr791 + tr794: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st109 + st109: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof109 + } + st_case_109: +//line scanner/scanner.go:16804 + if lex.data[(lex.p)] == 10 { + goto tr171 + } + goto tr170 + st520: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof520 + } + st_case_520: + if lex.data[(lex.p)] == 10 { + goto tr171 + } + goto tr795 + tr172: +//line scanner/scanner.rl:454 + (lex.p) = (lex.te) - 1 + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st521 + tr796: + lex.cs = 521 +//line scanner/scanner.rl:456 + lex.te = (lex.p) + 1 + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + tr799: + lex.cs = 521 +//line scanner/scanner.rl:455 + lex.te = (lex.p) + 1 + { + lex.createToken(lval) + tok = TokenID(int(';')) + lex.cs = 525 + { + (lex.p)++ + goto _out + } + } + goto _again + tr800: +//line scanner/scanner.rl:454 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st521 + tr802: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:454 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te) + } + goto st521 + tr806: + lex.cs = 521 +//line scanner/scanner.rl:456 + lex.te = (lex.p) + (lex.p)-- + { + lex.ungetCnt(1) + lex.cs = 118 + } + goto _again + st521: +//line NONE:1 + lex.ts = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof521 + } + st_case_521: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16867 + switch lex.data[(lex.p)] { + case 10: + goto tr173 + case 13: + goto st524 + case 32: + goto tr797 + case 59: + goto tr799 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr797 + } + goto tr796 + tr797: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st522 + tr803: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st522 + st522: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof522 + } + st_case_522: +//line scanner/scanner.go:16899 + switch lex.data[(lex.p)] { + case 10: + goto tr173 + case 13: + goto st110 + case 32: + goto tr797 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr797 + } + goto tr800 + tr173: +//line NONE:1 + lex.te = (lex.p) + 1 + + goto st523 + tr804: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st523 + st523: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof523 + } + st_case_523: +//line scanner/scanner.go:16929 + switch lex.data[(lex.p)] { + case 10: + goto tr804 + case 13: + goto tr805 + case 32: + goto tr803 + } + if 9 <= lex.data[(lex.p)] && lex.data[(lex.p)] <= 12 { + goto tr803 + } + goto tr802 + tr805: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st110 + st110: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof110 + } + st_case_110: +//line scanner/scanner.go:16951 + if lex.data[(lex.p)] == 10 { + goto tr173 + } + goto tr172 + st524: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof524 + } + st_case_524: + if lex.data[(lex.p)] == 10 { + goto tr173 + } + goto tr806 + tr809: +//line NONE:1 + switch lex.act { + case 0: + { + { + goto st0 + } + } + case 182: + { + (lex.p) = (lex.te) - 1 + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te) + } + } + + goto st525 + tr810: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:460 + lex.te = (lex.p) + (lex.p)-- + { + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te) + } + goto st525 + st525: +//line NONE:1 + lex.ts = 0 + +//line NONE:1 + lex.act = 0 + + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof525 + } + st_case_525: +//line NONE:1 + lex.ts = (lex.p) + +//line scanner/scanner.go:16998 + if lex.data[(lex.p)] == 10 { + goto st527 + } + goto tr807 + tr807: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:460 + lex.act = 182 + goto st526 + tr811: +//line NONE:1 + lex.te = (lex.p) + 1 + +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) +//line scanner/scanner.rl:460 + lex.act = 182 + goto st526 + st526: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof526 + } + st_case_526: +//line scanner/scanner.go:17024 + if lex.data[(lex.p)] == 10 { + goto st527 + } + goto tr807 + tr812: +//line scanner/scanner.rl:50 + lex.NewLines.Append(lex.p) + goto st527 + st527: + if (lex.p)++; (lex.p) == (lex.pe) { + goto _test_eof527 + } + st_case_527: +//line scanner/scanner.go:17038 + if lex.data[(lex.p)] == 10 { + goto tr812 + } + goto tr811 + st_out: + _test_eof111: + lex.cs = 111 + goto _test_eof + _test_eof112: + lex.cs = 112 + goto _test_eof + _test_eof113: + lex.cs = 113 + goto _test_eof + _test_eof114: + lex.cs = 114 + goto _test_eof + _test_eof115: + lex.cs = 115 + goto _test_eof + _test_eof116: + lex.cs = 116 + goto _test_eof + _test_eof1: + lex.cs = 1 + goto _test_eof + _test_eof2: + lex.cs = 2 + goto _test_eof + _test_eof3: + lex.cs = 3 + goto _test_eof + _test_eof117: + lex.cs = 117 + goto _test_eof + _test_eof4: + lex.cs = 4 + goto _test_eof + _test_eof118: + lex.cs = 118 + goto _test_eof + _test_eof119: + lex.cs = 119 + goto _test_eof + _test_eof120: + lex.cs = 120 + goto _test_eof + _test_eof5: + lex.cs = 5 + goto _test_eof + _test_eof121: + lex.cs = 121 + goto _test_eof + _test_eof122: + lex.cs = 122 + goto _test_eof + _test_eof123: + lex.cs = 123 + goto _test_eof + _test_eof124: + lex.cs = 124 + goto _test_eof + _test_eof6: + lex.cs = 6 + goto _test_eof + _test_eof7: + lex.cs = 7 + goto _test_eof + _test_eof8: + lex.cs = 8 + goto _test_eof + _test_eof9: + lex.cs = 9 + goto _test_eof + _test_eof10: + lex.cs = 10 + goto _test_eof + _test_eof11: + lex.cs = 11 + goto _test_eof + _test_eof125: + lex.cs = 125 + goto _test_eof + _test_eof126: + lex.cs = 126 + goto _test_eof + _test_eof127: + lex.cs = 127 + goto _test_eof + _test_eof128: + lex.cs = 128 + goto _test_eof + _test_eof129: + lex.cs = 129 + goto _test_eof + _test_eof130: + lex.cs = 130 + goto _test_eof + _test_eof131: + lex.cs = 131 + goto _test_eof + _test_eof12: + lex.cs = 12 + goto _test_eof + _test_eof13: + lex.cs = 13 + goto _test_eof + _test_eof14: + lex.cs = 14 + goto _test_eof + _test_eof15: + lex.cs = 15 + goto _test_eof + _test_eof132: + lex.cs = 132 + goto _test_eof + _test_eof16: + lex.cs = 16 + goto _test_eof + _test_eof17: + lex.cs = 17 + goto _test_eof + _test_eof18: + lex.cs = 18 + goto _test_eof + _test_eof19: + lex.cs = 19 + goto _test_eof + _test_eof20: + lex.cs = 20 + goto _test_eof + _test_eof21: + lex.cs = 21 + goto _test_eof + _test_eof22: + lex.cs = 22 + goto _test_eof + _test_eof23: + lex.cs = 23 + goto _test_eof + _test_eof24: + lex.cs = 24 + goto _test_eof + _test_eof25: + lex.cs = 25 + goto _test_eof + _test_eof26: + lex.cs = 26 + goto _test_eof + _test_eof27: + lex.cs = 27 + goto _test_eof + _test_eof28: + lex.cs = 28 + goto _test_eof + _test_eof29: + lex.cs = 29 + goto _test_eof + _test_eof30: + lex.cs = 30 + goto _test_eof + _test_eof31: + lex.cs = 31 + goto _test_eof + _test_eof32: + lex.cs = 32 + goto _test_eof + _test_eof33: + lex.cs = 33 + goto _test_eof + _test_eof34: + lex.cs = 34 + goto _test_eof + _test_eof35: + lex.cs = 35 + goto _test_eof + _test_eof36: + lex.cs = 36 + goto _test_eof + _test_eof37: + lex.cs = 37 + goto _test_eof + _test_eof38: + lex.cs = 38 + goto _test_eof + _test_eof39: + lex.cs = 39 + goto _test_eof + _test_eof40: + lex.cs = 40 + goto _test_eof + _test_eof41: + lex.cs = 41 + goto _test_eof + _test_eof42: + lex.cs = 42 + goto _test_eof + _test_eof43: + lex.cs = 43 + goto _test_eof + _test_eof44: + lex.cs = 44 + goto _test_eof + _test_eof45: + lex.cs = 45 + goto _test_eof + _test_eof46: + lex.cs = 46 + goto _test_eof + _test_eof47: + lex.cs = 47 + goto _test_eof + _test_eof48: + lex.cs = 48 + goto _test_eof + _test_eof49: + lex.cs = 49 + goto _test_eof + _test_eof50: + lex.cs = 50 + goto _test_eof + _test_eof51: + lex.cs = 51 + goto _test_eof + _test_eof52: + lex.cs = 52 + goto _test_eof + _test_eof53: + lex.cs = 53 + goto _test_eof + _test_eof54: + lex.cs = 54 + goto _test_eof + _test_eof55: + lex.cs = 55 + goto _test_eof + _test_eof56: + lex.cs = 56 + goto _test_eof + _test_eof57: + lex.cs = 57 + goto _test_eof + _test_eof58: + lex.cs = 58 + goto _test_eof + _test_eof59: + lex.cs = 59 + goto _test_eof + _test_eof60: + lex.cs = 60 + goto _test_eof + _test_eof61: + lex.cs = 61 + goto _test_eof + _test_eof62: + lex.cs = 62 + goto _test_eof + _test_eof63: + lex.cs = 63 + goto _test_eof + _test_eof64: + lex.cs = 64 + goto _test_eof + _test_eof65: + lex.cs = 65 + goto _test_eof + _test_eof66: + lex.cs = 66 + goto _test_eof + _test_eof67: + lex.cs = 67 + goto _test_eof + _test_eof68: + lex.cs = 68 + goto _test_eof + _test_eof69: + lex.cs = 69 + goto _test_eof + _test_eof133: + lex.cs = 133 + goto _test_eof + _test_eof134: + lex.cs = 134 + goto _test_eof + _test_eof135: + lex.cs = 135 + goto _test_eof + _test_eof136: + lex.cs = 136 + goto _test_eof + _test_eof137: + lex.cs = 137 + goto _test_eof + _test_eof70: + lex.cs = 70 + goto _test_eof + _test_eof138: + lex.cs = 138 + goto _test_eof + _test_eof71: + lex.cs = 71 + goto _test_eof + _test_eof72: + lex.cs = 72 + goto _test_eof + _test_eof139: + lex.cs = 139 + goto _test_eof + _test_eof140: + lex.cs = 140 + goto _test_eof + _test_eof73: + lex.cs = 73 + goto _test_eof + _test_eof74: + lex.cs = 74 + goto _test_eof + _test_eof75: + lex.cs = 75 + goto _test_eof + _test_eof141: + lex.cs = 141 + goto _test_eof + _test_eof142: + lex.cs = 142 + goto _test_eof + _test_eof76: + lex.cs = 76 + goto _test_eof + _test_eof143: + lex.cs = 143 + goto _test_eof + _test_eof77: + lex.cs = 77 + goto _test_eof + _test_eof144: + lex.cs = 144 + goto _test_eof + _test_eof145: + lex.cs = 145 + goto _test_eof + _test_eof146: + lex.cs = 146 + goto _test_eof + _test_eof147: + lex.cs = 147 + goto _test_eof + _test_eof148: + lex.cs = 148 + goto _test_eof + _test_eof149: + lex.cs = 149 + goto _test_eof + _test_eof150: + lex.cs = 150 + goto _test_eof + _test_eof78: + lex.cs = 78 + goto _test_eof + _test_eof79: + lex.cs = 79 + goto _test_eof + _test_eof80: + lex.cs = 80 + goto _test_eof + _test_eof81: + lex.cs = 81 + goto _test_eof + _test_eof151: + lex.cs = 151 + goto _test_eof + _test_eof152: + lex.cs = 152 + goto _test_eof + _test_eof82: + lex.cs = 82 + goto _test_eof + _test_eof153: + lex.cs = 153 + goto _test_eof + _test_eof154: + lex.cs = 154 + goto _test_eof + _test_eof83: + lex.cs = 83 + goto _test_eof + _test_eof84: + lex.cs = 84 + goto _test_eof + _test_eof85: + lex.cs = 85 + goto _test_eof + _test_eof86: + lex.cs = 86 + goto _test_eof + _test_eof155: + lex.cs = 155 + goto _test_eof + _test_eof87: + lex.cs = 87 + goto _test_eof + _test_eof88: + lex.cs = 88 + goto _test_eof + _test_eof89: + lex.cs = 89 + goto _test_eof + _test_eof90: + lex.cs = 90 + goto _test_eof + _test_eof156: + lex.cs = 156 + goto _test_eof + _test_eof157: + lex.cs = 157 + goto _test_eof + _test_eof158: + lex.cs = 158 + goto _test_eof + _test_eof159: + lex.cs = 159 + goto _test_eof + _test_eof160: + lex.cs = 160 + goto _test_eof + _test_eof161: + lex.cs = 161 + goto _test_eof + _test_eof162: + lex.cs = 162 + goto _test_eof + _test_eof163: + lex.cs = 163 + goto _test_eof + _test_eof91: + lex.cs = 91 + goto _test_eof + _test_eof164: + lex.cs = 164 + goto _test_eof + _test_eof165: + lex.cs = 165 + goto _test_eof + _test_eof166: + lex.cs = 166 + goto _test_eof + _test_eof167: + lex.cs = 167 + goto _test_eof + _test_eof168: + lex.cs = 168 + goto _test_eof + _test_eof169: + lex.cs = 169 + goto _test_eof + _test_eof170: + lex.cs = 170 + goto _test_eof + _test_eof171: + lex.cs = 171 + goto _test_eof + _test_eof172: + lex.cs = 172 + goto _test_eof + _test_eof173: + lex.cs = 173 + goto _test_eof + _test_eof174: + lex.cs = 174 + goto _test_eof + _test_eof175: + lex.cs = 175 + goto _test_eof + _test_eof92: + lex.cs = 92 + goto _test_eof + _test_eof93: + lex.cs = 93 + goto _test_eof + _test_eof176: + lex.cs = 176 + goto _test_eof + _test_eof177: + lex.cs = 177 + goto _test_eof + _test_eof178: + lex.cs = 178 + goto _test_eof + _test_eof179: + lex.cs = 179 + goto _test_eof + _test_eof180: + lex.cs = 180 + goto _test_eof + _test_eof181: + lex.cs = 181 + goto _test_eof + _test_eof182: + lex.cs = 182 + goto _test_eof + _test_eof183: + lex.cs = 183 + goto _test_eof + _test_eof184: + lex.cs = 184 + goto _test_eof + _test_eof185: + lex.cs = 185 + goto _test_eof + _test_eof186: + lex.cs = 186 + goto _test_eof + _test_eof187: + lex.cs = 187 + goto _test_eof + _test_eof188: + lex.cs = 188 + goto _test_eof + _test_eof189: + lex.cs = 189 + goto _test_eof + _test_eof190: + lex.cs = 190 + goto _test_eof + _test_eof191: + lex.cs = 191 + goto _test_eof + _test_eof192: + lex.cs = 192 + goto _test_eof + _test_eof193: + lex.cs = 193 + goto _test_eof + _test_eof194: + lex.cs = 194 + goto _test_eof + _test_eof195: + lex.cs = 195 + goto _test_eof + _test_eof196: + lex.cs = 196 + goto _test_eof + _test_eof197: + lex.cs = 197 + goto _test_eof + _test_eof198: + lex.cs = 198 + goto _test_eof + _test_eof199: + lex.cs = 199 + goto _test_eof + _test_eof200: + lex.cs = 200 + goto _test_eof + _test_eof201: + lex.cs = 201 + goto _test_eof + _test_eof202: + lex.cs = 202 + goto _test_eof + _test_eof203: + lex.cs = 203 + goto _test_eof + _test_eof204: + lex.cs = 204 + goto _test_eof + _test_eof205: + lex.cs = 205 + goto _test_eof + _test_eof206: + lex.cs = 206 + goto _test_eof + _test_eof207: + lex.cs = 207 + goto _test_eof + _test_eof208: + lex.cs = 208 + goto _test_eof + _test_eof209: + lex.cs = 209 + goto _test_eof + _test_eof210: + lex.cs = 210 + goto _test_eof + _test_eof211: + lex.cs = 211 + goto _test_eof + _test_eof212: + lex.cs = 212 + goto _test_eof + _test_eof213: + lex.cs = 213 + goto _test_eof + _test_eof214: + lex.cs = 214 + goto _test_eof + _test_eof215: + lex.cs = 215 + goto _test_eof + _test_eof216: + lex.cs = 216 + goto _test_eof + _test_eof217: + lex.cs = 217 + goto _test_eof + _test_eof218: + lex.cs = 218 + goto _test_eof + _test_eof219: + lex.cs = 219 + goto _test_eof + _test_eof220: + lex.cs = 220 + goto _test_eof + _test_eof221: + lex.cs = 221 + goto _test_eof + _test_eof222: + lex.cs = 222 + goto _test_eof + _test_eof223: + lex.cs = 223 + goto _test_eof + _test_eof224: + lex.cs = 224 + goto _test_eof + _test_eof225: + lex.cs = 225 + goto _test_eof + _test_eof226: + lex.cs = 226 + goto _test_eof + _test_eof227: + lex.cs = 227 + goto _test_eof + _test_eof228: + lex.cs = 228 + goto _test_eof + _test_eof229: + lex.cs = 229 + goto _test_eof + _test_eof230: + lex.cs = 230 + goto _test_eof + _test_eof231: + lex.cs = 231 + goto _test_eof + _test_eof232: + lex.cs = 232 + goto _test_eof + _test_eof233: + lex.cs = 233 + goto _test_eof + _test_eof234: + lex.cs = 234 + goto _test_eof + _test_eof235: + lex.cs = 235 + goto _test_eof + _test_eof236: + lex.cs = 236 + goto _test_eof + _test_eof237: + lex.cs = 237 + goto _test_eof + _test_eof238: + lex.cs = 238 + goto _test_eof + _test_eof239: + lex.cs = 239 + goto _test_eof + _test_eof240: + lex.cs = 240 + goto _test_eof + _test_eof241: + lex.cs = 241 + goto _test_eof + _test_eof242: + lex.cs = 242 + goto _test_eof + _test_eof243: + lex.cs = 243 + goto _test_eof + _test_eof244: + lex.cs = 244 + goto _test_eof + _test_eof245: + lex.cs = 245 + goto _test_eof + _test_eof246: + lex.cs = 246 + goto _test_eof + _test_eof247: + lex.cs = 247 + goto _test_eof + _test_eof248: + lex.cs = 248 + goto _test_eof + _test_eof249: + lex.cs = 249 + goto _test_eof + _test_eof250: + lex.cs = 250 + goto _test_eof + _test_eof251: + lex.cs = 251 + goto _test_eof + _test_eof252: + lex.cs = 252 + goto _test_eof + _test_eof253: + lex.cs = 253 + goto _test_eof + _test_eof254: + lex.cs = 254 + goto _test_eof + _test_eof255: + lex.cs = 255 + goto _test_eof + _test_eof256: + lex.cs = 256 + goto _test_eof + _test_eof257: + lex.cs = 257 + goto _test_eof + _test_eof258: + lex.cs = 258 + goto _test_eof + _test_eof259: + lex.cs = 259 + goto _test_eof + _test_eof260: + lex.cs = 260 + goto _test_eof + _test_eof261: + lex.cs = 261 + goto _test_eof + _test_eof262: + lex.cs = 262 + goto _test_eof + _test_eof263: + lex.cs = 263 + goto _test_eof + _test_eof264: + lex.cs = 264 + goto _test_eof + _test_eof265: + lex.cs = 265 + goto _test_eof + _test_eof266: + lex.cs = 266 + goto _test_eof + _test_eof267: + lex.cs = 267 + goto _test_eof + _test_eof268: + lex.cs = 268 + goto _test_eof + _test_eof269: + lex.cs = 269 + goto _test_eof + _test_eof270: + lex.cs = 270 + goto _test_eof + _test_eof271: + lex.cs = 271 + goto _test_eof + _test_eof272: + lex.cs = 272 + goto _test_eof + _test_eof273: + lex.cs = 273 + goto _test_eof + _test_eof274: + lex.cs = 274 + goto _test_eof + _test_eof275: + lex.cs = 275 + goto _test_eof + _test_eof276: + lex.cs = 276 + goto _test_eof + _test_eof277: + lex.cs = 277 + goto _test_eof + _test_eof278: + lex.cs = 278 + goto _test_eof + _test_eof279: + lex.cs = 279 + goto _test_eof + _test_eof280: + lex.cs = 280 + goto _test_eof + _test_eof281: + lex.cs = 281 + goto _test_eof + _test_eof282: + lex.cs = 282 + goto _test_eof + _test_eof283: + lex.cs = 283 + goto _test_eof + _test_eof284: + lex.cs = 284 + goto _test_eof + _test_eof285: + lex.cs = 285 + goto _test_eof + _test_eof286: + lex.cs = 286 + goto _test_eof + _test_eof287: + lex.cs = 287 + goto _test_eof + _test_eof288: + lex.cs = 288 + goto _test_eof + _test_eof289: + lex.cs = 289 + goto _test_eof + _test_eof290: + lex.cs = 290 + goto _test_eof + _test_eof291: + lex.cs = 291 + goto _test_eof + _test_eof292: + lex.cs = 292 + goto _test_eof + _test_eof293: + lex.cs = 293 + goto _test_eof + _test_eof294: + lex.cs = 294 + goto _test_eof + _test_eof295: + lex.cs = 295 + goto _test_eof + _test_eof296: + lex.cs = 296 + goto _test_eof + _test_eof297: + lex.cs = 297 + goto _test_eof + _test_eof298: + lex.cs = 298 + goto _test_eof + _test_eof299: + lex.cs = 299 + goto _test_eof + _test_eof300: + lex.cs = 300 + goto _test_eof + _test_eof301: + lex.cs = 301 + goto _test_eof + _test_eof302: + lex.cs = 302 + goto _test_eof + _test_eof303: + lex.cs = 303 + goto _test_eof + _test_eof304: + lex.cs = 304 + goto _test_eof + _test_eof305: + lex.cs = 305 + goto _test_eof + _test_eof306: + lex.cs = 306 + goto _test_eof + _test_eof307: + lex.cs = 307 + goto _test_eof + _test_eof308: + lex.cs = 308 + goto _test_eof + _test_eof309: + lex.cs = 309 + goto _test_eof + _test_eof310: + lex.cs = 310 + goto _test_eof + _test_eof311: + lex.cs = 311 + goto _test_eof + _test_eof312: + lex.cs = 312 + goto _test_eof + _test_eof313: + lex.cs = 313 + goto _test_eof + _test_eof314: + lex.cs = 314 + goto _test_eof + _test_eof315: + lex.cs = 315 + goto _test_eof + _test_eof316: + lex.cs = 316 + goto _test_eof + _test_eof317: + lex.cs = 317 + goto _test_eof + _test_eof318: + lex.cs = 318 + goto _test_eof + _test_eof319: + lex.cs = 319 + goto _test_eof + _test_eof320: + lex.cs = 320 + goto _test_eof + _test_eof321: + lex.cs = 321 + goto _test_eof + _test_eof322: + lex.cs = 322 + goto _test_eof + _test_eof323: + lex.cs = 323 + goto _test_eof + _test_eof324: + lex.cs = 324 + goto _test_eof + _test_eof325: + lex.cs = 325 + goto _test_eof + _test_eof326: + lex.cs = 326 + goto _test_eof + _test_eof327: + lex.cs = 327 + goto _test_eof + _test_eof328: + lex.cs = 328 + goto _test_eof + _test_eof329: + lex.cs = 329 + goto _test_eof + _test_eof330: + lex.cs = 330 + goto _test_eof + _test_eof331: + lex.cs = 331 + goto _test_eof + _test_eof332: + lex.cs = 332 + goto _test_eof + _test_eof333: + lex.cs = 333 + goto _test_eof + _test_eof334: + lex.cs = 334 + goto _test_eof + _test_eof335: + lex.cs = 335 + goto _test_eof + _test_eof336: + lex.cs = 336 + goto _test_eof + _test_eof337: + lex.cs = 337 + goto _test_eof + _test_eof338: + lex.cs = 338 + goto _test_eof + _test_eof339: + lex.cs = 339 + goto _test_eof + _test_eof340: + lex.cs = 340 + goto _test_eof + _test_eof341: + lex.cs = 341 + goto _test_eof + _test_eof342: + lex.cs = 342 + goto _test_eof + _test_eof343: + lex.cs = 343 + goto _test_eof + _test_eof344: + lex.cs = 344 + goto _test_eof + _test_eof345: + lex.cs = 345 + goto _test_eof + _test_eof346: + lex.cs = 346 + goto _test_eof + _test_eof347: + lex.cs = 347 + goto _test_eof + _test_eof348: + lex.cs = 348 + goto _test_eof + _test_eof349: + lex.cs = 349 + goto _test_eof + _test_eof350: + lex.cs = 350 + goto _test_eof + _test_eof351: + lex.cs = 351 + goto _test_eof + _test_eof352: + lex.cs = 352 + goto _test_eof + _test_eof353: + lex.cs = 353 + goto _test_eof + _test_eof354: + lex.cs = 354 + goto _test_eof + _test_eof355: + lex.cs = 355 + goto _test_eof + _test_eof356: + lex.cs = 356 + goto _test_eof + _test_eof357: + lex.cs = 357 + goto _test_eof + _test_eof358: + lex.cs = 358 + goto _test_eof + _test_eof359: + lex.cs = 359 + goto _test_eof + _test_eof360: + lex.cs = 360 + goto _test_eof + _test_eof361: + lex.cs = 361 + goto _test_eof + _test_eof362: + lex.cs = 362 + goto _test_eof + _test_eof363: + lex.cs = 363 + goto _test_eof + _test_eof364: + lex.cs = 364 + goto _test_eof + _test_eof365: + lex.cs = 365 + goto _test_eof + _test_eof366: + lex.cs = 366 + goto _test_eof + _test_eof367: + lex.cs = 367 + goto _test_eof + _test_eof368: + lex.cs = 368 + goto _test_eof + _test_eof369: + lex.cs = 369 + goto _test_eof + _test_eof370: + lex.cs = 370 + goto _test_eof + _test_eof371: + lex.cs = 371 + goto _test_eof + _test_eof372: + lex.cs = 372 + goto _test_eof + _test_eof373: + lex.cs = 373 + goto _test_eof + _test_eof374: + lex.cs = 374 + goto _test_eof + _test_eof375: + lex.cs = 375 + goto _test_eof + _test_eof376: + lex.cs = 376 + goto _test_eof + _test_eof377: + lex.cs = 377 + goto _test_eof + _test_eof378: + lex.cs = 378 + goto _test_eof + _test_eof379: + lex.cs = 379 + goto _test_eof + _test_eof380: + lex.cs = 380 + goto _test_eof + _test_eof381: + lex.cs = 381 + goto _test_eof + _test_eof382: + lex.cs = 382 + goto _test_eof + _test_eof383: + lex.cs = 383 + goto _test_eof + _test_eof384: + lex.cs = 384 + goto _test_eof + _test_eof385: + lex.cs = 385 + goto _test_eof + _test_eof386: + lex.cs = 386 + goto _test_eof + _test_eof387: + lex.cs = 387 + goto _test_eof + _test_eof388: + lex.cs = 388 + goto _test_eof + _test_eof389: + lex.cs = 389 + goto _test_eof + _test_eof390: + lex.cs = 390 + goto _test_eof + _test_eof391: + lex.cs = 391 + goto _test_eof + _test_eof392: + lex.cs = 392 + goto _test_eof + _test_eof393: + lex.cs = 393 + goto _test_eof + _test_eof394: + lex.cs = 394 + goto _test_eof + _test_eof395: + lex.cs = 395 + goto _test_eof + _test_eof94: + lex.cs = 94 + goto _test_eof + _test_eof95: + lex.cs = 95 + goto _test_eof + _test_eof96: + lex.cs = 96 + goto _test_eof + _test_eof97: + lex.cs = 97 + goto _test_eof + _test_eof98: + lex.cs = 98 + goto _test_eof + _test_eof99: + lex.cs = 99 + goto _test_eof + _test_eof396: + lex.cs = 396 + goto _test_eof + _test_eof397: + lex.cs = 397 + goto _test_eof + _test_eof398: + lex.cs = 398 + goto _test_eof + _test_eof399: + lex.cs = 399 + goto _test_eof + _test_eof400: + lex.cs = 400 + goto _test_eof + _test_eof401: + lex.cs = 401 + goto _test_eof + _test_eof402: + lex.cs = 402 + goto _test_eof + _test_eof403: + lex.cs = 403 + goto _test_eof + _test_eof404: + lex.cs = 404 + goto _test_eof + _test_eof405: + lex.cs = 405 + goto _test_eof + _test_eof406: + lex.cs = 406 + goto _test_eof + _test_eof407: + lex.cs = 407 + goto _test_eof + _test_eof408: + lex.cs = 408 + goto _test_eof + _test_eof409: + lex.cs = 409 + goto _test_eof + _test_eof410: + lex.cs = 410 + goto _test_eof + _test_eof411: + lex.cs = 411 + goto _test_eof + _test_eof412: + lex.cs = 412 + goto _test_eof + _test_eof413: + lex.cs = 413 + goto _test_eof + _test_eof414: + lex.cs = 414 + goto _test_eof + _test_eof415: + lex.cs = 415 + goto _test_eof + _test_eof416: + lex.cs = 416 + goto _test_eof + _test_eof417: + lex.cs = 417 + goto _test_eof + _test_eof418: + lex.cs = 418 + goto _test_eof + _test_eof419: + lex.cs = 419 + goto _test_eof + _test_eof420: + lex.cs = 420 + goto _test_eof + _test_eof421: + lex.cs = 421 + goto _test_eof + _test_eof422: + lex.cs = 422 + goto _test_eof + _test_eof423: + lex.cs = 423 + goto _test_eof + _test_eof424: + lex.cs = 424 + goto _test_eof + _test_eof425: + lex.cs = 425 + goto _test_eof + _test_eof426: + lex.cs = 426 + goto _test_eof + _test_eof427: + lex.cs = 427 + goto _test_eof + _test_eof428: + lex.cs = 428 + goto _test_eof + _test_eof429: + lex.cs = 429 + goto _test_eof + _test_eof430: + lex.cs = 430 + goto _test_eof + _test_eof431: + lex.cs = 431 + goto _test_eof + _test_eof432: + lex.cs = 432 + goto _test_eof + _test_eof433: + lex.cs = 433 + goto _test_eof + _test_eof434: + lex.cs = 434 + goto _test_eof + _test_eof435: + lex.cs = 435 + goto _test_eof + _test_eof436: + lex.cs = 436 + goto _test_eof + _test_eof437: + lex.cs = 437 + goto _test_eof + _test_eof438: + lex.cs = 438 + goto _test_eof + _test_eof439: + lex.cs = 439 + goto _test_eof + _test_eof440: + lex.cs = 440 + goto _test_eof + _test_eof441: + lex.cs = 441 + goto _test_eof + _test_eof442: + lex.cs = 442 + goto _test_eof + _test_eof443: + lex.cs = 443 + goto _test_eof + _test_eof444: + lex.cs = 444 + goto _test_eof + _test_eof445: + lex.cs = 445 + goto _test_eof + _test_eof446: + lex.cs = 446 + goto _test_eof + _test_eof447: + lex.cs = 447 + goto _test_eof + _test_eof448: + lex.cs = 448 + goto _test_eof + _test_eof449: + lex.cs = 449 + goto _test_eof + _test_eof450: + lex.cs = 450 + goto _test_eof + _test_eof451: + lex.cs = 451 + goto _test_eof + _test_eof452: + lex.cs = 452 + goto _test_eof + _test_eof453: + lex.cs = 453 + goto _test_eof + _test_eof454: + lex.cs = 454 + goto _test_eof + _test_eof455: + lex.cs = 455 + goto _test_eof + _test_eof456: + lex.cs = 456 + goto _test_eof + _test_eof457: + lex.cs = 457 + goto _test_eof + _test_eof458: + lex.cs = 458 + goto _test_eof + _test_eof459: + lex.cs = 459 + goto _test_eof + _test_eof460: + lex.cs = 460 + goto _test_eof + _test_eof461: + lex.cs = 461 + goto _test_eof + _test_eof462: + lex.cs = 462 + goto _test_eof + _test_eof463: + lex.cs = 463 + goto _test_eof + _test_eof464: + lex.cs = 464 + goto _test_eof + _test_eof465: + lex.cs = 465 + goto _test_eof + _test_eof466: + lex.cs = 466 + goto _test_eof + _test_eof467: + lex.cs = 467 + goto _test_eof + _test_eof468: + lex.cs = 468 + goto _test_eof + _test_eof100: + lex.cs = 100 + goto _test_eof + _test_eof469: + lex.cs = 469 + goto _test_eof + _test_eof470: + lex.cs = 470 + goto _test_eof + _test_eof471: + lex.cs = 471 + goto _test_eof + _test_eof472: + lex.cs = 472 + goto _test_eof + _test_eof473: + lex.cs = 473 + goto _test_eof + _test_eof474: + lex.cs = 474 + goto _test_eof + _test_eof475: + lex.cs = 475 + goto _test_eof + _test_eof476: + lex.cs = 476 + goto _test_eof + _test_eof101: + lex.cs = 101 + goto _test_eof + _test_eof477: + lex.cs = 477 + goto _test_eof + _test_eof478: + lex.cs = 478 + goto _test_eof + _test_eof479: + lex.cs = 479 + goto _test_eof + _test_eof480: + lex.cs = 480 + goto _test_eof + _test_eof481: + lex.cs = 481 + goto _test_eof + _test_eof482: + lex.cs = 482 + goto _test_eof + _test_eof102: + lex.cs = 102 + goto _test_eof + _test_eof483: + lex.cs = 483 + goto _test_eof + _test_eof484: + lex.cs = 484 + goto _test_eof + _test_eof485: + lex.cs = 485 + goto _test_eof + _test_eof486: + lex.cs = 486 + goto _test_eof + _test_eof487: + lex.cs = 487 + goto _test_eof + _test_eof488: + lex.cs = 488 + goto _test_eof + _test_eof103: + lex.cs = 103 + goto _test_eof + _test_eof489: + lex.cs = 489 + goto _test_eof + _test_eof490: + lex.cs = 490 + goto _test_eof + _test_eof491: + lex.cs = 491 + goto _test_eof + _test_eof492: + lex.cs = 492 + goto _test_eof + _test_eof493: + lex.cs = 493 + goto _test_eof + _test_eof494: + lex.cs = 494 + goto _test_eof + _test_eof495: + lex.cs = 495 + goto _test_eof + _test_eof496: + lex.cs = 496 + goto _test_eof + _test_eof497: + lex.cs = 497 + goto _test_eof + _test_eof498: + lex.cs = 498 + goto _test_eof + _test_eof104: + lex.cs = 104 + goto _test_eof + _test_eof499: + lex.cs = 499 + goto _test_eof + _test_eof500: + lex.cs = 500 + goto _test_eof + _test_eof501: + lex.cs = 501 + goto _test_eof + _test_eof502: + lex.cs = 502 + goto _test_eof + _test_eof503: + lex.cs = 503 + goto _test_eof + _test_eof504: + lex.cs = 504 + goto _test_eof + _test_eof505: + lex.cs = 505 + goto _test_eof + _test_eof506: + lex.cs = 506 + goto _test_eof + _test_eof105: + lex.cs = 105 + goto _test_eof + _test_eof507: + lex.cs = 507 + goto _test_eof + _test_eof106: + lex.cs = 106 + goto _test_eof + _test_eof508: + lex.cs = 508 + goto _test_eof + _test_eof509: + lex.cs = 509 + goto _test_eof + _test_eof510: + lex.cs = 510 + goto _test_eof + _test_eof511: + lex.cs = 511 + goto _test_eof + _test_eof512: + lex.cs = 512 + goto _test_eof + _test_eof107: + lex.cs = 107 + goto _test_eof + _test_eof513: + lex.cs = 513 + goto _test_eof + _test_eof514: + lex.cs = 514 + goto _test_eof + _test_eof515: + lex.cs = 515 + goto _test_eof + _test_eof108: + lex.cs = 108 + goto _test_eof + _test_eof516: + lex.cs = 516 + goto _test_eof + _test_eof517: + lex.cs = 517 + goto _test_eof + _test_eof518: + lex.cs = 518 + goto _test_eof + _test_eof519: + lex.cs = 519 + goto _test_eof + _test_eof109: + lex.cs = 109 + goto _test_eof + _test_eof520: + lex.cs = 520 + goto _test_eof + _test_eof521: + lex.cs = 521 + goto _test_eof + _test_eof522: + lex.cs = 522 + goto _test_eof + _test_eof523: + lex.cs = 523 + goto _test_eof + _test_eof110: + lex.cs = 110 + goto _test_eof + _test_eof524: + lex.cs = 524 + goto _test_eof + _test_eof525: + lex.cs = 525 + goto _test_eof + _test_eof526: + lex.cs = 526 + goto _test_eof + _test_eof527: + lex.cs = 527 + goto _test_eof + + _test_eof: + { + } + if (lex.p) == eof { + switch lex.cs { + case 112: + goto tr177 + case 113: + goto tr179 + case 114: + goto tr177 + case 115: + goto tr177 + case 116: + goto tr184 + case 1: + goto tr0 + case 2: + goto tr0 + case 3: + goto tr0 + case 117: + goto tr187 + case 4: + goto tr0 + case 119: + goto tr242 + case 120: + goto tr244 + case 5: + goto tr6 + case 121: + goto tr248 + case 122: + goto tr249 + case 123: + goto tr251 + case 124: + goto tr253 + case 6: + goto tr8 + case 7: + goto tr8 + case 8: + goto tr8 + case 9: + goto tr8 + case 10: + goto tr8 + case 11: + goto tr8 + case 125: + goto tr254 + case 126: + goto tr256 + case 127: + goto tr249 + case 128: + goto tr260 + case 129: + goto tr249 + case 130: + goto tr249 + case 131: + goto tr248 + case 12: + goto tr26 + case 13: + goto tr26 + case 14: + goto tr26 + case 15: + goto tr26 + case 132: + goto tr249 + case 16: + goto tr38 + case 17: + goto tr38 + case 18: + goto tr38 + case 19: + goto tr38 + case 20: + goto tr38 + case 21: + goto tr38 + case 22: + goto tr38 + case 23: + goto tr38 + case 24: + goto tr38 + case 25: + goto tr38 + case 26: + goto tr38 + case 27: + goto tr38 + case 28: + goto tr38 + case 29: + goto tr38 + case 30: + goto tr38 + case 31: + goto tr38 + case 32: + goto tr38 + case 33: + goto tr38 + case 34: + goto tr38 + case 35: + goto tr38 + case 36: + goto tr38 + case 37: + goto tr38 + case 38: + goto tr38 + case 39: + goto tr38 + case 40: + goto tr38 + case 41: + goto tr38 + case 42: + goto tr38 + case 43: + goto tr38 + case 44: + goto tr38 + case 45: + goto tr38 + case 46: + goto tr38 + case 47: + goto tr38 + case 48: + goto tr38 + case 49: + goto tr38 + case 50: + goto tr38 + case 51: + goto tr38 + case 52: + goto tr38 + case 53: + goto tr38 + case 54: + goto tr38 + case 55: + goto tr38 + case 56: + goto tr38 + case 57: + goto tr38 + case 58: + goto tr38 + case 59: + goto tr38 + case 60: + goto tr38 + case 61: + goto tr38 + case 62: + goto tr38 + case 63: + goto tr38 + case 64: + goto tr38 + case 65: + goto tr38 + case 66: + goto tr38 + case 67: + goto tr38 + case 68: + goto tr38 + case 69: + goto tr38 + case 133: + goto tr249 + case 134: + goto tr266 + case 135: + goto tr249 + case 136: + goto tr249 + case 137: + goto tr249 + case 70: + goto tr38 + case 138: + goto tr276 + case 71: + goto tr8 + case 72: + goto tr8 + case 139: + goto tr276 + case 140: + goto tr249 + case 73: + goto tr38 + case 74: + goto tr38 + case 75: + goto tr38 + case 141: + goto tr279 + case 142: + goto tr279 + case 76: + goto tr110 + case 143: + goto tr282 + case 77: + goto tr110 + case 144: + goto tr283 + case 145: + goto tr279 + case 146: + goto tr8 + case 147: + goto tr285 + case 148: + goto tr276 + case 149: + goto tr249 + case 150: + goto tr249 + case 78: + goto tr38 + case 79: + goto tr38 + case 80: + goto tr38 + case 81: + goto tr38 + case 151: + goto tr288 + case 152: + goto tr290 + case 82: + goto tr122 + case 153: + goto tr249 + case 154: + goto tr294 + case 83: + goto tr8 + case 84: + goto tr8 + case 85: + goto tr8 + case 86: + goto tr8 + case 155: + goto tr296 + case 87: + goto tr8 + case 88: + goto tr8 + case 89: + goto tr8 + case 90: + goto tr8 + case 156: + goto tr297 + case 157: + goto tr249 + case 158: + goto tr301 + case 159: + goto tr249 + case 160: + goto tr305 + case 161: + goto tr249 + case 162: + goto tr309 + case 163: + goto tr311 + case 91: + goto tr138 + case 164: + goto tr285 + case 165: + goto tr285 + case 166: + goto tr285 + case 167: + goto tr285 + case 168: + goto tr285 + case 169: + goto tr285 + case 170: + goto tr285 + case 171: + goto tr285 + case 172: + goto tr285 + case 173: + goto tr285 + case 174: + goto tr285 + case 175: + goto tr285 + case 92: + goto tr140 + case 93: + goto tr140 + case 176: + goto tr285 + case 177: + goto tr285 + case 178: + goto tr285 + case 179: + goto tr285 + case 180: + goto tr285 + case 181: + goto tr285 + case 182: + goto tr285 + case 183: + goto tr285 + case 184: + goto tr285 + case 185: + goto tr285 + case 186: + goto tr285 + case 187: + goto tr285 + case 188: + goto tr285 + case 189: + goto tr285 + case 190: + goto tr285 + case 191: + goto tr285 + case 192: + goto tr285 + case 193: + goto tr285 + case 194: + goto tr285 + case 195: + goto tr285 + case 196: + goto tr285 + case 197: + goto tr285 + case 198: + goto tr285 + case 199: + goto tr285 + case 200: + goto tr285 + case 201: + goto tr285 + case 202: + goto tr285 + case 203: + goto tr285 + case 204: + goto tr285 + case 205: + goto tr285 + case 206: + goto tr285 + case 207: + goto tr285 + case 208: + goto tr285 + case 209: + goto tr285 + case 210: + goto tr285 + case 211: + goto tr285 + case 212: + goto tr285 + case 213: + goto tr285 + case 214: + goto tr285 + case 215: + goto tr285 + case 216: + goto tr285 + case 217: + goto tr285 + case 218: + goto tr285 + case 219: + goto tr285 + case 220: + goto tr285 + case 221: + goto tr285 + case 222: + goto tr285 + case 223: + goto tr285 + case 224: + goto tr391 + case 225: + goto tr285 + case 226: + goto tr285 + case 227: + goto tr285 + case 228: + goto tr285 + case 229: + goto tr285 + case 230: + goto tr285 + case 231: + goto tr285 + case 232: + goto tr285 + case 233: + goto tr285 + case 234: + goto tr285 + case 235: + goto tr285 + case 236: + goto tr285 + case 237: + goto tr285 + case 238: + goto tr285 + case 239: + goto tr411 + case 240: + goto tr285 + case 241: + goto tr285 + case 242: + goto tr285 + case 243: + goto tr285 + case 244: + goto tr285 + case 245: + goto tr285 + case 246: + goto tr285 + case 247: + goto tr285 + case 248: + goto tr285 + case 249: + goto tr285 + case 250: + goto tr285 + case 251: + goto tr285 + case 252: + goto tr285 + case 253: + goto tr285 + case 254: + goto tr285 + case 255: + goto tr285 + case 256: + goto tr285 + case 257: + goto tr285 + case 258: + goto tr285 + case 259: + goto tr285 + case 260: + goto tr285 + case 261: + goto tr285 + case 262: + goto tr285 + case 263: + goto tr285 + case 264: + goto tr285 + case 265: + goto tr439 + case 266: + goto tr285 + case 267: + goto tr285 + case 268: + goto tr443 + case 269: + goto tr285 + case 270: + goto tr285 + case 271: + goto tr285 + case 272: + goto tr285 + case 273: + goto tr285 + case 274: + goto tr285 + case 275: + goto tr285 + case 276: + goto tr285 + case 277: + goto tr285 + case 278: + goto tr285 + case 279: + goto tr285 + case 280: + goto tr285 + case 281: + goto tr285 + case 282: + goto tr285 + case 283: + goto tr285 + case 284: + goto tr285 + case 285: + goto tr285 + case 286: + goto tr285 + case 287: + goto tr285 + case 288: + goto tr285 + case 289: + goto tr285 + case 290: + goto tr285 + case 291: + goto tr285 + case 292: + goto tr285 + case 293: + goto tr475 + case 294: + goto tr285 + case 295: + goto tr285 + case 296: + goto tr285 + case 297: + goto tr285 + case 298: + goto tr285 + case 299: + goto tr285 + case 300: + goto tr285 + case 301: + goto tr285 + case 302: + goto tr285 + case 303: + goto tr285 + case 304: + goto tr285 + case 305: + goto tr285 + case 306: + goto tr285 + case 307: + goto tr285 + case 308: + goto tr285 + case 309: + goto tr285 + case 310: + goto tr285 + case 311: + goto tr285 + case 312: + goto tr285 + case 313: + goto tr285 + case 314: + goto tr285 + case 315: + goto tr285 + case 316: + goto tr285 + case 317: + goto tr285 + case 318: + goto tr285 + case 319: + goto tr285 + case 320: + goto tr285 + case 321: + goto tr285 + case 322: + goto tr285 + case 323: + goto tr285 + case 324: + goto tr285 + case 325: + goto tr285 + case 326: + goto tr285 + case 327: + goto tr285 + case 328: + goto tr285 + case 329: + goto tr285 + case 330: + goto tr285 + case 331: + goto tr285 + case 332: + goto tr285 + case 333: + goto tr285 + case 334: + goto tr285 + case 335: + goto tr285 + case 336: + goto tr285 + case 337: + goto tr285 + case 338: + goto tr285 + case 339: + goto tr285 + case 340: + goto tr285 + case 341: + goto tr285 + case 342: + goto tr285 + case 343: + goto tr285 + case 344: + goto tr285 + case 345: + goto tr285 + case 346: + goto tr285 + case 347: + goto tr285 + case 348: + goto tr285 + case 349: + goto tr285 + case 350: + goto tr285 + case 351: + goto tr285 + case 352: + goto tr285 + case 353: + goto tr285 + case 354: + goto tr543 + case 355: + goto tr285 + case 356: + goto tr285 + case 357: + goto tr285 + case 358: + goto tr285 + case 359: + goto tr285 + case 360: + goto tr285 + case 361: + goto tr285 + case 362: + goto tr285 + case 363: + goto tr285 + case 364: + goto tr285 + case 365: + goto tr285 + case 366: + goto tr285 + case 367: + goto tr285 + case 368: + goto tr285 + case 369: + goto tr285 + case 370: + goto tr285 + case 371: + goto tr285 + case 372: + goto tr285 + case 373: + goto tr285 + case 374: + goto tr285 + case 375: + goto tr285 + case 376: + goto tr285 + case 377: + goto tr285 + case 378: + goto tr285 + case 379: + goto tr285 + case 380: + goto tr285 + case 381: + goto tr285 + case 382: + goto tr285 + case 383: + goto tr285 + case 384: + goto tr285 + case 385: + goto tr285 + case 386: + goto tr285 + case 387: + goto tr285 + case 388: + goto tr285 + case 389: + goto tr285 + case 390: + goto tr285 + case 391: + goto tr285 + case 392: + goto tr285 + case 393: + goto tr285 + case 394: + goto tr285 + case 395: + goto tr589 + case 94: + goto tr142 + case 95: + goto tr142 + case 96: + goto tr142 + case 97: + goto tr142 + case 98: + goto tr142 + case 99: + goto tr142 + case 396: + goto tr285 + case 397: + goto tr285 + case 398: + goto tr285 + case 399: + goto tr249 + case 400: + goto tr285 + case 401: + goto tr285 + case 402: + goto tr285 + case 403: + goto tr285 + case 404: + goto tr285 + case 405: + goto tr285 + case 406: + goto tr285 + case 407: + goto tr285 + case 408: + goto tr285 + case 409: + goto tr285 + case 410: + goto tr285 + case 411: + goto tr285 + case 412: + goto tr285 + case 413: + goto tr285 + case 414: + goto tr285 + case 415: + goto tr285 + case 416: + goto tr285 + case 417: + goto tr285 + case 418: + goto tr285 + case 419: + goto tr285 + case 420: + goto tr285 + case 421: + goto tr285 + case 422: + goto tr285 + case 423: + goto tr285 + case 424: + goto tr285 + case 425: + goto tr285 + case 426: + goto tr285 + case 427: + goto tr285 + case 428: + goto tr285 + case 429: + goto tr285 + case 430: + goto tr285 + case 431: + goto tr285 + case 432: + goto tr285 + case 433: + goto tr285 + case 434: + goto tr285 + case 435: + goto tr285 + case 436: + goto tr285 + case 437: + goto tr285 + case 438: + goto tr285 + case 439: + goto tr285 + case 440: + goto tr285 + case 441: + goto tr285 + case 442: + goto tr285 + case 443: + goto tr285 + case 444: + goto tr285 + case 445: + goto tr285 + case 446: + goto tr285 + case 447: + goto tr285 + case 448: + goto tr285 + case 449: + goto tr285 + case 450: + goto tr285 + case 451: + goto tr285 + case 452: + goto tr285 + case 453: + goto tr285 + case 454: + goto tr285 + case 455: + goto tr285 + case 456: + goto tr285 + case 457: + goto tr285 + case 458: + goto tr285 + case 459: + goto tr285 + case 460: + goto tr285 + case 461: + goto tr285 + case 462: + goto tr285 + case 463: + goto tr285 + case 464: + goto tr285 + case 465: + goto tr249 + case 467: + goto tr675 + case 468: + goto tr677 + case 100: + goto tr154 + case 469: + goto tr681 + case 470: + goto tr681 + case 471: + goto tr683 + case 473: + goto tr686 + case 474: + goto tr687 + case 476: + goto tr696 + case 477: + goto tr698 + case 478: + goto tr699 + case 479: + goto tr696 + case 480: + goto tr703 + case 482: + goto tr713 + case 483: + goto tr715 + case 484: + goto tr716 + case 485: + goto tr713 + case 486: + goto tr720 + case 488: + goto tr730 + case 489: + goto tr732 + case 490: + goto tr733 + case 491: + goto tr730 + case 492: + goto tr737 + case 494: + goto tr740 + case 496: + goto tr746 + case 497: + goto tr748 + case 498: + goto tr746 + case 104: + goto tr160 + case 499: + goto tr750 + case 501: + goto tr762 + case 502: + goto tr763 + case 503: + goto tr764 + case 504: + goto tr766 + case 505: + goto tr767 + case 506: + goto tr767 + case 105: + goto tr162 + case 507: + goto tr767 + case 106: + goto tr162 + case 508: + goto tr767 + case 509: + goto tr767 + case 510: + goto tr770 + case 512: + goto tr773 + case 107: + goto tr165 + case 514: + goto tr778 + case 515: + goto tr780 + case 108: + goto tr168 + case 516: + goto tr784 + case 518: + goto tr789 + case 519: + goto tr791 + case 109: + goto tr170 + case 520: + goto tr795 + case 522: + goto tr800 + case 523: + goto tr802 + case 110: + goto tr172 + case 524: + goto tr806 + case 526: + goto tr809 + case 527: + goto tr810 + } + } + + _out: + { } - lval.Token(l.lastToken) - return -1 } - goto yyAction + +//line scanner/scanner.rl:464 + + // always return same $end token + if tok == 0 { + if lex.lastToken == nil { + lex.ts, lex.te = 0, 0 + lex.lastToken = lex.createToken(lval) + } + lval.Token(lex.lastToken) + } + + return int(tok) } diff --git a/scanner/scanner.l b/scanner/scanner.l deleted file mode 100644 index 3986e50..0000000 --- a/scanner/scanner.l +++ /dev/null @@ -1,690 +0,0 @@ -%{ -// Copyright (c) 2011 CZ.NIC z.s.p.o. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// blame: jnml, labs.nic.cz - -package scanner - -import ( - "fmt" - "github.com/z7zmey/php-parser/freefloating" - "github.com/cznic/golex/lex" -) - -const ( - INITIAL = iota - PHP - STRING - STRING_VAR - STRING_VAR_INDEX - STRING_VAR_NAME - PROPERTY - HEREDOC_END - NOWDOC - HEREDOC - BACKQUOTE - HALT_COMPILER -) - -func isValidFirstVarNameRune(r rune) bool { - return r >= 'A' && r <= 'Z' || r == '_' || r >= 'a' && r <= 'z' || r >= '\u007f' && r <= 'ÿ' -} - -func (l *Lexer) Lex(lval Lval) int { - l.FreeFloating = nil - c := l.Enter() -%} - -%s PHP STRING STRING_VAR STRING_VAR_INDEX STRING_VAR_NAME PROPERTY HEREDOC_END NOWDOC HEREDOC BACKQUOTE HALT_COMPILER - -%yyb last == '\n' || last = '\0' -%yyt l.getCurrentState() -%yyc c -%yyn c = l.Next() -%yym l.Mark() -%optioncase-insensitive - -LNUM [0-9]+ -DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*) -HNUM 0x[0-9a-fA-F]+ -BNUM 0b[01]+ -EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) -VAR_NAME [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* -OPERATORS [;:,.\[\]()|\/\^&\+-*=%!~$<>?@] -NEW_LINE (\r|\n|\r\n) -ANY_CHAR . - -%% - c = l.Rule0() - -[ \t\n\r]+ l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) -. - tb := []lex.Char{} - - for { - if c == -1 { - tb = l.Token(); - break; - } - - if '?' == rune(c) { - tb = l.Token(); - if (len(tb) < 2 || tb[len(tb)-1].Rune != '<') { - c = l.Next() - continue; - } - - tb = l.ungetChars(1) - break; - } - - c = l.Next() - } - - lval.Token(l.createToken(tb)) - return int(T_INLINE_HTML) - -\<\?php([ \t]|{NEW_LINE}) l.addFreeFloating(freefloating.TokenType, l.Token()[:5]);l.Begin(PHP);l.ungetChars(len(l.Token())-5) -\<\? l.addFreeFloating(freefloating.TokenType, l.Token());l.Begin(PHP); -\<\?= l.Begin(PHP);lval.Token(l.createToken(l.Token())); return int(T_ECHO); - - -[ \t\n\r]+ l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) -[;][ \t\n\r]*\?\>{NEW_LINE}? l.Begin(INITIAL);lval.Token(l.createToken(l.Token())); return Rune2Class(';'); -\?\>{NEW_LINE}? l.Begin(INITIAL);lval.Token(l.createToken(l.Token())); return Rune2Class(';'); - -{DNUM}|{EXPONENT_DNUM} lval.Token(l.createToken(l.Token())); return int(T_DNUMBER) -{BNUM} - tb := l.Token() - i:=2 - BNUMFOR:for { - if i > len(tb)-1 { - break BNUMFOR; - } - switch tb[i].Rune { - case '0': i++; - default: break BNUMFOR; - } - } - if len(tb) - i < 64 { - lval.Token(l.createToken(l.Token())); return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())); return int(T_DNUMBER) - } -{LNUM} - if len(l.Token()) < 20 { - lval.Token(l.createToken(l.Token())); return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())); return int(T_DNUMBER) - } -{HNUM} - tb := l.Token() - i:=2 - HNUMFOR:for { - if i > len(tb)-1 { - break HNUMFOR; - } - switch tb[i].Rune { - case '0': i++; - default: break HNUMFOR; - } - } - length := len(tb) - i - if length < 16 || (length == 16 && tb[i].Rune <= '7') { - lval.Token(l.createToken(l.Token())); return int(T_LNUMBER) - } else { - lval.Token(l.createToken(l.Token())); return int(T_DNUMBER) - } - -abstract lval.Token(l.createToken(l.Token())); return int(T_ABSTRACT) -array lval.Token(l.createToken(l.Token())); return int(T_ARRAY) -as lval.Token(l.createToken(l.Token())); return int(T_AS) -break lval.Token(l.createToken(l.Token())); return int(T_BREAK) -callable lval.Token(l.createToken(l.Token())); return int(T_CALLABLE) -case lval.Token(l.createToken(l.Token())); return int(T_CASE) -catch lval.Token(l.createToken(l.Token())); return int(T_CATCH) -class lval.Token(l.createToken(l.Token())); return int(T_CLASS) -clone lval.Token(l.createToken(l.Token())); return int(T_CLONE) -const lval.Token(l.createToken(l.Token())); return int(T_CONST) -continue lval.Token(l.createToken(l.Token())); return int(T_CONTINUE) -declare lval.Token(l.createToken(l.Token())); return int(T_DECLARE) -default lval.Token(l.createToken(l.Token())); return int(T_DEFAULT) -do lval.Token(l.createToken(l.Token())); return int(T_DO) -echo lval.Token(l.createToken(l.Token())); return int(T_ECHO) -else lval.Token(l.createToken(l.Token())); return int(T_ELSE) -elseif lval.Token(l.createToken(l.Token())); return int(T_ELSEIF) -empty lval.Token(l.createToken(l.Token())); return int(T_EMPTY) -enddeclare lval.Token(l.createToken(l.Token())); return int(T_ENDDECLARE) -endfor lval.Token(l.createToken(l.Token())); return int(T_ENDFOR) -endforeach lval.Token(l.createToken(l.Token())); return int(T_ENDFOREACH) -endif lval.Token(l.createToken(l.Token())); return int(T_ENDIF) -endswitch lval.Token(l.createToken(l.Token())); return int(T_ENDSWITCH) -endwhile lval.Token(l.createToken(l.Token())); return int(T_ENDWHILE) -eval lval.Token(l.createToken(l.Token())); return int(T_EVAL) -exit|die lval.Token(l.createToken(l.Token())); return int(T_EXIT) -extends lval.Token(l.createToken(l.Token())); return int(T_EXTENDS) -final lval.Token(l.createToken(l.Token())); return int(T_FINAL) -finally lval.Token(l.createToken(l.Token())); return int(T_FINALLY) -for lval.Token(l.createToken(l.Token())); return int(T_FOR) -foreach lval.Token(l.createToken(l.Token())); return int(T_FOREACH) -function|cfunction lval.Token(l.createToken(l.Token())); return int(T_FUNCTION) -global lval.Token(l.createToken(l.Token())); return int(T_GLOBAL) -goto lval.Token(l.createToken(l.Token())); return int(T_GOTO) -if lval.Token(l.createToken(l.Token())); return int(T_IF) -isset lval.Token(l.createToken(l.Token())); return int(T_ISSET) -implements lval.Token(l.createToken(l.Token())); return int(T_IMPLEMENTS) -instanceof lval.Token(l.createToken(l.Token())); return int(T_INSTANCEOF) -insteadof lval.Token(l.createToken(l.Token())); return int(T_INSTEADOF) -interface lval.Token(l.createToken(l.Token())); return int(T_INTERFACE) -list lval.Token(l.createToken(l.Token())); return int(T_LIST) -namespace lval.Token(l.createToken(l.Token())); return int(T_NAMESPACE) -private lval.Token(l.createToken(l.Token())); return int(T_PRIVATE) -public lval.Token(l.createToken(l.Token())); return int(T_PUBLIC) -print lval.Token(l.createToken(l.Token())); return int(T_PRINT) -protected lval.Token(l.createToken(l.Token())); return int(T_PROTECTED) -return lval.Token(l.createToken(l.Token())); return int(T_RETURN) -static lval.Token(l.createToken(l.Token())); return int(T_STATIC) -switch lval.Token(l.createToken(l.Token())); return int(T_SWITCH) -throw lval.Token(l.createToken(l.Token())); return int(T_THROW) -trait lval.Token(l.createToken(l.Token())); return int(T_TRAIT) -try lval.Token(l.createToken(l.Token())); return int(T_TRY) -unset lval.Token(l.createToken(l.Token())); return int(T_UNSET) -use lval.Token(l.createToken(l.Token())); return int(T_USE) -var lval.Token(l.createToken(l.Token())); return int(T_VAR) -while lval.Token(l.createToken(l.Token())); return int(T_WHILE) -yield[ \t\n\r]+from lval.Token(l.createToken(l.Token())); return int(T_YIELD_FROM) -yield lval.Token(l.createToken(l.Token())); return int(T_YIELD) -include lval.Token(l.createToken(l.Token())); return int(T_INCLUDE) -include_once lval.Token(l.createToken(l.Token())); return int(T_INCLUDE_ONCE) -require lval.Token(l.createToken(l.Token())); return int(T_REQUIRE) -require_once lval.Token(l.createToken(l.Token())); return int(T_REQUIRE_ONCE) -__CLASS__ lval.Token(l.createToken(l.Token())); return int(T_CLASS_C) -__DIR__ lval.Token(l.createToken(l.Token())); return int(T_DIR) -__FILE__ lval.Token(l.createToken(l.Token())); return int(T_FILE) -__FUNCTION__ lval.Token(l.createToken(l.Token())); return int(T_FUNC_C) -__LINE__ lval.Token(l.createToken(l.Token())); return int(T_LINE) -__NAMESPACE__ lval.Token(l.createToken(l.Token())); return int(T_NS_C) -__METHOD__ lval.Token(l.createToken(l.Token())); return int(T_METHOD_C) -__TRAIT__ lval.Token(l.createToken(l.Token())); return int(T_TRAIT_C) -__halt_compiler lval.Token(l.createToken(l.Token())); return int(T_HALT_COMPILER) -\([ \t]*array[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_ARRAY_CAST) -\([ \t]*(bool|boolean)[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_BOOL_CAST) -\([ \t]*(real|double|float)[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_DOUBLE_CAST) -\([ \t]*(int|integer)[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_INT_CAST) -\([ \t]*object[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_OBJECT_CAST) -\([ \t]*(string|binary)[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_STRING_CAST) -\([ \t]*unset[ \t]*\) lval.Token(l.createToken(l.Token())); return int(T_UNSET_CAST) -new lval.Token(l.createToken(l.Token())); return int(T_NEW) -and lval.Token(l.createToken(l.Token())); return int(T_LOGICAL_AND) -or lval.Token(l.createToken(l.Token())); return int(T_LOGICAL_OR) -xor lval.Token(l.createToken(l.Token())); return int(T_LOGICAL_XOR) -\\ lval.Token(l.createToken(l.Token())); return int(T_NS_SEPARATOR) -\.\.\. lval.Token(l.createToken(l.Token())); return int(T_ELLIPSIS) -:: lval.Token(l.createToken(l.Token())); return int(T_PAAMAYIM_NEKUDOTAYIM) // T_DOUBLE_COLON -&& lval.Token(l.createToken(l.Token())); return int(T_BOOLEAN_AND) -\|\| lval.Token(l.createToken(l.Token())); return int(T_BOOLEAN_OR) -&= lval.Token(l.createToken(l.Token())); return int(T_AND_EQUAL) -\|= lval.Token(l.createToken(l.Token())); return int(T_OR_EQUAL) -\.= lval.Token(l.createToken(l.Token())); return int(T_CONCAT_EQUAL) -\*= lval.Token(l.createToken(l.Token())); return int(T_MUL_EQUAL) -\*\*= lval.Token(l.createToken(l.Token())); return int(T_POW_EQUAL) -[/]= lval.Token(l.createToken(l.Token())); return int(T_DIV_EQUAL) -\+= lval.Token(l.createToken(l.Token())); return int(T_PLUS_EQUAL) --= lval.Token(l.createToken(l.Token())); return int(T_MINUS_EQUAL) -\^= lval.Token(l.createToken(l.Token())); return int(T_XOR_EQUAL) -%= lval.Token(l.createToken(l.Token())); return int(T_MOD_EQUAL) --- lval.Token(l.createToken(l.Token())); return int(T_DEC) -\+\+ lval.Token(l.createToken(l.Token())); return int(T_INC) -=> lval.Token(l.createToken(l.Token())); return int(T_DOUBLE_ARROW) -\<=\> lval.Token(l.createToken(l.Token())); return int(T_SPACESHIP) -\!=|\<\> lval.Token(l.createToken(l.Token())); return int(T_IS_NOT_EQUAL) -\!== lval.Token(l.createToken(l.Token())); return int(T_IS_NOT_IDENTICAL) -== lval.Token(l.createToken(l.Token())); return int(T_IS_EQUAL) -=== lval.Token(l.createToken(l.Token())); return int(T_IS_IDENTICAL) -\<\<= lval.Token(l.createToken(l.Token())); return int(T_SL_EQUAL) -\>\>= lval.Token(l.createToken(l.Token())); return int(T_SR_EQUAL) -\>= lval.Token(l.createToken(l.Token())); return int(T_IS_GREATER_OR_EQUAL) -\<= lval.Token(l.createToken(l.Token())); return int(T_IS_SMALLER_OR_EQUAL) -\*\* lval.Token(l.createToken(l.Token())); return int(T_POW) -\<\< lval.Token(l.createToken(l.Token())); return int(T_SL) -\>\> lval.Token(l.createToken(l.Token())); return int(T_SR) -\?\? lval.Token(l.createToken(l.Token())); return int(T_COALESCE) -(#|[/][/]) - tb := l.Token() - - for { - if c == -1 { - break - } - - tb = append(tb, l.Last) - - switch c { - case '\r': - c = l.Next() - if c == '\n' { - continue - } - - case '\n': - c = l.Next() - - case '?': - c = l.Next() - if c == '>' { - l.ungetChars(1) - tb = tb[:len(tb)-1] - break - } - continue - - default: - c = l.Next() - continue - } - - break; - } - - l.addFreeFloating(freefloating.CommentType, tb) - -[/][*][*][/] - l.addFreeFloating(freefloating.CommentType, l.Token()) -([/][*])|([/][*][*]) - tb := l.Token() - is_doc_comment := false - if len(tb) > 2 { - is_doc_comment = true - l.PhpDocComment = "" - } - - c = l.Next() - for { - if c == -1 { - break; // TODO: Unterminated comment starting line %d - } - - if l.Prev.Rune == '*' && l.Last.Rune == '/' { - c = l.Next() - break; - } - - c = l.Next() - } - - if is_doc_comment { - l.PhpDocComment = string(l.TokenBytes(nil)) - l.addFreeFloating(freefloating.CommentType, l.Token()) - } else { - l.addFreeFloating(freefloating.CommentType, l.Token()) - } - -{OPERATORS} lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) - -\{ l.pushState(PHP); lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) -\} l.popState(); lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])); l.PhpDocComment = "" -\${VAR_NAME} lval.Token(l.createToken(l.Token())); return int(T_VARIABLE) -{VAR_NAME} lval.Token(l.createToken(l.Token())); return int(T_STRING) - --> l.Begin(PROPERTY);lval.Token(l.createToken(l.Token())); return int(T_OBJECT_OPERATOR); -[ \t\n\r]+ l.addFreeFloating(freefloating.WhiteSpaceType, l.Token()) --> lval.Token(l.createToken(l.Token())); return int(T_OBJECT_OPERATOR); -{VAR_NAME} l.Begin(PHP);lval.Token(l.createToken(l.Token())); return int(T_STRING); -. l.ungetChars(1);l.Begin(PHP) - -[\']([^\\\']*(\\(.|\n))*)*[\'] lval.Token(l.createToken(l.Token())); return int(T_CONSTANT_ENCAPSED_STRING); - -` l.Begin(BACKQUOTE); lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) -` l.Begin(PHP); lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) - -[b]?\<\<\<[ \t]*({VAR_NAME}|([']{VAR_NAME}['])|(["]{VAR_NAME}["])){NEW_LINE} - tb := l.Token() - binPrefix := 0 - if tb[0].Rune == 'b' { - binPrefix = 1 - } - - lblFirst := 3 + binPrefix - lblLast := len(tb)-2 - if tb[lblLast].Rune == '\r' { - lblLast-- - } - - for { - if tb[lblFirst].Rune == ' ' || tb[lblFirst].Rune == '\t' { - lblFirst++ - continue - } - - break - } - - heredocToken := make([]lex.Char, lblLast - lblFirst + 1) - copy(heredocToken, tb[lblFirst:lblLast+1]) - - switch tb[lblFirst].Rune { - case '\'' : - lblFirst++ - lblLast-- - l.Begin(NOWDOC) - case '"' : - lblFirst++ - lblLast-- - l.Begin(HEREDOC) - default: - l.Begin(HEREDOC) - } - - l.heredocLabel = l.tokenString(tb[lblFirst:lblLast+1]) - - ungetCnt := len(l.heredocLabel) - searchLabelAhead := []byte{} - for i := 0; i < len(l.heredocLabel); i++ { - if c == -1 { - break; - } - searchLabelAhead = append(searchLabelAhead, byte(rune(c))) - c = l.Next() - } - - if l.heredocLabel == string(searchLabelAhead) && ';' == rune(c) { - ungetCnt++ - c = l.Next() - if '\n' == rune(c) || '\r' == rune(c) { - l.Begin(HEREDOC_END) - } - } - - l.ungetChars(ungetCnt) - - lval.Token(l.createToken(heredocToken)); - return int(T_START_HEREDOC) - -.|[ \t\n\r] - searchLabel := []byte{} - tb := []lex.Char{} - - for { - if c == -1 { - break; - } - - if '\n' == rune(c) || '\r' == rune(c) { - if l.heredocLabel + ";" == string(searchLabel) { - l.Begin(HEREDOC_END) - tb = l.ungetChars(len(l.heredocLabel)+1) - tb = tb[:len(tb)-1] - break; - } - - if l.heredocLabel == string(searchLabel) { - l.Begin(HEREDOC_END) - tb = l.ungetChars(len(l.heredocLabel)) - tb = tb[:len(tb)-1] - break; - } - - searchLabel = []byte{} - } else { - searchLabel = append(searchLabel, byte(rune(c))) - } - - c = l.Next() - } - - lval.Token(l.createToken(tb) ) - return int(T_ENCAPSED_AND_WHITESPACE) - -{VAR_NAME}\; l.Begin(PHP);lval.Token(l.createToken(l.ungetChars(1))); return int(T_END_HEREDOC) -{VAR_NAME} l.Begin(PHP);lval.Token(l.createToken(l.Token())); return int(T_END_HEREDOC) - -[b]?[\"] - binPrefix := l.Token()[0].Rune == 'b' - - beginString := func() int { - cnt := 1; if (binPrefix) {cnt = 2} - - l.ungetChars(len(l.Token())-cnt) - chars := l.Token()[:cnt] - l.pushState(STRING) - - lval.Token(l.createToken(chars)); return Rune2Class('"') - } - - F:for { - if c == -1 { - break; - } - - switch c { - case '"' : - c = l.Next(); - lval.Token(l.createToken(l.Token())); return int(T_CONSTANT_ENCAPSED_STRING) - break F; - - case '$': - c = l.Next(); - if rune(c) == '{' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c >= '\u007f' && c <= 'ÿ' { - return beginString() - break F; - } - l.ungetChars(0) - - case '{': - c = l.Next(); - if rune(c) == '$' { - return beginString() - break F; - } - l.ungetChars(0) - - case '\\': - c = l.Next(); - } - - c = l.Next() - } - -\" l.popState(); lval.Token(l.createToken(l.Token())); return Rune2Class(l.Token()[0].Rune) -\{\$ lval.Token(l.createToken(l.ungetChars(1))); l.pushState(PHP); return int(T_CURLY_OPEN) -\$\{ l.pushState(STRING_VAR_NAME); lval.Token(l.createToken(l.Token())); return int(T_DOLLAR_OPEN_CURLY_BRACES) -\${VAR_NAME} l.ungetChars(len(l.Token()));l.pushState(STRING_VAR) -.|[ \t\n\r] - currentChar := l.Prev - tb := []lex.Char{currentChar} - for { - switch currentChar.Rune { - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '\\': - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next(); - } - - if rune(c) == '"' { - lval.Token(l.createToken(l.Token())); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() - - if c == -1 { - break; - } - } - -.|[ \t\n\r] - currentChar := l.Prev - tb := []lex.Char{currentChar} - - for { - switch currentChar.Rune { - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '\\': - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next(); - } - - if rune(c) == '`' { - lval.Token(l.createToken(l.Token())); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() - - if c == -1 { - break; - } - } - -.|[ \t\n\r] - searchLabel := []byte{} - currentChar := l.Prev - tb := []lex.Char{currentChar} - - HEREDOC_FOR:for { - nls := 0 - - switch currentChar.Rune { - case '\r': - - if c == '\n' { - nls = 1 - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next(); - } - - fallthrough - - case '\n': - if l.heredocLabel + ";" == string(searchLabel) { - l.Begin(HEREDOC_END) - l.ungetChars(len(l.heredocLabel)+1+nls) - - i := len(tb) - len(l.heredocLabel) - 3 - nls - if i < 1 { - break HEREDOC_FOR; - } - tb = tb[:i] - - lval.Token(l.createToken(tb)); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - if l.heredocLabel == string(searchLabel) { - l.Begin(HEREDOC_END) - l.ungetChars(len(l.heredocLabel)+nls) - - i := len(tb) - len(l.heredocLabel) - 2 - nls - if i < 1 { - break HEREDOC_FOR; - } - tb = tb[:i] - - lval.Token(l.createToken(tb)); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - searchLabel = []byte{} - - case '$': - if c == '{' || isValidFirstVarNameRune(rune(c)) { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '{': - if rune(c) == '$' { - l.ungetChars(1) - lval.Token(l.createToken(tb[:len(tb)-1])); - return int(T_ENCAPSED_AND_WHITESPACE) - } - - case '\\': - if c != '\n' && c != '\r' { - currentChar := l.Last - tb = append(tb, currentChar) - c = l.Next(); - } - - default: - searchLabel = append(searchLabel, byte(rune(currentChar.Rune))) - } - - if c == -1 { - break; - } - - currentChar = l.Last - tb = append(tb, currentChar) - c = l.Next() - - } - -\${VAR_NAME} lval.Token(l.createToken(l.Token())); return int(T_VARIABLE) -->{VAR_NAME} lval.Token(l.createToken(l.ungetChars(len(l.Token())-2))); return int(T_OBJECT_OPERATOR) -{VAR_NAME} l.popState();lval.Token(l.createToken(l.Token())); return int(T_STRING) -\[ l.pushState(STRING_VAR_INDEX);lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) -.|[ \t\n\r] l.ungetChars(1);l.popState() - -{LNUM}|{HNUM}|{BNUM} lval.Token(l.createToken(l.Token())); return int(T_NUM_STRING) -\${VAR_NAME} lval.Token(l.createToken(l.Token())); return int(T_VARIABLE) -{VAR_NAME} lval.Token(l.createToken(l.Token())); return int(T_STRING) -\] l.popState(); l.popState();lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) -[ \n\r\t\\'#] l.popState(); l.popState();lval.Token(l.createToken(l.Token())); return int(T_ENCAPSED_AND_WHITESPACE) -{OPERATORS} lval.Token(l.createToken(l.Token())); return Rune2Class(rune(l.TokenBytes(nil)[0])) -{ANY_CHAR} l.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", l.TokenBytes(nil)[0], l.TokenBytes(nil)[0]));l.Abort(); - -{VAR_NAME}[\[\}] l.popState();l.pushState(PHP);lval.Token(l.createToken(l.ungetChars(1))); return int(T_STRING_VARNAME) -. l.ungetChars(1);l.popState();l.pushState(PHP) - -.|[ \t\n\r] l.addFreeFloating(freefloating.TokenType, l.Token()) - -{ANY_CHAR} l.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", l.TokenBytes(nil)[0], l.TokenBytes(nil)[0]));l.Abort(); - -%% - if _, ok := l.Abort(); ok { - // always return same $end token - if l.lastToken == nil { - l.lastToken = l.createToken(l.Token()) - } - lval.Token(l.lastToken); - return -1 - } - goto yyAction -} diff --git a/scanner/scanner.rl b/scanner/scanner.rl new file mode 100644 index 0000000..c3ef799 --- /dev/null +++ b/scanner/scanner.rl @@ -0,0 +1,476 @@ +package scanner + +import ( + "fmt" + + "github.com/z7zmey/php-parser/freefloating" +) + +%%{ + machine lexer; + write data; + access lex.; + variable p lex.p; + variable pe lex.pe; +}%% + +func NewLexer(data []byte) *Lexer { + lex := &Lexer{ + data: data, + pe: len(data), + stack: make([]int, 0), + + TokenPool: &TokenPool{}, + NewLines: NewLines{make([]int, 0, 128)}, + } + %% write init; + return lex +} + +func (lex *Lexer) Lex(lval Lval) int { + lex.FreeFloating = nil + eof := lex.pe + var tok TokenID + + lblStart := 0 + lblEnd := 0 + + _, _ = lblStart, lblEnd + + %%{ + action heredoc_lbl_start {lblStart = lex.p} + action heredoc_lbl_end {lblEnd = lex.p} + + action is_not_heredoc_end { lex.isNotHeredocEnd(lex.p) } + action is_not_comment_end { lex.isNotPhpCloseToken() && lex.isNotNewLine() } + action is_not_heredoc_end_or_var { lex.isNotHeredocEnd(lex.p) && lex.isNotStringVar() } + action is_not_string_end_or_var { lex.isNotStringEnd('"') && lex.isNotStringVar() } + action is_not_backqoute_end_or_var { lex.isNotStringEnd('`') && lex.isNotStringVar() } + + newline = ('\r\n' >(nl, 1) | '\r' >(nl, 0) | '\n' >(nl, 0)) %{lex.NewLines.Append(lex.p);}; + any_line = any | newline; + whitespace = [\t\v\f ]; + whitespace_line = [\t\v\f ] | newline; + + lnum = [0-9]+; + dnum = ( [0-9]* "." [0-9]+ ) | ( [0-9]+ "." [0-9]* ); + hnum = '0x' [0-9a-fA-F]+; + bnum = '0b' [01]+; + + exponent_dnum = (lnum | dnum) ('e'|'E') ('+'|'-')? lnum; + varname = /[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/; + varname_first = /[a-zA-Z_\x7f-\xff]/; + heredoc_label = varname >heredoc_lbl_start %heredoc_lbl_end; + operators = ';'|':'|','|'.'|'['|']'|'('|')'|'|'|'/'|'^'|'&'|'+'|'-'|'*'|'='|'%'|'!'|'~'|'$'|'<'|'>'|'?'|'@'; + + prepush { lex.growCallStack(); } + + constant_string = + start: ( + "'" -> qoute + | "b"i? '"' -> double_qoute + ), + qoute: ( + (any - [\\'\r\n]) -> qoute + | "\r" @{if lex.p+1 != eof && lex.data[lex.p+1] != '\n' {lex.NewLines.Append(lex.p)}} -> qoute + | "\n" @{lex.NewLines.Append(lex.p)} -> qoute + | "\\" -> qoute_any + | "'" -> final + ), + qoute_any: ( + any_line -> qoute + ), + double_qoute: ( + (any - [\\"${\r\n]) -> double_qoute + | "\r" @{if lex.p+1 != eof && lex.data[lex.p+1] != '\n' {lex.NewLines.Append(lex.p)}} -> double_qoute + | "\n" @{lex.NewLines.Append(lex.p)} -> double_qoute + | "\\" -> double_qoute_any + | '"' -> final + | '$' -> double_qoute_nonvarname + | '{' -> double_qoute_nondollar + ), + double_qoute_any: ( + any_line -> double_qoute + ), + double_qoute_nondollar: ( + '"' -> final + | "\\" -> double_qoute_any + | [^$\\"] -> double_qoute + ), + double_qoute_nonvarname: ( + '"' -> final + | "\\" -> double_qoute_any + | /[^"\\{a-zA-Z_\x7f-\xff]/ -> double_qoute + ); + + main := |* + any_line+ -- ' { + lex.ungetStr("<") + lex.createToken(lval) + tok = T_INLINE_HTML; + fbreak; + }; + ' { + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te) + fnext php; + }; + ' { + lex.ungetCnt(lex.te - lex.ts - 5) + lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.ts+5) + fnext php; + }; + ' { + lex.createToken(lval); + tok = T_ECHO; + fnext php; + fbreak; + }; + *|; + + php := |* + whitespace_line* => {lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te)}; + '?>' newline? => {lex.createToken(lval); tok = TokenID(int(';')); fnext main; fbreak;}; + ';' whitespace_line* '?>' newline? => {lex.createToken(lval); tok = TokenID(int(';')); fnext main; fbreak;}; + + (dnum | exponent_dnum) => {lex.createToken(lval); tok = T_DNUMBER; fbreak;}; + bnum => { + firstNum := 2 + for i := lex.ts + 2; i < lex.te; i++ { + if lex.data[i] == '0' { + firstNum++ + } + } + + if lex.te - lex.ts - firstNum < 64 { + lex.createToken(lval); tok = T_LNUMBER; fbreak; + } + lex.createToken(lval); tok = T_DNUMBER; fbreak; + }; + lnum => { + if lex.te - lex.ts < 20 { + lex.createToken(lval); tok = T_LNUMBER; fbreak; + } + lex.createToken(lval); tok = T_DNUMBER; fbreak; + }; + hnum => { + firstNum := lex.ts + 2 + for i := lex.ts + 2; i < lex.te; i++ { + if lex.data[i] == '0' { + firstNum++ + } + } + + length := lex.te - firstNum + if length < 16 || (length == 16 && lex.data[firstNum] <= '7') { + lex.createToken(lval); tok = T_LNUMBER; fbreak; + } + lex.createToken(lval); tok = T_DNUMBER; fbreak; + }; + + 'abstract'i => {lex.createToken(lval); tok = T_ABSTRACT; fbreak;}; + 'array'i => {lex.createToken(lval); tok = T_ARRAY; fbreak;}; + 'as'i => {lex.createToken(lval); tok = T_AS; fbreak;}; + 'break'i => {lex.createToken(lval); tok = T_BREAK; fbreak;}; + 'callable'i => {lex.createToken(lval); tok = T_CALLABLE; fbreak;}; + 'case'i => {lex.createToken(lval); tok = T_CASE; fbreak;}; + 'catch'i => {lex.createToken(lval); tok = T_CATCH; fbreak;}; + 'class'i => {lex.createToken(lval); tok = T_CLASS; fbreak;}; + 'clone'i => {lex.createToken(lval); tok = T_CLONE; fbreak;}; + 'const'i => {lex.createToken(lval); tok = T_CONST; fbreak;}; + 'continue'i => {lex.createToken(lval); tok = T_CONTINUE; fbreak;}; + 'declare'i => {lex.createToken(lval); tok = T_DECLARE; fbreak;}; + 'default'i => {lex.createToken(lval); tok = T_DEFAULT; fbreak;}; + 'do'i => {lex.createToken(lval); tok = T_DO; fbreak;}; + 'echo'i => {lex.createToken(lval); tok = T_ECHO; fbreak;}; + 'else'i => {lex.createToken(lval); tok = T_ELSE; fbreak;}; + 'elseif'i => {lex.createToken(lval); tok = T_ELSEIF; fbreak;}; + 'empty'i => {lex.createToken(lval); tok = T_EMPTY; fbreak;}; + 'enddeclare'i => {lex.createToken(lval); tok = T_ENDDECLARE; fbreak;}; + 'endfor'i => {lex.createToken(lval); tok = T_ENDFOR; fbreak;}; + 'endforeach'i => {lex.createToken(lval); tok = T_ENDFOREACH; fbreak;}; + 'endif'i => {lex.createToken(lval); tok = T_ENDIF; fbreak;}; + 'endswitch'i => {lex.createToken(lval); tok = T_ENDSWITCH; fbreak;}; + 'endwhile'i => {lex.createToken(lval); tok = T_ENDWHILE; fbreak;}; + 'eval'i => {lex.createToken(lval); tok = T_EVAL; fbreak;}; + 'exit'i | 'die'i => {lex.createToken(lval); tok = T_EXIT; fbreak;}; + 'extends'i => {lex.createToken(lval); tok = T_EXTENDS; fbreak;}; + 'final'i => {lex.createToken(lval); tok = T_FINAL; fbreak;}; + 'finally'i => {lex.createToken(lval); tok = T_FINALLY; fbreak;}; + 'for'i => {lex.createToken(lval); tok = T_FOR; fbreak;}; + 'foreach'i => {lex.createToken(lval); tok = T_FOREACH; fbreak;}; + 'function'i | 'cfunction'i => {lex.createToken(lval); tok = T_FUNCTION; fbreak;}; + 'global'i => {lex.createToken(lval); tok = T_GLOBAL; fbreak;}; + 'goto'i => {lex.createToken(lval); tok = T_GOTO; fbreak;}; + 'if'i => {lex.createToken(lval); tok = T_IF; fbreak;}; + 'isset'i => {lex.createToken(lval); tok = T_ISSET; fbreak;}; + 'implements'i => {lex.createToken(lval); tok = T_IMPLEMENTS; fbreak;}; + 'instanceof'i => {lex.createToken(lval); tok = T_INSTANCEOF; fbreak;}; + 'insteadof'i => {lex.createToken(lval); tok = T_INSTEADOF; fbreak;}; + 'interface'i => {lex.createToken(lval); tok = T_INTERFACE; fbreak;}; + 'list'i => {lex.createToken(lval); tok = T_LIST; fbreak;}; + 'namespace'i => {lex.createToken(lval); tok = T_NAMESPACE; fbreak;}; + 'private'i => {lex.createToken(lval); tok = T_PRIVATE; fbreak;}; + 'public'i => {lex.createToken(lval); tok = T_PUBLIC; fbreak;}; + 'print'i => {lex.createToken(lval); tok = T_PRINT; fbreak;}; + 'protected'i => {lex.createToken(lval); tok = T_PROTECTED; fbreak;}; + 'return'i => {lex.createToken(lval); tok = T_RETURN; fbreak;}; + 'static'i => {lex.createToken(lval); tok = T_STATIC; fbreak;}; + 'switch'i => {lex.createToken(lval); tok = T_SWITCH; fbreak;}; + 'throw'i => {lex.createToken(lval); tok = T_THROW; fbreak;}; + 'trait'i => {lex.createToken(lval); tok = T_TRAIT; fbreak;}; + 'try'i => {lex.createToken(lval); tok = T_TRY; fbreak;}; + 'unset'i => {lex.createToken(lval); tok = T_UNSET; fbreak;}; + 'use'i => {lex.createToken(lval); tok = T_USE; fbreak;}; + 'var'i => {lex.createToken(lval); tok = T_VAR; fbreak;}; + 'while'i => {lex.createToken(lval); tok = T_WHILE; fbreak;}; + 'yield'i whitespace_line* 'from'i => {lex.createToken(lval); tok = T_YIELD_FROM; fbreak;}; + 'yield'i => {lex.createToken(lval); tok = T_YIELD; fbreak;}; + 'include'i => {lex.createToken(lval); tok = T_INCLUDE; fbreak;}; + 'include_once'i => {lex.createToken(lval); tok = T_INCLUDE_ONCE; fbreak;}; + 'require'i => {lex.createToken(lval); tok = T_REQUIRE; fbreak;}; + 'require_once'i => {lex.createToken(lval); tok = T_REQUIRE_ONCE; fbreak;}; + '__CLASS__'i => {lex.createToken(lval); tok = T_CLASS_C; fbreak;}; + '__DIR__'i => {lex.createToken(lval); tok = T_DIR; fbreak;}; + '__FILE__'i => {lex.createToken(lval); tok = T_FILE; fbreak;}; + '__FUNCTION__'i => {lex.createToken(lval); tok = T_FUNC_C; fbreak;}; + '__LINE__'i => {lex.createToken(lval); tok = T_LINE; fbreak;}; + '__NAMESPACE__'i => {lex.createToken(lval); tok = T_NS_C; fbreak;}; + '__METHOD__'i => {lex.createToken(lval); tok = T_METHOD_C; fbreak;}; + '__TRAIT__'i => {lex.createToken(lval); tok = T_TRAIT_C; fbreak;}; + '__halt_compiler'i => {lex.createToken(lval); tok = T_HALT_COMPILER; fnext halt_compiller_open_parenthesis; fbreak;}; + 'new'i => {lex.createToken(lval); tok = T_NEW; fbreak;}; + 'and'i => {lex.createToken(lval); tok = T_LOGICAL_AND; fbreak;}; + 'or'i => {lex.createToken(lval); tok = T_LOGICAL_OR; fbreak;}; + 'xor'i => {lex.createToken(lval); tok = T_LOGICAL_XOR; fbreak;}; + '\\' => {lex.createToken(lval); tok = T_NS_SEPARATOR; fbreak;}; + '...' => {lex.createToken(lval); tok = T_ELLIPSIS; fbreak;}; + '::' => {lex.createToken(lval); tok = T_PAAMAYIM_NEKUDOTAYIM; fbreak;}; + '&&' => {lex.createToken(lval); tok = T_BOOLEAN_AND; fbreak;}; + '||' => {lex.createToken(lval); tok = T_BOOLEAN_OR; fbreak;}; + '&=' => {lex.createToken(lval); tok = T_AND_EQUAL; fbreak;}; + '|=' => {lex.createToken(lval); tok = T_OR_EQUAL; fbreak;}; + '.=' => {lex.createToken(lval); tok = T_CONCAT_EQUAL; fbreak;}; + '*=' => {lex.createToken(lval); tok = T_MUL_EQUAL; fbreak;}; + '**=' => {lex.createToken(lval); tok = T_POW_EQUAL; fbreak;}; + '/=' => {lex.createToken(lval); tok = T_DIV_EQUAL; fbreak;}; + '+=' => {lex.createToken(lval); tok = T_PLUS_EQUAL; fbreak;}; + '-=' => {lex.createToken(lval); tok = T_MINUS_EQUAL; fbreak;}; + '^=' => {lex.createToken(lval); tok = T_XOR_EQUAL; fbreak;}; + '%=' => {lex.createToken(lval); tok = T_MOD_EQUAL; fbreak;}; + '--' => {lex.createToken(lval); tok = T_DEC; fbreak;}; + '++' => {lex.createToken(lval); tok = T_INC; fbreak;}; + '=>' => {lex.createToken(lval); tok = T_DOUBLE_ARROW; fbreak;}; + '<=>' => {lex.createToken(lval); tok = T_SPACESHIP; fbreak;}; + '!=' | '<>' => {lex.createToken(lval); tok = T_IS_NOT_EQUAL; fbreak;}; + '!==' => {lex.createToken(lval); tok = T_IS_NOT_IDENTICAL; fbreak;}; + '==' => {lex.createToken(lval); tok = T_IS_EQUAL; fbreak;}; + '===' => {lex.createToken(lval); tok = T_IS_IDENTICAL; fbreak;}; + '<<=' => {lex.createToken(lval); tok = T_SL_EQUAL; fbreak;}; + '>>=' => {lex.createToken(lval); tok = T_SR_EQUAL; fbreak;}; + '>=' => {lex.createToken(lval); tok = T_IS_GREATER_OR_EQUAL; fbreak;}; + '<=' => {lex.createToken(lval); tok = T_IS_SMALLER_OR_EQUAL; fbreak;}; + '**' => {lex.createToken(lval); tok = T_POW; fbreak;}; + '<<' => {lex.createToken(lval); tok = T_SL; fbreak;}; + '>>' => {lex.createToken(lval); tok = T_SR; fbreak;}; + '??' => {lex.createToken(lval); tok = T_COALESCE; fbreak;}; + + '(' whitespace* 'array'i whitespace* ')' => {lex.createToken(lval); tok = T_ARRAY_CAST; fbreak;}; + '(' whitespace* ('bool'i|'boolean'i) whitespace* ')' => {lex.createToken(lval); tok = T_BOOL_CAST; fbreak;}; + '(' whitespace* ('real'i|'double'i|'float'i) whitespace* ')' => {lex.createToken(lval); tok = T_DOUBLE_CAST; fbreak;}; + '(' whitespace* ('int'i|'integer'i) whitespace* ')' => {lex.createToken(lval); tok = T_INT_CAST; fbreak;}; + '(' whitespace* 'object'i whitespace* ')' => {lex.createToken(lval); tok = T_OBJECT_CAST; fbreak;}; + '(' whitespace* ('string'i|'binary'i) whitespace* ')' => {lex.createToken(lval); tok = T_STRING_CAST; fbreak;}; + '(' whitespace* 'unset'i whitespace* ')' => {lex.createToken(lval); tok = T_UNSET_CAST; fbreak;}; + + ('#' | '//') any_line* when is_not_comment_end => { + lex.ungetStr("?>") + lex.addFreeFloating(freefloating.CommentType, lex.ts, lex.te) + }; + '/*' any_line* :>> '*/' { + isDocComment := false; + if lex.te - lex.ts > 4 && string(lex.data[lex.ts:lex.ts+3]) == "/**" { + isDocComment = true; + } + lex.addFreeFloating(freefloating.CommentType, lex.ts, lex.te) + + if isDocComment { + lex.PhpDocComment = string(lex.data[lex.ts:lex.te]) + } + }; + + operators => { + // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); + // tok = TokenID(Rune2Class(rune)); + lex.createToken(lval); + tok = TokenID(int(lex.data[lex.ts])); + fbreak; + }; + + "{" => { lex.createToken(lval); tok = TokenID(int('{')); lex.call(ftargs, fentry(php)); goto _out; }; + "}" => { lex.createToken(lval); tok = TokenID(int('}')); lex.ret(1); lex.PhpDocComment = ""; goto _out;}; + "$" varname => { lex.createToken(lval); tok = T_VARIABLE; fbreak; }; + varname => { lex.createToken(lval); tok = T_STRING; fbreak; }; + + "->" => { lex.createToken(lval); tok = T_OBJECT_OPERATOR; fnext property; fbreak; }; + + constant_string => { + lex.createToken(lval); + tok = T_CONSTANT_ENCAPSED_STRING; + fbreak; + }; + + "b"i? "<<<" [ \t]* ( heredoc_label | ("'" heredoc_label "'") | ('"' heredoc_label '"') ) newline => { + lex.heredocLabel = lex.data[lblStart:lblEnd] + lex.createToken(lval); + tok = T_START_HEREDOC; + + if lex.isHeredocEnd(lex.p+1) { + fnext heredoc_end; + } else if lex.data[lblStart-1] == '\'' { + fnext nowdoc; + } else { + fnext heredoc; + } + fbreak; + }; + "`" => {lex.createToken(lval); tok = TokenID(int('`')); fnext backqote; fbreak;}; + '"' => {lex.createToken(lval); tok = TokenID(int('"')); fnext template_string; fbreak;}; + + any_line => { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); + }; + *|; + + property := |* + whitespace_line* => {lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te)}; + "->" => {lex.createToken(lval); tok = T_OBJECT_OPERATOR; fbreak;}; + varname => {lex.createToken(lval); tok = T_STRING; fnext php; fbreak;}; + any => {lex.ungetCnt(1); fgoto php;}; + *|; + + nowdoc := |* + any_line* when is_not_heredoc_end => { + lex.createToken(lval); + tok = T_ENCAPSED_AND_WHITESPACE; + fnext heredoc_end; + fbreak; + }; + *|; + + heredoc := |* + "{$" => {lex.ungetCnt(1); lex.createToken(lval); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.createToken(lval); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "$" => {lex.ungetCnt(1); fcall string_var;}; + any_line* when is_not_heredoc_end_or_var => { + lex.createToken(lval); + tok = T_ENCAPSED_AND_WHITESPACE; + + if lex.data[lex.p+1] != '$' && lex.data[lex.p+1] != '{' { + fnext heredoc_end; + } + fbreak; + }; + *|; + + backqote := |* + "{$" => {lex.ungetCnt(1); lex.createToken(lval); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.createToken(lval); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "$" => {lex.ungetCnt(1); fcall string_var;}; + '`' => {lex.createToken(lval); tok = TokenID(int('`')); fnext php; fbreak;}; + any_line* when is_not_backqoute_end_or_var => { + lex.createToken(lval); + tok = T_ENCAPSED_AND_WHITESPACE; + fbreak; + }; + *|; + + template_string := |* + "{$" => {lex.ungetCnt(1); lex.createToken(lval); tok = T_CURLY_OPEN; lex.call(ftargs, fentry(php)); goto _out;}; + "${" => {lex.createToken(lval); tok = T_DOLLAR_OPEN_CURLY_BRACES; lex.call(ftargs, fentry(string_var_name)); goto _out;}; + "$" => {lex.ungetCnt(1); fcall string_var;}; + '"' => {lex.createToken(lval); tok = TokenID(int('"')); fnext php; fbreak;}; + any_line* when is_not_string_end_or_var => { + lex.createToken(lval); + tok = T_ENCAPSED_AND_WHITESPACE; + fbreak; + }; + *|; + + heredoc_end := |* + varname -- ";" => { + lex.createToken(lval); + tok = T_END_HEREDOC; + fnext php; + fbreak; + }; + varname => { + lex.createToken(lval); + tok = T_END_HEREDOC; + fnext php; + fbreak; + }; + *|; + + string_var := |* + '$' varname => {lex.createToken(lval); tok = T_VARIABLE; fbreak;}; + '->' varname_first => {lex.ungetCnt(1); lex.createToken(lval); tok = T_OBJECT_OPERATOR; fbreak;}; + varname => {lex.createToken(lval); tok = T_STRING; fbreak;}; + '[' => {lex.createToken(lval); tok = TokenID(int('[')); lex.call(ftargs, fentry(string_var_index)); goto _out;}; + any => {lex.ungetCnt(1); fret;}; + *|; + + string_var_index := |* + lnum | hnum | bnum => {lex.createToken(lval); tok = T_NUM_STRING; fbreak;}; + '$' varname => {lex.createToken(lval); tok = T_VARIABLE; fbreak;}; + varname => {lex.createToken(lval); tok = T_STRING; fbreak;}; + whitespace_line | [\\'#] => {lex.createToken(lval); tok = T_ENCAPSED_AND_WHITESPACE; lex.ret(2); goto _out;}; + operators > (svi, 1) => {lex.createToken(lval); tok = TokenID(int(lex.data[lex.ts])); fbreak;}; + ']' > (svi, 2) => {lex.createToken(lval); tok = TokenID(int(']')); lex.ret(2); goto _out;}; + any_line => { + c := lex.data[lex.p] + lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); + }; + *|; + + string_var_name := |* + varname ("[" | "}") => {lex.ungetCnt(1); lex.createToken(lval); tok = T_STRING_VARNAME; fnext php; fbreak;}; + any => {lex.ungetCnt(1); fnext php;}; + *|; + + halt_compiller_open_parenthesis := |* + whitespace_line* => {lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te)}; + "(" => {lex.createToken(lval); tok = TokenID(int('(')); fnext halt_compiller_close_parenthesis; fbreak;}; + any => {lex.ungetCnt(1); fnext php;}; + *|; + + halt_compiller_close_parenthesis := |* + whitespace_line* => {lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te)}; + ")" => {lex.createToken(lval); tok = TokenID(int(')')); fnext halt_compiller_close_semicolon; fbreak;}; + any => {lex.ungetCnt(1); fnext php;}; + *|; + + halt_compiller_close_semicolon := |* + whitespace_line* => {lex.addFreeFloating(freefloating.WhiteSpaceType, lex.ts, lex.te)}; + ";" => {lex.createToken(lval); tok = TokenID(int(';')); fnext halt_compiller_end; fbreak;}; + any => {lex.ungetCnt(1); fnext php;}; + *|; + + halt_compiller_end := |* + any_line* => { lex.addFreeFloating(freefloating.TokenType, lex.ts, lex.te); }; + *|; + + write exec; + }%% + + // always return same $end token + if tok == 0 { + if lex.lastToken == nil { + lex.ts, lex.te = 0, 0 + lex.lastToken = lex.createToken(lval) + } + lval.Token(lex.lastToken); + } + + return int(tok); +} \ No newline at end of file diff --git a/scanner/scanner_test.go b/scanner/scanner_test.go index 68127d1..a1463ec 100644 --- a/scanner/scanner_test.go +++ b/scanner/scanner_test.go @@ -1,20 +1,18 @@ -package scanner_test +package scanner import ( - "bytes" "testing" "github.com/z7zmey/php-parser/freefloating" "github.com/z7zmey/php-parser/position" - "github.com/z7zmey/php-parser/scanner" "gotest.tools/assert" ) type lval struct { - Tkn *scanner.Token + Tkn *Token } -func (lv *lval) Token(t *scanner.Token) { +func (lv *lval) Token(t *Token) { lv.Tkn = t } @@ -214,201 +212,203 @@ func TestTokens(t *testing.T) { ` expected := []string{ - scanner.T_INLINE_HTML.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), - scanner.T_ECHO.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_INLINE_HTML.String(), + TokenID(int(';')).String(), + T_INLINE_HTML.String(), + T_ECHO.String(), + TokenID(int(';')).String(), + T_INLINE_HTML.String(), - scanner.T_DNUMBER.String(), - scanner.T_DNUMBER.String(), - scanner.T_DNUMBER.String(), - scanner.T_DNUMBER.String(), + T_DNUMBER.String(), + T_DNUMBER.String(), + T_DNUMBER.String(), + T_DNUMBER.String(), - scanner.T_LNUMBER.String(), - scanner.T_DNUMBER.String(), + T_LNUMBER.String(), + T_DNUMBER.String(), - scanner.T_LNUMBER.String(), - scanner.T_DNUMBER.String(), + T_LNUMBER.String(), + T_DNUMBER.String(), - scanner.T_LNUMBER.String(), - scanner.T_DNUMBER.String(), + T_LNUMBER.String(), + T_DNUMBER.String(), - scanner.T_ABSTRACT.String(), - scanner.T_ARRAY.String(), - scanner.T_AS.String(), - scanner.T_BREAK.String(), - scanner.T_CALLABLE.String(), - scanner.T_CASE.String(), - scanner.T_CATCH.String(), - scanner.T_CLASS.String(), - scanner.T_CLONE.String(), - scanner.T_CONST.String(), - scanner.T_CONTINUE.String(), - scanner.T_DECLARE.String(), - scanner.T_DEFAULT.String(), - scanner.T_DO.String(), - scanner.T_ECHO.String(), - scanner.T_ELSE.String(), - scanner.T_ELSEIF.String(), - scanner.T_EMPTY.String(), - scanner.T_ENDDECLARE.String(), - scanner.T_ENDFOR.String(), - scanner.T_ENDFOREACH.String(), - scanner.T_ENDIF.String(), - scanner.T_ENDSWITCH.String(), - scanner.T_ENDWHILE.String(), - scanner.T_EVAL.String(), - scanner.T_EXIT.String(), - scanner.T_EXTENDS.String(), - scanner.T_FINAL.String(), - scanner.T_FINALLY.String(), - scanner.T_FOR.String(), - scanner.T_FOREACH.String(), - scanner.T_FUNCTION.String(), - scanner.T_FUNCTION.String(), - scanner.T_GLOBAL.String(), - scanner.T_GOTO.String(), - scanner.T_IF.String(), - scanner.T_ISSET.String(), - scanner.T_IMPLEMENTS.String(), - scanner.T_INSTANCEOF.String(), - scanner.T_INSTEADOF.String(), - scanner.T_INTERFACE.String(), - scanner.T_LIST.String(), - scanner.T_NAMESPACE.String(), - scanner.T_PRIVATE.String(), - scanner.T_PUBLIC.String(), - scanner.T_PRINT.String(), - scanner.T_PROTECTED.String(), - scanner.T_RETURN.String(), - scanner.T_STATIC.String(), - scanner.T_SWITCH.String(), - scanner.T_THROW.String(), - scanner.T_TRAIT.String(), - scanner.T_TRY.String(), - scanner.T_UNSET.String(), - scanner.T_USE.String(), - scanner.T_VAR.String(), - scanner.T_WHILE.String(), - scanner.T_YIELD_FROM.String(), - scanner.T_YIELD.String(), - scanner.T_INCLUDE.String(), - scanner.T_INCLUDE_ONCE.String(), - scanner.T_REQUIRE.String(), - scanner.T_REQUIRE_ONCE.String(), + T_ABSTRACT.String(), + T_ARRAY.String(), + T_AS.String(), + T_BREAK.String(), + T_CALLABLE.String(), + T_CASE.String(), + T_CATCH.String(), + T_CLASS.String(), + T_CLONE.String(), + T_CONST.String(), + T_CONTINUE.String(), + T_DECLARE.String(), + T_DEFAULT.String(), + T_DO.String(), + T_ECHO.String(), + T_ELSE.String(), + T_ELSEIF.String(), + T_EMPTY.String(), + T_ENDDECLARE.String(), + T_ENDFOR.String(), + T_ENDFOREACH.String(), + T_ENDIF.String(), + T_ENDSWITCH.String(), + T_ENDWHILE.String(), + T_EVAL.String(), + T_EXIT.String(), + T_EXTENDS.String(), + T_FINAL.String(), + T_FINALLY.String(), + T_FOR.String(), + T_FOREACH.String(), + T_FUNCTION.String(), + T_FUNCTION.String(), + T_GLOBAL.String(), + T_GOTO.String(), + T_IF.String(), + T_ISSET.String(), + T_IMPLEMENTS.String(), + T_INSTANCEOF.String(), + T_INSTEADOF.String(), + T_INTERFACE.String(), + T_LIST.String(), + T_NAMESPACE.String(), + T_PRIVATE.String(), + T_PUBLIC.String(), + T_PRINT.String(), + T_PROTECTED.String(), + T_RETURN.String(), + T_STATIC.String(), + T_SWITCH.String(), + T_THROW.String(), + T_TRAIT.String(), + T_TRY.String(), + T_UNSET.String(), + T_USE.String(), + T_VAR.String(), + T_WHILE.String(), + T_YIELD_FROM.String(), + T_YIELD.String(), + T_INCLUDE.String(), + T_INCLUDE_ONCE.String(), + T_REQUIRE.String(), + T_REQUIRE_ONCE.String(), - scanner.T_CLASS_C.String(), - scanner.T_DIR.String(), - scanner.T_FILE.String(), - scanner.T_FUNC_C.String(), - scanner.T_LINE.String(), - scanner.T_NS_C.String(), - scanner.T_METHOD_C.String(), - scanner.T_TRAIT_C.String(), - scanner.T_HALT_COMPILER.String(), + T_CLASS_C.String(), + T_DIR.String(), + T_FILE.String(), + T_FUNC_C.String(), + T_LINE.String(), + T_NS_C.String(), + T_METHOD_C.String(), + T_TRAIT_C.String(), + T_HALT_COMPILER.String(), - scanner.T_NEW.String(), - scanner.T_LOGICAL_AND.String(), - scanner.T_LOGICAL_OR.String(), - scanner.T_LOGICAL_XOR.String(), + T_NEW.String(), + T_LOGICAL_AND.String(), + T_LOGICAL_OR.String(), + T_LOGICAL_XOR.String(), - scanner.T_NS_SEPARATOR.String(), - scanner.T_ELLIPSIS.String(), - scanner.T_PAAMAYIM_NEKUDOTAYIM.String(), - scanner.T_BOOLEAN_AND.String(), - scanner.T_BOOLEAN_OR.String(), - scanner.T_AND_EQUAL.String(), - scanner.T_OR_EQUAL.String(), - scanner.T_CONCAT_EQUAL.String(), - scanner.T_MUL_EQUAL.String(), - scanner.T_POW_EQUAL.String(), - scanner.T_DIV_EQUAL.String(), - scanner.T_PLUS_EQUAL.String(), - scanner.T_MINUS_EQUAL.String(), - scanner.T_XOR_EQUAL.String(), - scanner.T_MOD_EQUAL.String(), - scanner.T_DEC.String(), - scanner.T_INC.String(), - scanner.T_DOUBLE_ARROW.String(), - scanner.T_SPACESHIP.String(), - scanner.T_IS_NOT_EQUAL.String(), - scanner.T_IS_NOT_EQUAL.String(), - scanner.T_IS_NOT_IDENTICAL.String(), - scanner.T_IS_EQUAL.String(), - scanner.T_IS_IDENTICAL.String(), - scanner.T_SL_EQUAL.String(), - scanner.T_SR_EQUAL.String(), - scanner.T_IS_GREATER_OR_EQUAL.String(), - scanner.T_IS_SMALLER_OR_EQUAL.String(), - scanner.T_POW.String(), - scanner.T_SL.String(), - scanner.T_SR.String(), - scanner.T_COALESCE.String(), + T_NS_SEPARATOR.String(), + T_ELLIPSIS.String(), + T_PAAMAYIM_NEKUDOTAYIM.String(), + T_BOOLEAN_AND.String(), + T_BOOLEAN_OR.String(), + T_AND_EQUAL.String(), + T_OR_EQUAL.String(), + T_CONCAT_EQUAL.String(), + T_MUL_EQUAL.String(), + T_POW_EQUAL.String(), + T_DIV_EQUAL.String(), + T_PLUS_EQUAL.String(), + T_MINUS_EQUAL.String(), + T_XOR_EQUAL.String(), + T_MOD_EQUAL.String(), + T_DEC.String(), + T_INC.String(), + T_DOUBLE_ARROW.String(), + T_SPACESHIP.String(), + T_IS_NOT_EQUAL.String(), + T_IS_NOT_EQUAL.String(), + T_IS_NOT_IDENTICAL.String(), + T_IS_EQUAL.String(), + T_IS_IDENTICAL.String(), + T_SL_EQUAL.String(), + T_SR_EQUAL.String(), + T_IS_GREATER_OR_EQUAL.String(), + T_IS_SMALLER_OR_EQUAL.String(), + T_POW.String(), + T_SL.String(), + T_SR.String(), + T_COALESCE.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), - scanner.LexerToken(scanner.Rune2Class(':')).String(), - scanner.LexerToken(scanner.Rune2Class(',')).String(), - scanner.LexerToken(scanner.Rune2Class('.')).String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.LexerToken(scanner.Rune2Class('(')).String(), - scanner.LexerToken(scanner.Rune2Class(')')).String(), - scanner.LexerToken(scanner.Rune2Class('|')).String(), - scanner.LexerToken(scanner.Rune2Class('/')).String(), - scanner.LexerToken(scanner.Rune2Class('^')).String(), - scanner.LexerToken(scanner.Rune2Class('&')).String(), - scanner.LexerToken(scanner.Rune2Class('+')).String(), - scanner.LexerToken(scanner.Rune2Class('-')).String(), - scanner.LexerToken(scanner.Rune2Class('*')).String(), - scanner.LexerToken(scanner.Rune2Class('=')).String(), - scanner.LexerToken(scanner.Rune2Class('%')).String(), - scanner.LexerToken(scanner.Rune2Class('!')).String(), - scanner.LexerToken(scanner.Rune2Class('~')).String(), - scanner.LexerToken(scanner.Rune2Class('$')).String(), - scanner.LexerToken(scanner.Rune2Class('<')).String(), - scanner.LexerToken(scanner.Rune2Class('>')).String(), - scanner.LexerToken(scanner.Rune2Class('?')).String(), - scanner.LexerToken(scanner.Rune2Class('@')).String(), - scanner.LexerToken(scanner.Rune2Class('{')).String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), + TokenID(int(';')).String(), + TokenID(int(':')).String(), + TokenID(int(',')).String(), + TokenID(int('.')).String(), + TokenID(int('[')).String(), + TokenID(int(']')).String(), + TokenID(int('(')).String(), + TokenID(int(')')).String(), + TokenID(int('|')).String(), + TokenID(int('/')).String(), + TokenID(int('^')).String(), + TokenID(int('&')).String(), + TokenID(int('+')).String(), + TokenID(int('-')).String(), + TokenID(int('*')).String(), + TokenID(int('=')).String(), + TokenID(int('%')).String(), + TokenID(int('!')).String(), + TokenID(int('~')).String(), + TokenID(int('$')).String(), + TokenID(int('<')).String(), + TokenID(int('>')).String(), + TokenID(int('?')).String(), + TokenID(int('@')).String(), + TokenID(int('{')).String(), + TokenID(int('}')).String(), - scanner.T_VARIABLE.String(), - scanner.T_STRING.String(), + T_VARIABLE.String(), + T_STRING.String(), - scanner.T_OBJECT_OPERATOR.String(), - scanner.T_OBJECT_OPERATOR.String(), - scanner.T_STRING.String(), + T_OBJECT_OPERATOR.String(), + T_OBJECT_OPERATOR.String(), + T_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_ARRAY_CAST.String(), - scanner.T_BOOL_CAST.String(), - scanner.T_BOOL_CAST.String(), - scanner.T_DOUBLE_CAST.String(), - scanner.T_DOUBLE_CAST.String(), - scanner.T_DOUBLE_CAST.String(), - scanner.T_INT_CAST.String(), - scanner.T_INT_CAST.String(), - scanner.T_OBJECT_CAST.String(), - scanner.T_STRING_CAST.String(), - scanner.T_STRING_CAST.String(), - scanner.T_UNSET_CAST.String(), + T_ARRAY_CAST.String(), + T_BOOL_CAST.String(), + T_BOOL_CAST.String(), + T_DOUBLE_CAST.String(), + T_DOUBLE_CAST.String(), + T_DOUBLE_CAST.String(), + T_INT_CAST.String(), + T_INT_CAST.String(), + T_OBJECT_CAST.String(), + T_STRING_CAST.String(), + T_STRING_CAST.String(), + T_UNSET_CAST.String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -436,26 +436,26 @@ func TestSingleQuoteStringTokens(t *testing.T) { ` expected := []string{ - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), + T_CONSTANT_ENCAPSED_STRING.String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -479,72 +479,72 @@ func TestTeplateStringTokens(t *testing.T) { ` expected := []string{ - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_DOLLAR_OPEN_CURLY_BRACES.String(), - scanner.T_STRING_VARNAME.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_DOLLAR_OPEN_CURLY_BRACES.String(), + T_STRING_VARNAME.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('"')).String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('"')).String(), + TokenID(int('"')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('"')).String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -565,72 +565,72 @@ func TestBackquoteStringTokens(t *testing.T) { ` expected := []string{ - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_DOLLAR_OPEN_CURLY_BRACES.String(), - scanner.T_STRING_VARNAME.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_DOLLAR_OPEN_CURLY_BRACES.String(), + T_STRING_VARNAME.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('`')).String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('`')).String(), + TokenID(int('`')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('`')).String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -661,71 +661,71 @@ CAT; ` expected := []string{ - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_OBJECT_OPERATOR.String(), - scanner.T_STRING.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_NUM_STRING.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_NUM_STRING.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_NUM_STRING.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_STRING.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_DOLLAR_OPEN_CURLY_BRACES.String(), - scanner.T_STRING_VARNAME.String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_OBJECT_OPERATOR.String(), + T_STRING.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_NUM_STRING.String(), + TokenID(int(']')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_NUM_STRING.String(), + TokenID(int(']')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_NUM_STRING.String(), + TokenID(int(']')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_STRING.String(), + TokenID(int(']')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_VARIABLE.String(), + TokenID(int(']')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_DOLLAR_OPEN_CURLY_BRACES.String(), + T_STRING_VARNAME.String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -755,49 +755,51 @@ CAT ` expected := []string{ - scanner.T_START_HEREDOC.String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_VARIABLE.String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), - scanner.T_START_HEREDOC.String(), - scanner.T_VARIABLE.String(), - scanner.T_VARIABLE.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_END_HEREDOC.String(), + T_START_HEREDOC.String(), + T_VARIABLE.String(), + T_VARIABLE.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -813,30 +815,31 @@ CAT; expected := []string{ - scanner.T_START_HEREDOC.String(), - scanner.T_ENCAPSED_AND_WHITESPACE.String(), - scanner.T_CURLY_OPEN.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class('[')).String(), - scanner.T_CONSTANT_ENCAPSED_STRING.String(), - scanner.LexerToken(scanner.Rune2Class(']')).String(), - scanner.LexerToken(scanner.Rune2Class('}')).String(), - scanner.T_END_HEREDOC.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), + T_START_HEREDOC.String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_CURLY_OPEN.String(), + T_VARIABLE.String(), + TokenID(int('[')).String(), + T_CONSTANT_ENCAPSED_STRING.String(), + TokenID(int(']')).String(), + TokenID(int('}')).String(), + T_ENCAPSED_AND_WHITESPACE.String(), + T_END_HEREDOC.String(), + TokenID(int(';')).String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -849,27 +852,27 @@ func TestInlineHtmlNopTokens(t *testing.T) { ` expected := []string{ - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), - scanner.T_INLINE_HTML.String(), + T_VARIABLE.String(), + TokenID(int(';')).String(), + T_INLINE_HTML.String(), - scanner.T_VARIABLE.String(), - scanner.LexerToken(scanner.Rune2Class(';')).String(), - scanner.T_INLINE_HTML.String(), + T_VARIABLE.String(), + TokenID(int(';')).String(), + T_INLINE_HTML.String(), } - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} actual := []string{} for { token := lexer.Lex(lv) - if token < 0 { + if token == 0 { break } - actual = append(actual, scanner.LexerToken(token).String()) + actual = append(actual, TokenID(token).String()) } assert.DeepEqual(t, expected, actual) @@ -879,11 +882,11 @@ func TestStringTokensAfterVariable(t *testing.T) { src := ` bar ( '' ) ;` - lexer := scanner.NewLexer(bytes.NewBufferString(src), "test.php") + lexer := NewLexer([]byte(src)) lexer.WithFreeFloating = true lv := &lval{} @@ -1257,12 +1260,12 @@ func TestMethodCallTokens(t *testing.T) { { Value: "= TokenID(len(_TokenID_index)-1) { + return "TokenID(" + strconv.FormatInt(int64(i+57346), 10) + ")" + } + return _TokenID_name[_TokenID_index[i]:_TokenID_index[i+1]] +} diff --git a/visitor/dumper_test.go b/visitor/dumper_test.go index c5dc4d4..c84f65e 100644 --- a/visitor/dumper_test.go +++ b/visitor/dumper_test.go @@ -1,7 +1,6 @@ package visitor_test import ( - "bytes" "os" "github.com/z7zmey/php-parser/php7" @@ -21,7 +20,7 @@ func ExampleDumper() { } }` - php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php") + php7parser := php7.NewParser([]byte(src)) php7parser.WithFreeFloating() php7parser.Parse() nodes := php7parser.GetRootNode() @@ -38,27 +37,27 @@ func ExampleDumper() { // Unordered output: // | [*node.Root] - // | "Position": Pos{Line: 3-11 Pos: 10-144} + // | "Position": Pos{Line: 3-11 Pos: 9-144} // | "Stmts": // | [*stmt.Namespace] - // | "Position": Pos{Line: 3-11 Pos: 10-144} + // | "Position": Pos{Line: 3-11 Pos: 9-144} // | "freefloating": // | "Start": "