Makhnev Petr
b256331d90
php8.1: added final modifier for constants in class ( #15 )
...
This case is already covered by the existing grammar, so no changes are required.
2021-07-31 22:20:36 +03:00
Makhnev Petr
689cca66c4
.github: setup GitHub related things ( #13 )
...
- Added Github Actions
- Replaced `ISSUE_TEMPLATE.md`
2021-07-31 20:01:44 +03:00
i582
7e821b874b
Merge remote-tracking branch 'origin/master'
2021-07-31 19:45:42 +03:00
i582
85b5d3ef36
cmd: added file path output before errors
2021-07-31 19:45:26 +03:00
Makhnev Petr
af394e9eb0
php8.1: added enum ( #12 )
2021-07-31 19:44:09 +03:00
Makhnev Petr
44bbff6073
php8.1: added new octal numbers syntax ( #10 )
...
Also fixed a bug where `0X...` and `0B...` were not recognized as valid numbers.
2021-07-31 18:37:01 +03:00
Makhnev Petr
8df80651e0
php8.1: added never type ( #8 )
2021-07-31 18:06:46 +03:00
Makhnev Petr
8c35b0aef1
php8.1: added readonly modifier ( #6 )
2021-07-31 18:00:21 +03:00
Ruud Kamphuis
4d0bfa25aa
readme: use correct conf
pkg instead of cfg
for config ( #4 )
2021-07-31 13:19:33 +03:00
i582
2488ec3def
cnd: default version has been changed to 8.0
2021-07-30 21:03:47 +03:00
Makhnev Petr
72cd222aeb
all: renamed github.com/z7zmey/php-parser with github.com/VKCOM/php-parser
2021-07-30 21:01:34 +03:00
Makhnev Petr
049ce7ddc6
PHP 8 ( #1 )
...
PHP 8 Update
- nullsafe operator (?->)
- Remove (real) cast
- Named arguments
- Remove (unset) cast
- Remove {} access
- match expression
- Union types in type hints and static typehint
- Block catch without variable
- Trailing comma in parameter lists
- throw can be used as an expression
- Concatenation precedence
- Declaring properties in the constructor
- Attributes
- Names in the namespace are treated as a single token
- Trailing comma in closure use list
- Check that ::class on object works
- Deferencable changes and arbitrary expressions in new/instanceof
2021-07-30 20:53:27 +03:00
Vadym Slizov
367eff9de6
rename package cfg to conf
2021-02-13 23:54:34 +02:00
Vadym Slizov
9d12f1d162
fix formatting
2021-02-13 23:51:08 +02:00
Vadym Slizov
29477c9552
[ #122 ] compile php5 parser
2021-02-13 23:50:10 +02:00
Vadym Slizov
c8b7fc0786
[ #122 ] compile php5 parser
2021-02-13 23:48:44 +02:00
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