package xtc.translator.representation; import java.util.ArrayList; import java.util.List; public class Method implements Comparable{ private String identifier; private String overloadedIdentifier; private String returnType; private Arguments arguments; //have to be in order public boolean isStatic; public Method(String identifier, String returnType) { this.identifier = identifier; this.returnType = returnType; this.overloadedIdentifier = null; this.arguments = new Arguments(); } public void generateOverloadedIdentifier(){ // generate overloaded identifier based on argument types // If there are arguments, prepend them to the identifier if (! arguments.getArguments().isEmpty()) { this.overloadedIdentifier = identifier; for (Argument arg : arguments.getArguments()) { this.overloadedIdentifier += "_" + arg.type; } } else { // Otherwise, just set it as the identifier this.overloadedIdentifier = identifier; } } public String toString(){ return overloadedIdentifier; } public String getIdentifier() { return identifier; } public void setIdentifier(String identifier) { this.identifier = identifier; } public String getOverloadedIdentifier() { return overloadedIdentifier; } public void setOverloadedIdentifier(String overloadedIdentifier) { this.overloadedIdentifier = overloadedIdentifier; } public String getReturnType() { return returnType; } public void setReturnType(String returnType) { this.returnType = returnType; } public Arguments getArguments() { return arguments; } public void setArguments(Arguments arguments) { this.arguments = arguments; } @Override public int compareTo(Object arg0) { if (((Method)arg0).overloadedIdentifier.equals(this.overloadedIdentifier)) { return 0; } else { return -1; } } }