llvmir some opt
This commit is contained in:
50
midend/symbol/FuncSymbol.java
Normal file
50
midend/symbol/FuncSymbol.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package midend.symbol;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FuncSymbol extends Symbol {
|
||||
private int returnType; // 0 for void, 1 for int
|
||||
private ArrayList<Integer> paramList; // 0 for var, 1 for array
|
||||
private ArrayList<Symbol> 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<Integer> getParamList() {
|
||||
return paramList;
|
||||
}
|
||||
|
||||
public ArrayList<Symbol> getParamSymbolList() {
|
||||
return paramSymbolList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user