HaxeFoundation / HaxeFoundation/haxe
Undocumented compiler define flags
- Dominant language
- Haxe
- Stars
- 6.9k
- Forks
- 715
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 11
Description
There are a number of defines that are not documented on the [page in the manual.](https://haxe.org/manual/compiler-usage-flags.html)
Furthermore, in the compiler code they are access via a raw string rather than a strict value, so even if some should be hidden from documentation it would be good to add them to `defines.json` for cleaner and slightly safer code.
Is there any reason why any of these should not be documented?
## Here are the lists:
- `net-loader-debug`
- `java-loader-debug`
- `cs-safe-casts`
- `gen-hx-classes`
- `haxe.noNativeLibsCache`
- `hl-no-opt`
- `hl-check`
- `hl-no-debug`
- `run` (Running .hl file after compilation)
- `jvm-times`
- `nodejs`
Mentioned in #7965:
- `analyzer-no-const-propagation`
- `analyzer-no-copy-propagation`
- `analyzer-no-local-dce`
- `analyzer-no-fusion`
- `analyzer-no-purity-inference`
- `analyzer-times`
- `analyzer-user-var-fusion`
- `analyzer-no-user-var-fusion`
These might be deprecated:
- `haxe3`
- `haxe4`
- `js-es5`
And these are related to version numbers:
- `java7`, `java6` etc
- `NET_50`, `NET_45` etc (documented [here]( https://haxe.org/manual/target-cs-defines.html) actually)
- `flash10`, `flash9` etc
Defines that are documented but don't generate automatically and are accessed internally via raw strings:
- `target.static`
- `target.sys`
- `target.utf16`
- `target.threaded`
- `target.unicode`
- `target.name`
Contributor guide
Research direction
Start by comparing the compiler's raw-string defines with defines.json and the compiler usage flags manual page. Review the listed flags, including those mentioned in #7965 and the possibly deprecated or version-specific defines, to determine which should be documented or represented in defines.json. Done means the applicable defines are documented and the relevant raw-string accesses are covered consistently.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100