Allow to specify includeFile position. #4419
Merged
Conversation
andyli
added a commit
to andyli/haxe
that referenced
this pull request
Jul 18, 2015
andyli
added a commit
that referenced
this pull request
Jul 20, 2015
Allow to specify includeFile position.
+1 This will be really useful. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Currently
haxe.macro.Compiler.includeFile()
includes the input file into the call site, where is usually inside__init__
. It is problematic:Problem 1. unable to include strict-mode incompatible file
Haxe by default generate JS output in strict mode. But the input file (e.g. jQuery!) may not be strict mode compatible, thus there will be run-time error being thrown.
Promlem 2. unable to extend classes from the included file
Since the haxe class members are defined before
__init__
s, we cannot extend an external class. Example:JS output:
run-time error:
This PR
This PR adds an argument
position
toincludeFile
. It is defaulted toTop
, which is the top of the output, outside our top-level closure. The JS output of the above example will become: