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