Commit Graph

41 Commits

Author SHA1 Message Date
91e39e7e2f node: elide some extra parentheses for commutative binary ops (plus/concat) 2020-04-09 19:40:18 +12:00
314d65a459 node: support magic __FILE__, __LINE__ etc constants 2020-04-09 19:39:23 +12:00
0dfabadcf2 node: remove outdated FIXME comment 2020-04-09 19:39:06 +12:00
4f86ec11e7 node: transform null->nil; normalise case for true/false 2020-04-08 20:33:53 +12:00
fc41691e4a node: rename ret variable 2020-04-08 20:33:37 +12:00
c580f8a8e1 node: remove unlikely check for rvalue super() calls 2020-04-08 20:24:59 +12:00
750bfd9bb2 node: support define() 2020-04-08 20:24:44 +12:00
142e26bbfe node: support const and class const 2020-04-08 20:24:36 +12:00
885d100fbf node: implement stmt.ConstList 2020-04-08 20:02:30 +12:00
51ca4ecd77 node: fix issue with lvalue err ordering 2020-04-08 19:58:56 +12:00
760d1ddbbd node: elide parentheses in some cases 2020-04-08 19:58:35 +12:00
334db21fd6 node: support die() 2020-04-08 19:58:09 +12:00
daf5000404 node: support namespace, support tracking package imports 2020-04-08 19:57:59 +12:00
c52acb7249 node/try-catch: group err vars; simplify names; treat Exception as base case 2020-04-07 23:26:44 +12:00
e9aa553216 stmt: propagate err checks to top-level function calls and assignment calls 2020-04-07 23:25:43 +12:00
52ccea5d65 node: initial try/catch support, track the error handler (WIP) 2020-04-07 22:52:42 +12:00
0d7024dbee node: remove throw "" -> errors.New("") transform, as PHP cannot throw scalars 2020-04-07 22:52:12 +12:00
d6cd0e8191 node: parse and requote php single-quoted strings 2020-04-07 22:51:31 +12:00
642711b09f node: add some TODO markers 2020-04-07 21:53:07 +12:00
19d7cc469a node: support interfaces 2020-04-07 21:53:00 +12:00
d1874b288e node: cleanup imports 2020-04-07 18:52:40 +12:00
315174c79a node: bail out upon assignment inside if-expression 2020-04-07 18:52:30 +12:00
49241e7a8c node: preserve comments 2020-04-07 18:27:20 +12:00
2568412a50 stmt: add failing test for assignment expressions (need hoisting) 2020-04-05 19:41:21 +12:00
628e4c1781 stmt/if: implement if/elif/else 2020-04-05 19:41:02 +12:00
c6f70b1e66 stmt/class: support self:: calling our renamed static methods 2020-04-05 19:26:36 +12:00
564be76bef stmt/class: elide extra scope when calling parent ctor 2020-04-05 19:12:42 +12:00
28937fc384 stmt/class: support super() calls 2020-04-05 19:11:05 +12:00
45b694434d stmt: track conversion state in a struct 2020-04-05 18:45:14 +12:00
5344bbe078 stmt/class: support extends (single inheritance) by struct embedding 2020-04-05 18:24:14 +12:00
67932cd296 stmt/class: support static calls 2020-04-05 18:23:52 +12:00
6b40079884 stmt: remove extra newlines in output 2020-04-05 18:23:28 +12:00
cdfa7df4fa stmt: support static methods 2020-04-05 18:05:32 +12:00
cdeea4c09c stmt/html: switch to backtick-delimited string for large multiline cases 2020-04-05 17:46:25 +12:00
68b554a6ec stmt: initial array support 2020-04-05 17:39:22 +12:00
1224a5906a node: support leaving php context 2020-04-05 17:11:11 +12:00
d3f238cf01 binary: implement all remaining binary operators 2020-04-05 17:05:37 +12:00
8f921436ed stmt: group node* definitions together 2020-04-05 17:05:22 +12:00
90ce6af6dd stmt/for: hoist multiple initial conditions from 3-clause for loops 2020-04-05 16:43:27 +12:00
7dbb523763 stmt/for: fix precondition checks 2020-04-05 16:41:36 +12:00
872c878857 initial commit 2020-04-05 16:35:44 +12:00