lib/Frontend コードリーディング(全体)
概要
swift/lib/Frontend at master · apple/swift · GitHub
- 概要
- ArgsToFrontendInputsConverter.cpp
- ArgsToFrontendOptionsConverter.cpp
- ArgsToFrontendOutputsConverter.cpp
- CompilerInvocation.cpp
- DiagnosticVerifier.cpp
- Frontend.cpp
- FrontendInputsAndOutputs.cpp
- FrontendOptions.cpp
- PrintingDiagnosticConsumer.cpp
- SerializedDiagnosticConsumer.cpp
ArgsToFrontendInputsConverter.cpp
ArgsToFrontendOptionsConverter.cpp
ArgsToFrontendOutputsConverter.cpp
CompilerInvocation.cpp
DiagnosticVerifier.cpp
Frontend.cpp
CompilerInstance
performSema
void CompilerInstance::performSema()
メモ
CompilerInstanceが保持しているASTContext型のContextのメンバ変数のLoadedModulesというmapにMainModuleを保持させる
入力モードを確認しSILモードがあればSILのモジュールを作成する
- Stdlibモードかを確認しStdlibモジュールを読み込む
- xxx shouldImplicityImportSwiftOnoneSupportModule?
- REPLかを確認しREPLであればREPL用のファイルを作成し終了
if (MainBufferID != NO_SUCH_BUFFER) addMainFileToModule(implicitImports)
- parseAndCheckTypes