public override IPStmt VisitReturnStmt(PParser.ReturnStmtContext context)
        {
            IPExpr        returnValue = context.expr() == null ? null : exprVisitor.Visit(context.expr());
            PLanguageType returnType  = returnValue?.Type ?? PrimitiveType.Null;

            if (!method.Signature.ReturnType.IsAssignableFrom(returnType))
            {
                throw handler.TypeMismatch(context, returnType, method.Signature.ReturnType);
            }
            return(new ReturnStmt(context, returnValue));
        }
 public override object VisitReturnStmt(PParser.ReturnStmtContext context)
 {
     return(null);
 }