diff options
Diffstat (limited to 'Build/source/utils/asymptote/virtualfieldaccess.cc')
-rw-r--r-- | Build/source/utils/asymptote/virtualfieldaccess.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Build/source/utils/asymptote/virtualfieldaccess.cc b/Build/source/utils/asymptote/virtualfieldaccess.cc index 810c71fa3f5..aed130f33a6 100644 --- a/Build/source/utils/asymptote/virtualfieldaccess.cc +++ b/Build/source/utils/asymptote/virtualfieldaccess.cc @@ -14,8 +14,12 @@ void virtualFieldAccess::encode(action act, position pos, coder &e) { switch(act) { case CALL: - this->encode(READ, pos, e); - e.encode(inst::popcall); + if (caller) { + caller->encode(CALL, pos, e); + } else { + this->encode(READ, pos, e); + e.encode(inst::popcall); + } return; case READ: assert(getter); |