summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/virtualfieldaccess.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/virtualfieldaccess.cc')
-rw-r--r--Build/source/utils/asymptote/virtualfieldaccess.cc8
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);