Ryan Chandler
72e744c4ad
parser: support taking foreach value vars by ref
2022-08-09 11:46:28 +01:00
Ryan Chandler
698aef1afc
parser: support using closure args by ref
2022-08-09 11:39:40 +01:00
Ryan Chandler
4aa3b3af6b
parser: support concat assign op
2022-08-09 11:35:19 +01:00
Ryan Chandler
e17d66e2d8
parser: roughly support inc/dec postfix ops
2022-08-09 11:33:19 +01:00
Ryan Chandler
18a841e591
all: clippy
2022-08-09 00:54:04 +01:00
Ryan Chandler
223018ef5f
parser: add support for prefix cast ops
2022-08-09 00:51:03 +01:00
Ryan Chandler
c71bcadbf0
parser: support prefix minus / negation
2022-08-09 00:05:42 +01:00
Ryan Chandler
d898216706
parser: support float expressions
2022-08-09 00:04:14 +01:00
Ryan Chandler
ce4e1e1152
parser: support minimum yield expressions
2022-08-09 00:03:25 +01:00
Ryan Chandler
9ab82059a1
parser: support throw
expressions
...
It's worth noting that a `throw` will always be an expression in the Trunk parser.
PHP-Parser will convert standalone `throw` expressions into a dedicated `throw`
statement for backwards-compatibility reasons.
2022-08-09 00:00:14 +01:00
Ryan Chandler
06cbbeff40
parser: start supporting reserved non modifiers as method names
2022-08-08 23:53:32 +01:00
Ryan Chandler
56310906a8
parser: skip comments inside of arrays
2022-08-08 23:44:11 +01:00
Ryan Chandler
1d5906bc08
parser: skip comments before parsing expression
2022-08-08 23:43:20 +01:00
Ryan Chandler
863f1aaddb
parser: skip doc comments for now
2022-08-08 23:42:19 +01:00
Ryan Chandler
97b2fa0c67
parser: support function/const use statements
2022-08-08 22:10:16 +01:00
Ryan Chandler
e0378e24a2
parser: support instanceof expressions
2022-08-06 04:43:19 +01:00
Ryan Chandler
1d1af9f1b8
parser: support pow (**) expressions
2022-08-06 04:39:00 +01:00
Ryan Chandler
2668710fc8
parser: make ternary an infix expression to ensure correct precedence
2022-08-06 01:40:50 +01:00
Ryan Chandler
f488e584bd
parser: support enums
2022-08-05 23:18:29 +01:00
Ryan Chandler
2cad6fde6a
parser: allow forcing param, prop and return types
2022-08-04 13:37:08 +01:00
Ryan Chandler
b2db93efc1
parser: expect colons
2022-08-04 13:22:47 +01:00
Ryan Chandler
1a7447de4b
parser: introduce new ParserConfig
2022-08-04 13:21:14 +01:00
Ryan Chandler
431d449f10
parser+lexer: support switch statements
...
Closes #4 .
2022-08-04 10:53:41 +01:00
Ryan Chandler
65fa165ba8
parser+lexer: support try/catch/finally statements
...
Closes #17 .
2022-08-04 00:41:27 +01:00
Ryan Chandler
b254e59bde
parser+lexer: support match expressions
...
Closes #16 .
2022-08-04 00:21:10 +01:00
Ryan Chandler
1a7aae97d9
parser: move Expression enum to struct format instead of tuple
...
Closes #11 .
2022-08-04 00:03:50 +01:00
Ryan Chandler
d602902d7b
parser: make Assign an InfixOp instead of expression type
...
Closes #14
2022-08-03 20:50:07 +01:00
Ryan Chandler
5eca385a9a
parser: abstract out optional comma logic
2022-08-03 13:51:20 +01:00
Ryan Chandler
223df961ce
rs: experiment with a PHP to Rust to binary compiler
2022-07-29 16:32:25 +01:00
Ryan Chandler
129b4f9626
parser: support lte/gte ops
2022-07-28 20:15:22 +01:00
Ryan Chandler
0322e3c805
parser: support normal for statements
2022-07-28 20:13:08 +01:00
Ryan Chandler
22d8cc332c
parser: support add assign operator
2022-07-28 20:07:40 +01:00
Ryan Chandler
67a26ae78f
parser: support clone expressions
2022-07-28 20:05:04 +01:00
Ryan Chandler
ad4f005511
parser: support null coalescing operator expressions (kinda)
2022-07-28 20:02:11 +01:00
Ryan Chandler
81199e5d5d
parser: support long ternary expressions
2022-07-28 19:45:00 +01:00
Ryan Chandler
ed12a5c5f3
parser: add missing default param to tests
2022-07-28 19:36:55 +01:00
Ryan Chandler
8a515e760f
parser: support greater than
2022-07-28 19:36:06 +01:00
Ryan Chandler
d903fc5d79
parser&lexer: support for various things found in a Laravel app
2022-07-28 17:38:09 +01:00
Ryan Chandler
16283d1273
parser: support equals/identical and not variant expressions
2022-07-28 17:01:40 +01:00
Ryan Chandler
d955cd28da
parser: support prefix expressions like !
2022-07-28 16:08:14 +01:00
Ryan Chandler
08e7c99f25
parser: remove unneccessary FunctionKind enum
2022-07-28 15:55:13 +01:00
Ryan Chandler
151e0d90c3
parser: support null constant
2022-07-28 15:53:47 +01:00
Ryan Chandler
a6fc1b58f1
parser: reorganise poor expression handling
2022-07-28 15:52:45 +01:00
Ryan Chandler
30afcce2d5
parser: support array indexing
2022-07-28 15:44:46 +01:00
Ryan Chandler
ea1365c77d
parser: support true/false (bool) expressions
2022-07-28 14:45:05 +01:00
Ryan Chandler
39c7d9887d
parser: support static method calls, property fetches and constants
2022-07-28 14:42:14 +01:00
Ryan Chandler
fc731c468d
parser: ensure function statements only parse when followed by an ident
...
Closes #12
2022-07-28 13:53:46 +01:00
Ryan Chandler
b4e11bd6bd
parser: support use list in closures
2022-07-28 13:38:16 +01:00
Ryan Chandler
6ba2532af6
parser: manually parse closures
2022-07-28 13:30:31 +01:00
Ryan Chandler
abd1559f31
parser: support foreach statements
2022-07-28 12:29:44 +01:00