private TypeInfo getTypeInfo(ASTNode funcNameNode) throws SemanticException {
      switch (funcNameNode.getType()) {
        case HiveParser.TOK_CHAR:
          return ParseUtils.getCharTypeInfo(funcNameNode);
        case HiveParser.TOK_VARCHAR:
          return ParseUtils.getVarcharTypeInfo(funcNameNode);
        case HiveParser.TOK_TIMESTAMPLOCALTZ:
          TimestampLocalTZTypeInfo timestampLocalTZTypeInfo = new TimestampLocalTZTypeInfo();
          HiveConf conf;
          try {
            conf = Hive.get().getConf();
          } catch (HiveException e) {
            throw new SemanticException(e);
          }
          timestampLocalTZTypeInfo.setTimeZone(conf.getLocalTimeZone());
          return timestampLocalTZTypeInfo;
        case HiveParser.TOK_DECIMAL:
          return ParseUtils.getDecimalTypeTypeInfo(funcNameNode);
        case HiveParser.TOK_MAP:
        case HiveParser.TOK_LIST:
        case HiveParser.TOK_STRUCT:
          return ParseUtils.getComplexTypeTypeInfo(funcNameNode);
        default:
          return null;
      }
    }
@param column  column expression to convert
@param tableFieldTypeInfo TypeInfo to convert to
@return Expression converting column to the type specified by tableFieldTypeInfo
ql/src/java/org/apache/hadoop/hive/ql/parse/type/TypeCheckProcFactory.java