Skip to content
Snippets Groups Projects
Verified Commit bd89b0d1 authored by Miles Vella's avatar Miles Vella
Browse files

Fix lost type info

parent 0093ad23
No related branches found
No related tags found
No related merge requests found
Pipeline #152185 passed
......@@ -313,17 +313,23 @@ public class MachineConstantsOptimizer implements AbstractVisitor<Node, Void> {
@Override
public Node visitRecordNode(RecordNode node, Void expected) {
return new RecordNode(node.getSourceCodePosition(), node.getDeclarations(), node.getExpressions().stream().map(expr -> (ExprNode) visitExprNode(expr, expected)).collect(Collectors.toList()));
RecordNode result = new RecordNode(node.getSourceCodePosition(), node.getDeclarations(), node.getExpressions().stream().map(expr -> (ExprNode) visitExprNode(expr, expected)).collect(Collectors.toList()));
result.setType(node.getType());
return result;
}
@Override
public Node visitStructNode(StructNode node, Void expected) {
return new StructNode(node.getSourceCodePosition(), node.getDeclarations(), node.getExpressions().stream().map(expr -> (ExprNode) visitExprNode(expr, expected)).collect(Collectors.toList()));
StructNode result = new StructNode(node.getSourceCodePosition(), node.getDeclarations(), node.getExpressions().stream().map(expr -> (ExprNode) visitExprNode(expr, expected)).collect(Collectors.toList()));
result.setType(node.getType());
return result;
}
@Override
public Node visitRecordFieldAccessNode(RecordFieldAccessNode node, Void expected) {
return new RecordFieldAccessNode(node.getSourceCodePosition(), (ExprNode) visitExprNode(node.getRecord(), expected), node.getIdentifier());
RecordFieldAccessNode result = new RecordFieldAccessNode(node.getSourceCodePosition(), (ExprNode) visitExprNode(node.getRecord(), expected), node.getIdentifier());
result.setType(node.getType());
return result;
}
@Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment