d6bdd08002
the typechecker project can collect all the top level types from a file, which is pretty cool I think (except for pointers, those aren't implemented yet...)
19 lines
554 B
C#
19 lines
554 B
C#
namespace meowlang.parser;
|
|
|
|
public record SwitchExpressionModel(Span Span, ExpressionModel Expression,
|
|
List<(LiteralModel Value, ExpressionModel? Body)> Cases, ExpressionModel? Default) : ExpressionModel(Span)
|
|
{
|
|
public override IEnumerable<ModelBase> GetChildren()
|
|
{
|
|
foreach (var modelBase in base.GetChildren())
|
|
{
|
|
yield return modelBase;
|
|
}
|
|
|
|
foreach (var (condition, block) in Cases)
|
|
{
|
|
yield return condition;
|
|
if (block != null) yield return block;
|
|
}
|
|
}
|
|
} |