bool IsEntryPoint()
{
if (ReturnType != TypeManager.void_type &&
ReturnType != TypeManager.int32_type)
return false;
if (parameters.IsEmpty)
return true;
if (parameters.Count > 1)
return false;
var ac = parameters.Types [0] as ArrayContainer;
return ac != null && ac.Rank == 1 && ac.Element == TypeManager.string_type &&
(parameters[0].ModFlags & ~Parameter.Modifier.PARAMS) == Parameter.Modifier.NONE;
}