From ce49d20a5fe3726e1800bc495a25c7617212abf4 Mon Sep 17 00:00:00 2001 From: Emanuele Grasso <96300448+L0P0P@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:48:09 +0200 Subject: Reaching definition analysis (#17) Co-authored-by: Santo Cariotti Co-authored-by: geno Co-authored-by: geno --- src/ast/nodes/ExprListNode.java | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/ast/nodes/ExprListNode.java') diff --git a/src/ast/nodes/ExprListNode.java b/src/ast/nodes/ExprListNode.java index a3ac237..44feb6b 100644 --- a/src/ast/nodes/ExprListNode.java +++ b/src/ast/nodes/ExprListNode.java @@ -2,6 +2,8 @@ package ast.nodes; import ast.types.*; import java.util.ArrayList; +import java.util.List; + import semanticanalysis.SemanticError; import semanticanalysis.SymbolTable; @@ -10,9 +12,9 @@ import semanticanalysis.SymbolTable; */ public class ExprListNode implements Node { - private final ArrayList exprs; + private final List exprs; - public ExprListNode(ArrayList exprs) { + public ExprListNode(List exprs) { this.exprs = exprs; } @@ -59,15 +61,31 @@ public class ExprListNode implements Node { } @Override - public String toPrint(String prefix) { + public String printAST(String prefix) { String str = prefix + "ExprList\n"; prefix += " "; for (var param : exprs) { - str += param.toPrint(prefix); + str += param.printAST(prefix); } return str; } + @Override + public String toPrint(String prefix) { + + String str = prefix + exprs.get(0).toPrint(""); + + for (int i = 1; i < exprs.size(); ++i) { + str += ", " + exprs.get(i).toPrint(""); + } + + return str; + } + + public List getExprs() { + return exprs; + } + } -- cgit v1.2.3-71-g8e6c