if (n1 != n2)
return false;
for (int i = 0; i < n1; i++)
{
IParameterDefinition param1 = params1[i];
IParameterDefinition param2 = params2[i];
// Compare ith parameter types.
// The types must be resolved because one might be
// "Sprite" and the other "flash.display.Sprite".
ITypeDefinition type1 = param1.resolveType(project);
ITypeDefinition type2 = param2.resolveType(project);
if (type1 != type2)
return false;
// Compare ith parameter 'rest' flag.
boolean rest1 = param1.isRest();
boolean rest2 = param2.isRest();
if (rest1 != rest2)
return false;
// Compare ith parameter optionality.
boolean hasDefault1 = param1.hasDefaultValue();
boolean hasDefault2 = param2.hasDefaultValue();
if (hasDefault1 != hasDefault2)
return false;
}
// The signatures are the same.