/** @apilevel internal */ private TypeDecl sourceType_compute() { TypeDecl left = getDest().type(); TypeDecl right = getSource().type(); if (!left.isString() && !right.isString()) return super.sourceType(); if (left.isVoid() || right.isVoid()) return unknownType(); return left.isString() ? left : right; }