return exprFor ((VariableReference) expr); case ErrorExpression: throw new LuxException ("A potential run-time error was detected during compilation: " + ((ErrorExpression) expr).getException().getMessageAndLocation(), ((ErrorExpression) expr).getException()); default: throw new UnsupportedOperationException("unhandled expression type: " + expr.getClass().getSimpleName() + " in " + expr.toString());