expression macro
Overview of Haxe code snippets, examples and tutorials tagged with expression macro.
Mar 25, 2016 Macros / Get all values of an @:enum abstract
The following macro function returns an array of all possible values of a given @:enum abstract type. Since it's not possible in runtime (because abstracts doesn't exist there), we need to use a macro for that.‥
Mar 24, 2016 Macros / Add parameters as fields
This macro function automatically assigns parameters of method to local variables.‥
Apr 27, 2021 Macros / Strictly Typed JSON
It's possible read JSON files at compile time into strictly typed objects in Haxe.‥
Mar 29, 2016 Macros / Extract values from known enum instances
Sometimes we have an instance of enum that is of known constructor (or we only accept that constructor) and we want to extract values from that instance. Normally, to do this, we have to use pattern matching (switch), however it's quite verbose, so we can instead use this macro static extension method that will generate switch for us.‥
Mar 23, 2016 Macros / Assert macro that shows sub-expression values
Sometimes failed assertion checks make it difficult to tell what went wrong. For debugging the programmer not only wants to know that a check failed, but also why it failed. This macro outputs the values of all sub-expressions.‥
Jun 16, 2016 Macros / Add build time using macro
This example shows:‥
Apr 19, 2016 Macros / Combine two or more structures
Haxe makes it easy to define extensions for a typedef, but there is no easy way to combine the values of two or more structures to one, like {a:2} and {b:foo} to {a:2,b:foo}. The following macro does this for you.‥
Mar 22, 2016 Macros / Validates a .JSON file compile-time
Json is quite a strict format. Ensure all comma's and quotes are correct using a macro function, which is executed while compiling.‥
Jul 04, 2017 Macros / Include a file next to a Haxe module file
This example lets you take a file next to the current module .hx file and include its file content. That can be very useful if you want to separate (for example) view templates, shader sources or other multiline texts from the Haxe source. The articles demonstrates how to do it with an expression macro but also with a build macro.‥
Apr 25, 2016 Macros / Working with compiler flags
This snippet demonstrates how to get, set, check for, and list compiler flags.‥
Mar 24, 2016 Macros / Add git commit-hash in build
This example executes a process on the system, compile-time. This allows to run a git command git rev-parse HEAD and use its result as the value.‥