package midend.symbol; import java.util.ArrayList; public class FuncSymbol extends Symbol { private int returnType; // 0 for void, 1 for int private ArrayList paramList; // 0 for var, 1 for array private ArrayList paramSymbolList; public FuncSymbol(String name, SymbolType type, int line, int returnType) { super(name, type, line); paramList = new ArrayList<>(); paramSymbolList = new ArrayList<>(); this.returnType = returnType; } public void addParam(int param) { paramList.add(param); } public void addParamSymbol(Symbol paramSymbol) { paramSymbolList.add(paramSymbol); } public int getParamNum() { return paramList.size(); } public int getReturnType() { return returnType; } public int getParamType(int index) { return paramList.get(index); } public void printParams() { for (int i = 0; i < paramList.size(); i++) { System.out.print(paramList.get(i) + " "); } } public ArrayList getParamList() { return paramList; } public ArrayList getParamSymbolList() { return paramSymbolList; } }