code: def get_qualified_type(stmt):
      
      type_obj = stmt.search_one('type')
      fq_type_name = None
      if type_obj:
          if getattr(type_obj, 'i_typedef', None):
              # If type_obj has typedef, substitute.
              # Absolute module:type instead of prefix:type
              type_obj = type_obj.i_typedef
          type_name = type_obj.arg
          if check_primitive_type(type_obj):
              # Doesn't make sense to qualify a primitive..I think.
              fq_type_name = type_name
          else:
              type_module = type_obj.i_orig_module.arg
              fq_type_name = '%s:%s' % (type_module, type_name)
      return fq_type_name
docs: Gets the qualified, top-level type of the node.
      This enters the typedef if defined instead of using the prefix
      to ensure absolute distinction.