Appearance
| 1 | namespace Syntax.Trees.Statements is | |
| 2 | use Source; | |
| 3 | use IR.Values.Value; | |
| 4 | ||
| 5 | use Logging; | |
| 6 | ||
| 7 | class Statement(location: LOCATION): Trees.Node abstract is | |
| 8 | // Compile-expressions output; contents owned by that pass. | |
| 9 | compile_expressions_state: Syntax.Process.STATEMENT_STATE field; | |
| 10 | ||
| 11 | value: Value? => compile_expressions_state.value; | |
| 12 | want_value: bool => compile_expressions_state.want_value; | |
| 13 | ||
| 14 | expects_semicolon: bool => false; | |
| 15 | provides_value: bool => false; | |
| 16 | is_tuple_literal: bool => false; | |
| 17 | ||
| 18 | super(location); | |
| 19 | ||
| 20 | set_expected_type(expected_type: Semantic.Types.Type?, error_message: string?) is | |
| 21 | si | |
| 22 | ||
| 23 | clear_expected_type() is | |
| 24 | si | |
| 25 | ||
| 26 | clear() is | |
| 27 | super.clear(); | |
| 28 | compile_expressions_state.clear(); | |
| 29 | si | |
| 30 | si | |
| 31 | si |