#include <more/lang/cx_expr.h>
Inheritance diagram for more::lang::cx_pattern:
Don't use this for logic and and logic or, as this will produce code that runs constructor and destructors regardless of the result of the LHS.
|
Construct an expression of the form pattern which evaluates to result_type and with arguments from va. Occurances of "%!" in pattern are substituted with argument expressions. If pattern is not a string literal, you must make sure it outlives this object, e.g. by copying it to a GC allocated segment. By convention the whole expression in pattern is surrounded by parentheses, rather than each sub-expression. That is, it is assumed that all code that is printed is printed such that it has top-level precedence. |
|
Append constructors of this expression to blk.
Reimplemented from more::lang::cx_expr. |
|
Append destructors of this expression to blk. Implementations of this function shall not declare variables in blk. Reimplemented from more::lang::cx_expr. |
|
Print the C source code of this expression. The default implementation thows a logic error. This function may be overloaded to extend the backend, otherwise it may be easier to transform the source code. Reimplemented from more::lang::cx_expr. |