doc: update current README status
This commit is contained in:
parent
c580f8a8e1
commit
2a9d079216
20
README.md
20
README.md
@ -12,7 +12,7 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
|
|||||||
- [X] Convert `throw` to err return
|
- [X] Convert `throw` to err return
|
||||||
- [ ] Elide error return for functions that cannot throw
|
- [ ] Elide error return for functions that cannot throw
|
||||||
- ?? Could be a standalone Go refactoring tool
|
- ?? Could be a standalone Go refactoring tool
|
||||||
- [ ] Non-leaf function calls need to check + bubble errors
|
- [X] Non-leaf function calls need to check + bubble errors
|
||||||
- [ ] Behaviour of function calls in rvalue cases where err cannot be checked
|
- [ ] Behaviour of function calls in rvalue cases where err cannot be checked
|
||||||
[ ] Comprehensive coverage of all AST node types
|
[ ] Comprehensive coverage of all AST node types
|
||||||
- [ ] Node
|
- [ ] Node
|
||||||
@ -25,19 +25,26 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
|
|||||||
- [ ] Infer whether map use should be order-preserving
|
- [ ] Infer whether map use should be order-preserving
|
||||||
[ ] Multi-file programs
|
[ ] Multi-file programs
|
||||||
- [ ] Include/Require
|
- [ ] Include/Require
|
||||||
[ ] Namespaces
|
[X] Namespaces
|
||||||
|
- [X] Basic support for `namespace` -> package name transformation
|
||||||
|
- [ ] Namespace resolution in calls
|
||||||
|
- [ ] `use`
|
||||||
|
- [ ] Support scoped namespace (`namespace { ... }`) and multiple namespaces in file
|
||||||
[ ] Generators
|
[ ] Generators
|
||||||
[ ] Numbered break/continue
|
[ ] Numbered break/continue
|
||||||
[ ] Goto
|
[ ] Goto
|
||||||
[ ] Comma operator
|
[ ] Comma operator
|
||||||
[ ] `null` -> `nil`
|
[ ] `null` -> `nil`
|
||||||
[ ] Consts and `define()`
|
[X] Consts and `define()`
|
||||||
[ ] `isset`/`unset`
|
[ ] `isset`/`unset`
|
||||||
[ ] `instanceof`
|
[ ] `instanceof`
|
||||||
|
[X] `die`
|
||||||
[X] `try`/`catch`/`finally`
|
[X] `try`/`catch`/`finally`
|
||||||
- [X] Implement using err checks, not panic/recover
|
- [X] Implement using err checks, not panic/recover
|
||||||
- Maybe `finally` would be more accurately implemented as defer inside an IIFE, but that is not idiomatic, maintainable Go code.
|
|
||||||
- Any statements within the try block should capture the finally/catch to run within any interior err-check blocks
|
- Any statements within the try block should capture the finally/catch to run within any interior err-check blocks
|
||||||
|
- [ ] `finally`
|
||||||
|
- Runs before any return statement inside the try block or catch block; also runs after the try block is complete
|
||||||
|
- Maybe `finally` would be more concisely implemented as defer inside an IIFE, but that is not idiomatic, maintainable Go code
|
||||||
[ ] Abandon upon sight of `eval` / `extract` / ...
|
[ ] Abandon upon sight of `eval` / `extract` / ...
|
||||||
[ ] Assignment expressions
|
[ ] Assignment expressions
|
||||||
- Go doesn't support assignment in rvalues, only as a statement
|
- Go doesn't support assignment in rvalues, only as a statement
|
||||||
@ -57,6 +64,7 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
|
|||||||
- [X] Static methods
|
- [X] Static methods
|
||||||
- [X] Inheritance *partial*
|
- [X] Inheritance *partial*
|
||||||
- [X] Interfaces
|
- [X] Interfaces
|
||||||
|
- [X] Class constants
|
||||||
- [X] super
|
- [X] super
|
||||||
- [X] Need to track current conversion state through into function generator, to select the concrete parent
|
- [X] Need to track current conversion state through into function generator, to select the concrete parent
|
||||||
- [X] parent::
|
- [X] parent::
|
||||||
@ -71,7 +79,7 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
|
|||||||
- [ ] Track current visibility scope
|
- [ ] Track current visibility scope
|
||||||
[ ] Library/environment transformations
|
[ ] Library/environment transformations
|
||||||
- [ ] Standard library transformations
|
- [ ] Standard library transformations
|
||||||
- [ ] Track golang package imports
|
- [X] Track golang package imports
|
||||||
- [ ] Handle conflicts between golang stdlib packages / local variable names
|
- [ ] Handle conflicts between golang stdlib packages / local variable names
|
||||||
- [ ] uasort -> sort.Slice
|
- [ ] uasort -> sort.Slice
|
||||||
- [ ] Output buffering (`ob_start` / `ob_get_clean`)
|
- [ ] Output buffering (`ob_start` / `ob_get_clean`)
|
||||||
@ -91,4 +99,6 @@ The goal is to produce idiomatic, maintainable Go code as part of a one-off conv
|
|||||||
- [ ] Option to convert with preset=cli, preset=web, webroot path
|
- [ ] Option to convert with preset=cli, preset=web, webroot path
|
||||||
- [ ] Option to generate built-in web server
|
- [ ] Option to generate built-in web server
|
||||||
[ ] Generate source maps
|
[ ] Generate source maps
|
||||||
|
- The parser does have full positional information - exporting at the stmt level would be reasonable
|
||||||
|
- But the gofmt pass may lose this information
|
||||||
[ ] Command-line tool option to `go run`
|
[ ] Command-line tool option to `go run`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user