| 1849 | } |
| 1850 | |
| 1851 | static void var_parse_group_compile( VAR_PARSE_GROUP const * parse, compiler * c |
| 1852 | ) |
| 1853 | { |
| 1854 | /* Emit the elements in reverse order. */ |
| 1855 | int i; |
| 1856 | for ( i = 0; i < parse->elems->size; ++i ) |
| 1857 | var_parse_compile( dynamic_array_at( VAR_PARSE *, parse->elems, |
| 1858 | parse->elems->size - i - 1 ), c ); |
| 1859 | /* If there are no elements, emit an empty string. */ |
| 1860 | if ( parse->elems->size == 0 ) |
| 1861 | compile_emit( c, INSTR_PUSH_CONSTANT, compile_emit_constant( c, |
| 1862 | constant_empty ) ); |
| 1863 | /* If there is more than one element, combine them. */ |
| 1864 | if ( parse->elems->size > 1 ) |
| 1865 | compile_emit( c, INSTR_COMBINE_STRINGS, parse->elems->size ); |
| 1866 | } |
| 1867 | |
| 1868 | static void var_parse_actions_compile( VAR_PARSE_ACTIONS const * actions, |
| 1869 | compiler * c ) |
no test coverage detected