...
This commit is contained in:
@@ -65,6 +65,9 @@ public sealed class Generator(List<NodeDefinition> nodes)
|
||||
case NodeStatementReturn statement:
|
||||
EmitStatementReturn(statement);
|
||||
break;
|
||||
case NodeStatementVariableDeclaration statement:
|
||||
EmitStatementVariableDeclaration(statement);
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(node), node, null);
|
||||
}
|
||||
@@ -95,6 +98,12 @@ public sealed class Generator(List<NodeDefinition> nodes)
|
||||
writer.WriteLine($"return {value};");
|
||||
}
|
||||
|
||||
private void EmitStatementVariableDeclaration(NodeStatementVariableDeclaration statement)
|
||||
{
|
||||
var value = EmitExpression(statement.Value);
|
||||
writer.WriteLine($"{CType(statement.Type)} {statement.Name.Ident} = {value};");
|
||||
}
|
||||
|
||||
private string EmitExpression(NodeExpression node)
|
||||
{
|
||||
return node switch
|
||||
|
||||
Reference in New Issue
Block a user