doc: update README status

This commit is contained in:
mappu 2020-06-10 19:07:08 +12:00
parent 3ed24028f4
commit f7d9556b34

View File

@ -27,8 +27,11 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
[X] `null` -> `nil`
[X] Consts and `define()`
- [X] Magic constants (`__LINE__`,`__FILE__` etc)
- [ ] Predefined constants (`PHP_VERSION`, `PHP_EOL`, `PHP_OS`, `PHP_INT_MAX` etc)
[ ] `isset`/`unset`
[ ] `instanceof`
[X] Ternary expressions
- Implemented as inline closure
[X] `die`
[X] `try`/`catch`/`finally`
- [X] Implement using err checks, not panic/recover
@ -91,23 +94,23 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
- [ ] Type declarations for literals (string, slice/map with constant initializer, etc)
- [ ] Convert known PHP typenames to Go equivalents
- [ ] Parse extra types from phpdoc blocks
[ ] Hoisting pass for rvalue expressions
[X] Hoisting pass for rvalue expressions
- [X] Preincrement statements
- [ ] Behaviour of function calls in rvalue cases where err cannot be checked
- [ ] Assignment expressions
- [ ] Alternately - we can support the form `if foo := bar(); foo {`
- [ ] Ternarys
[ ] Simple standard library transformations
- [X] common string/array functions
- [ ] More string/array functions
- [ ] Top 100 from https://www.exakat.io/top-100-php-functions/
- [ ] substr -> slice index operator
- This has the same value semantics for string literals, but not variables
- [X] substr -> slice index operator
- This has the same value semantics for ~~string literals, but not variables~~ all cases
- [ ] error_reporting(E_ALL) --> just remove it
- [ ] ini_set('display_errors', 'On') --> remove it when the parameter is known
[ ] Elide error return for functions that cannot throw
- ?? Could be a standalone Go refactoring tool
### Wishlist
### Moonshots
[ ] Extended library/environment transformations
- [ ] Standard library transformations