public override object VisitFunctionCallOnExpression([NotNull] ClepsParser.FunctionCallOnExpressionContext context)
        {
            IValue expressionValue     = Visit(context.rightHandExpression()) as IValue;
            bool   isMembersAccessible = !expressionValue.ExpressionType.IsStaticType;

            return(doFunctionCall(context.functionCall(), expressionValue.ExpressionType, isMembersAccessible, false /* allowVoidReturn */));
        }
        public override object VisitFunctionCallOnExpression([NotNull] ClepsParser.FunctionCallOnExpressionContext context)
        {
            IValue target = Visit(context.rightHandExpression()) as IValue;

            return(doFunctionCall(context.functionCall(), target, target.ExpressionType, false /* allowVoidReturn */));
        }