-
-
Notifications
You must be signed in to change notification settings - Fork 656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Internal changes for Haxe 4 #4684
Comments
Can we drop
|
This issue is mostly about internal changes, i.e. stuff that doesn't really make it to the user (except for macro authors). |
Can i start an issue for external changes? ) |
I've done most of the things I wanted to do here, and for the rest we already have open issues. |
This is a collection issue for internal changes we want to make for Haxe 4. Some of these might affect macro users. All these should be considered "under discussion".
Add call type parameter mapping to the AST
We have to find a way of keeping the type parameter mapping in the AST. See https://groups.google.com/forum/#!topic/haxedev/M96qHOYCLsI for a small discussion
Change
Null<T>
to abstractSee #4316.Add proper
is
operatorSee #2976. We actually already support this with
(expr is TypePath)
syntax, the question remains ifis
should be made a keyword.Keep track of "quoted" status for structure declarations
See #2642. We currently do some really awkward String encoding.Keep track of how strings are quoted
We currently rely on some state in the lexer to determine if a field is quoted or not. I once wanted to see how much work it would be to encode this properly and the commit was not a small one.
Add position information in more places
This issue came up in my haxeparser port and I've come across it in core Haxe multiple times. There are several parts in the AST that do not dedicated position information.(implemented)Identify static closures in the AST
Static closures in the AST are currently
TField(_, FStatic)
, which is also the first argument of a static callTCall(TField(_, FStatic),[])
. Since the typer knows it's typing a static closure it might as well set the field kind toFStaticClosure
.Unify module information
We currently keep parts of it in
typer_module
which causes trouble for any operation that wants to type something into the module, such asContext.defineModule
. It would be nice if we could retain this information.Get rid of TParenthesis in silly places
Generators can decide where they want parentheses, the AST shouldn't have them for
if/while
conditions and theswitch
subject.Support unicode lexing properly
Currently our lexer has some problems with unicode. We should check if we can improve that.The text was updated successfully, but these errors were encountered: