Skip to content
← Back

src/syntax/trees/statements/expression.ghul

1
namespace Syntax.Trees.Statements is
2
use Source
3
4
use Logging
5
6
class EXPRESSION(location: LOCATION, expression: Expressions.Expression public): Statement is
7
provides_value: bool => true
8
is_tuple_literal: bool =>
9
if expression.is_tuple_literal then
10
true
11
else
12
false
13
fi
14
15
set_expected_type(expected_type: Semantic.Types.Type?, error_message: string?) =>
16
expression.set_expected_type(expected_type, error_message)
17
18
// TODO may not be wanted if it's a statement expression that
19
// ends with a keyword
20
expects_semicolon: bool => true
21
22
super(location)
23
24
accept(visitor: Visitor) is
25
visitor.visit(self)
26
si
27
28
walk(visitor: Visitor) is
29
if !visitor.pre(self) then
30
expression.walk(visitor)
31
fi
32
33
accept(visitor)
34
si
35
si
36
si