private Type GetDataType(ExpressionNode node)
{
Type nodeType = node.GetType();
string typeName = null;
if (nodeType == typeof(NameNode))
{
typeName = ((NameNode)node)._name;
}
if (nodeType == typeof(ConstNode))
{
typeName = ((ConstNode)node)._val.ToString();
}
if (typeName == null)
{
throw ExprException.ArgumentType(s_funcs[_info]._name, 2, typeof(Type));
}
Type dataType = Type.GetType(typeName);
if (dataType == null)
{
throw ExprException.InvalidType(typeName);
}
return dataType;
}