Under Review
over 1 year ago

Feature-request: add pre-processor with inline functions to Monkey C

Please consider adding some pre-processor to Monkey C, similar to C.

For example we could have inline functions. It would make developers life much easier: the readability of the code would improve, in many cases the binary size could be decreased  litte-bit.

#inline function myfunc(a) {return App.getApp().getProperty("LeftGoalType") == GOAL_TYPE_FOO || App.getApp().getProperty("RightGoalType") == GOAL_TYPE_FOO;}

or:

#inline myfunc(a) App.getApp().getProperty("LeftGoalType") == GOAL_TYPE_FOO || App.getApp().getProperty("RightGoalType") == GOAL_TYPE_FOO

Parents
  • For anyone interested (Gavriel already uses it), I implemented inline functions in my optimizer a while back. It has the bonus of working with normal monkeyc syntax. You just add a (:inline) attribute to the functions, so you can compile with or without the optimizer, and it works either way.

Comment
  • For anyone interested (Gavriel already uses it), I implemented inline functions in my optimizer a while back. It has the bonus of working with normal monkeyc syntax. You just add a (:inline) attribute to the functions, so you can compile with or without the optimizer, and it works either way.

Children
No Data