1 package edu.uci.eecs.specCompiler.specExtraction;
3 import java.util.ArrayList;
5 public class FunctionHeader {
6 public final ArrayList<VariableDeclaration> templateList;
8 public final String returnType;
9 public final QualifiedName qualifiedName;
10 public final ArrayList<VariableDeclaration> args;
12 public FunctionHeader(ArrayList<VariableDeclaration> templateList, String returnType, QualifiedName qualifiedName,
13 ArrayList<VariableDeclaration> args) {
14 this.templateList = templateList;
15 this.returnType = returnType;
16 this.qualifiedName = qualifiedName;
20 public String toString() {
21 String res = returnType + " " + qualifiedName.fullName + "(";
22 if (args.size() >= 1) {
23 res = res + args.get(0);
25 for (int i = 1; i < args.size(); i++) {
26 res = res + ", " + args.get(i);
32 public FunctionHeader getRenamedHeader(String prefix) {
33 String newFullName = qualifiedName.qualifiedName + prefix + "_"
34 + qualifiedName.bareName;
35 FunctionHeader newHeader = new FunctionHeader(templateList, returnType,
36 new QualifiedName(newFullName), args);
40 public String getRenamedCall(String prefix) {
41 String res = prefix + "_" + qualifiedName.fullName + "(";
42 if (args.size() >= 1) {
43 res = res + args.get(0).name;
45 for (int i = 1; i < args.size(); i++) {
46 res = res + ", " + args.get(i).name;