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);