Commit Graph

885 Commits

Author SHA1 Message Date
Vadym Slizov c3287f4721 Merge pull request #125 from z7zmey/issue-98
[#98] fix panic when heredoc is not closed
2021-02-13 23:10:27 +02:00
Vadym Slizov e1686cb83c [#98] fix panic when heredoc is not closed 2021-02-13 23:09:41 +02:00
Vadym Slizov 15e7237b45 Merge pull request #124 from z7zmey/issue-120
[#120] move dog.go from root folder
2021-02-13 22:18:29 +02:00
Vadym Slizov cb29615397 [#120] update readme 2021-02-13 22:16:54 +02:00
Vadym Slizov d9bd1df2a2 [#120] move dog.go from root folder 2021-02-13 22:06:52 +02:00
Vadym Slizov 15562c740e Merge pull request #123 from i582/pmakhnev/fix_parsing_new_expr
internal: fixed parsing of expression new
2021-02-13 21:42:58 +02:00
i582 78492f6456 internal: fixed parsing of anonymous classes
Since now 'ctor_arguments' returns nil, it is
necessary to initialize it to avoid panics.
2021-02-07 07:52:29 +03:00
i582 61523ab396 internal: fixed parsing of expression new
1. Now, for the expression 'new A' the correct
values EndLine, EndPos, and not -1 will be set;
2. Also, for expressions from php5 '$a = &new Foo',
the condition for parsing is fixed when it is necessary
to set the Args values and the initialization of the
NewTkn field is added, in the case when this condition
is false.

## Problem description

The reason why the positions after parsing became
incorrect is that the check that is responsible for
separating expressions like 'new A' and 'new A (args)'
relied on comparison with nil, however, when the parser
was updated, 'ctor_arguments' began to return not nil,
but &ArgumentList{}, so the condition was always true,
and in this case, when calculating the position, the
second argument of the 'NewTokenNodePosition' function
was nil, which is why -1 was returned there.

For the second, the reasons are similar. In addition,
there was a mistake in the number that needs to be
checked. In the expression:

'variable' '=' '&' T_NEW class_name_reference ctor_arguments'

it is necessary to check not 3, but 6 elements for nil.
2021-02-04 07:12:56 +03:00
Vadym Slizov 4d6130d98d Merge pull request #117 from z7zmey/refactoring
Refactoring
2020-12-29 21:31:14 +02:00
Vadym Slizov 5fd7577b66 Merge branch 'master' into refactoring 2020-12-29 21:28:40 +02:00
Vadym Slizov e3b133f3de refactoring: update api 2020-12-29 21:23:22 +02:00
Vadym Slizov cb4b4e69c4 refactoring: fix naming 2020-12-28 23:01:02 +02:00
Vadym Slizov 0701b3552e refactoring: fix scanning double dollar in template string 2020-12-28 21:43:55 +02:00
Vadym Slizov 07f49a4d21 refactoring: move internal nodes 2020-12-28 21:31:24 +02:00
Vadym Slizov bd479007be refactoring: update traverser 2020-12-28 21:13:08 +02:00
Vadym Slizov c0465f9605 refactoring: remove "StmtTraitMethodRef" node 2020-12-28 10:47:09 +02:00
Vadym Slizov c29e8ec0e0 refactoring: update ast structure of "Class", "Interface" and "Trait" nodes 2020-12-28 10:10:24 +02:00
Vadym Slizov 2990f0cc2d refactoring: create "ScalarEncapsedStringBrackets" node 2020-12-28 00:53:48 +02:00
Vadym Slizov 38141ce97f refactoring: create "ScalarEncapsedStringVar" node 2020-12-28 00:38:39 +02:00
Vadym Slizov e4321b5e90 refactoring: create "ExprBrackets" node 2020-12-28 00:02:14 +02:00
Vadym Slizov ad884c99df refactoring: update ast structure of "StaticCall" node 2020-12-27 23:19:49 +02:00
Vadym Slizov 0f2341bfa9 refactoring: update ast structure of "MethodCall" and "PropertyFetch" nodes 2020-12-27 23:04:09 +02:00
Vadym Slizov 2c09138600 refactoring: update ast structure of "Variable" node 2020-12-27 21:55:36 +02:00
Vadym Slizov 69919594fd refactoring: short int cast 2020-12-26 22:48:02 +02:00
Vadym Slizov 115d481a57 refactoring: update ast structure of "IncludeOnce" node 2020-12-26 22:44:14 +02:00
Vadym Slizov 616fd4448e refactoring: rename DieTkn to ExitTkn 2020-12-26 22:41:25 +02:00
Vadym Slizov a593760569 refactoring: remove ExprReference node 2020-12-26 22:38:35 +02:00
Vadym Slizov 0f5f5e7dc7 refactoring: update ast structure of "ArrayItem" node 2020-12-26 20:13:50 +02:00
Vadym Slizov 8bf1fa822d refactoring: update ast structure of "Foreach" node 2020-12-26 19:38:45 +02:00
Vadym Slizov b85bae2ec1 refactoring: update ast structure of "Closure" and "ClosureUse" nodes 2020-12-26 18:20:10 +02:00
Vadym Slizov 03c7979ccd refactoring: remove StmtTraitAdaptationList node 2020-12-20 23:04:23 +02:00
Vadym Slizov 74b0949255 refactoring: test variable formatter 2020-12-20 22:11:16 +02:00
Vadym Slizov eda7ae1c87 refactoring: update scanner tests 2020-12-20 14:39:37 +02:00
Vadym Slizov 286dd50319 refactoring: update position builder tests 2020-12-20 14:34:09 +02:00
Vadym Slizov 90aca88c2f refactoring: update php5 tests 2020-12-20 14:26:26 +02:00
Vadym Slizov fd984fea8f refactoring: update php7 tests 2020-12-20 11:38:13 +02:00
Vadym Slizov 7b8b1ce7b9 refactoring: update formatter 2020-12-20 01:28:47 +02:00
Vadym Slizov 6941f0f51b [refactoring] rename dumper 2020-12-12 12:09:39 +02:00
Vadym Slizov c32f5bd29b [refactoring] remove Alt flags 2020-12-11 17:34:29 +02:00
Vadym Slizov 5291529a37 [refactoring] fix typo 2020-12-11 17:29:22 +02:00
Vadym Slizov 45ded326d0 [refactoring] remove ParserSeparatedList from visitor 2020-12-11 17:17:13 +02:00
Vadym Slizov 632146f98e [refactoring] update dumper 2020-12-11 13:28:16 +02:00
Vadym Slizov 60433615a9 [refactoring] fix namespaceResolver tests 2020-12-11 10:05:02 +02:00
Vadym Slizov 497e7f82ee [refactoring] update printer 2020-12-11 09:54:26 +02:00
Vadym Slizov f3a605aba1 [refactoring] update position builder 2020-12-08 02:08:59 +02:00
Vadym Slizov 8064d940f0 [refactoring] update Token structure 2020-12-08 01:54:05 +02:00
Vadym Slizov 20a42da7c9 [refactoring] remove general Node struct 2020-12-08 00:04:12 +02:00
Vadym Slizov f6f86bf99b refactoring: fix panic when missed arguments list 2020-12-04 22:38:46 +02:00
Vadym Slizov dfe8982121 refactoring: fix panic when missed arguments list 2020-12-04 22:37:06 +02:00
Vadym Slizov 997f7bc6e4 refactoring: fix panic when empty return type 2020-12-04 22:13:12 +02:00