如何解决如何推断函数的返回类型?
我正在开发一种可编译为Javascript的类型化编程语言。 现在,我在推断函数的返回类型时遇到了一些麻烦。
我尚未实现并集或交集类型。到目前为止,该语言仅支持基本类型, 用户定义的类/函数类型和泛型(例如Array)。它的语法与Python非常相似,类型系统或多或少相似。
例如,以下代码块的返回类型为number
。
func foo(a: number):
for i = 1,a:
if i <= 10:
return 10
return 11
我可以根据运算符(+-* / ...)和函数类型签名来推断表达式的类型。
但是,如何推断函数的类型,因为它们内部有语句,而if
内的语句可能并不总是返回?
任何帮助表示感谢,谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。