Mercurial > vim
comparison src/vim9expr.c @ 31754:48431422f766 v9.0.1209
patch 9.0.1209: getting interface member does not always work
Commit: https://github.com/vim/vim/commit/29ac5df37baf7e6e751c7ebd4ab37a2aa826e9e6
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jan 16 19:43:47 2023 +0000
patch 9.0.1209: getting interface member does not always work
Problem: Getting interface member does not always work.
Solution: Convert the index on the interface to the index on the object.
(closes #11825)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 16 Jan 2023 20:45:04 +0100 |
parents | 1b2bde0c64f2 |
children | 64f03e860c91 |
comparison
equal
deleted
inserted
replaced
31753:048ae7b3fdd6 | 31754:48431422f766 |
---|---|
362 semsg(_(e_cannot_access_private_member_str), m->ocm_name); | 362 semsg(_(e_cannot_access_private_member_str), m->ocm_name); |
363 return FAIL; | 363 return FAIL; |
364 } | 364 } |
365 | 365 |
366 *arg = name_end; | 366 *arg = name_end; |
367 if (cl->class_flags & CLASS_INTERFACE) | |
368 return generate_GET_ITF_MEMBER(cctx, cl, i, m->ocm_type); | |
367 return generate_GET_OBJ_MEMBER(cctx, i, m->ocm_type); | 369 return generate_GET_OBJ_MEMBER(cctx, i, m->ocm_type); |
368 } | 370 } |
369 } | 371 } |
370 | 372 |
371 semsg(_(e_member_not_found_on_object_str_str), cl->class_name, name); | 373 semsg(_(e_member_not_found_on_object_str_str), cl->class_name, name); |