
  PROCEDURE [INLINE] clp$get_field_type_desc
    (    field_name: clt$field_name;
         value: ^clt$data_value;
     VAR type_description {input, output} : ^clt$type_description);

?? PUSH (LISTEXT := ON) ??

    VAR
      i: clt$field_number;


    IF (type_description <> NIL) AND (type_description^.kind = clc$record_type)
          THEN
      FOR i := 1 TO type_description^.fields_pdt^.header^.
            number_of_parameters DO
        IF type_description^.fields_pdt^.names^ [i].name = field_name THEN
          type_description := ^type_description^.fields_pdt^.
                type_descriptions^ [i];
          IF value <> NIL THEN
            clp$get_value_type_desc (value, FALSE, type_description);
          IFEND;
          RETURN;
        IFEND;
      FOREND;
    IFEND;
    type_description := NIL;

  PROCEND clp$get_field_type_desc;

*copyc clt$data_value
*copyc clt$field_name
*copyc clt$type_description
?? POP ??
*copyc clp$get_value_type_desc
