public virtual TypeData GetType(TypeSpecifier typeSpecifier,
ArrayList namespaces)
{
TypeData typeData = GetType(typeSpecifier.Name);
if (typeData == null) {
foreach (string ns in namespaces) {
typeData = GetType(ns + Type.Delimiter +
typeSpecifier.Name);
if (typeData != null)
break;
}
}
if (typeData == null)
return null;
TypedNodeList typeParameters = typeSpecifier.TypeParameters;
if (typeParameters.Length == 0) {
return typeData;
}
else {
TypeData genericTypeDef = typeData.GetGenericTypeDefinition();
return genericTypeDef.BindGenericParameters(typeParameters);
}
}