Skip to content
← Back

src/syntax/trees/statements/statement.ghul

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
void_tolerated: bool => compile_expressions_state.void_tolerated
14
15
expects_semicolon: bool => false
16
provides_value: bool => false
17
is_tuple_literal: bool => false
18
19
super(location)
20
21
set_expected_type(expected_type: Semantic.Types.Type?, error_message: string?) is
22
si
23
24
clear_expected_type() is
25
si
26
27
clear() is
28
super.clear()
29
compile_expressions_state.clear()
30
si
31
32
clear_outputs() is
33
compile_expressions_state.clear_outputs()
34
si
35
36
si
37
si