4.5.3-1.1 总体流程
类型检查的总体流程定义在$GCROOT/compile/internal/types2/check.go
文件的方法checkFiles
中,主体代码如下:
这里只保留了体现类型检查步骤的代码,删除的部分并不会影响我们对整个流程的理解。这几个方法包含了类型检查的所有重要内容,概括起来可以分为三个部分:
类型检查准备工作 check.initFiles(files) 与 check.collectObjects()
类型检查 check.packageObjects() 与 check.processDelayed(0)
确定全局变量初始化顺序 check.initOrder()
我们接下来对各个部分进行分析。
最后更新于