Given a dotted path in the format ``class_name`` or
        ``class_name:method_name`` this performs an alias lookup.  For
        methods the line number must be supplied or the result is
        unreliable.

def lookup(self, dotted_path, lineno=None):
        """Given a dotted path in the format ``class_name`` or
        ``class_name:method_name`` this performs an alias lookup.  For
        methods the line number must be supplied or the result is
        unreliable.
        """
        rv = None
        try:
            rv = rustcall(
                _lib.lsm_proguard_mapping_convert_dotted_path,
                self._get_ptr(),
                dotted_path.encode('utf-8'), lineno or 0)
            return _ffi.string(rv).decode('utf-8', 'replace')
        finally:
            if rv is not None:
                _lib.lsm_buffer_free(rv)