List paramList, Object targetObject) throws SPLException
{
List parameterObjects = new ArrayList();
try
{
MethodSymbol methodSym = null;
Collection c = (Collection)symTab.getSymbol(className + "." + methodName);
for (Iterator it = c.iterator(); it.hasNext();) {
methodSym = (MethodSymbol) it.next();
List argTypeList = methodSym.getArgumentList();
if (argTypeList.size() != paramList.size()) {
continue;
}
boolean typeNotEqual = false;
for (int i = 0; i < argTypeList.size(); i++) {
Expression exp = (Expression)paramList.get(i);
ArgumentImpl arg = (ArgumentImpl)argTypeList.get(i);
TypeInfo expDataType = exp.getType();
TypeInfo argDataType = arg.getType();
// if (expDataType.getIsArray() != argDataType.getIsArray() ||
// expDataType.getType() != argDataType.getType()) {
if (expDataType.getType() != argDataType.getType()) {
typeNotEqual = true;
break;
}
}
if (typeNotEqual) {
continue;
}
break;
}
if (methodSym == null) {
throw new SPLException("invokeClassMethod failed: " + methodName + "does not exit");
}
List argTypeList = methodSym.getArgumentList();
for (int i = 0; i < paramList.size(); i++)
{
Expression exp = (Expression) paramList.get(i);