diff options
Diffstat (limited to 'Build/source/utils/asymptote/name.cc')
-rw-r--r-- | Build/source/utils/asymptote/name.cc | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/Build/source/utils/asymptote/name.cc b/Build/source/utils/asymptote/name.cc index 41280351ccf..0c822792e0c 100644 --- a/Build/source/utils/asymptote/name.cc +++ b/Build/source/utils/asymptote/name.cc @@ -170,22 +170,7 @@ bool qualifiedName::varTransVirtual(action act, coenv &e, // Push qualifier onto stack. qualifier->varTrans(READ, e, qt); - if (act == WRITE) { - em.error(getPos()); - em << "virtual field '" << *id << "' of '" << *qt - << "' cannot be modified"; - } - else { - // Call instead of reading as it is a virtual field. - v->encode(CALL, getPos(), e.c); - e.implicitCast(getPos(), target, v->getType()); - - if (act == CALL) - // In this case, the virtual field will construct a vm::func object - // and push it on the stack. - // Then, pop and call the function. - e.c.encode(inst::popcall); - } + v->encode(act, getPos(), e.c); // A virtual field was used. return true; |