lib/Frontend コードリーディング(全体)

概要

swift/lib/Frontend at master · apple/swift · GitHub

ArgsToFrontendInputsConverter.cpp

ArgsToFrontendOptionsConverter.cpp

ArgsToFrontendOutputsConverter.cpp

CompilerInvocation.cpp

DiagnosticVerifier.cpp

Frontend.cpp

CompilerInstance

performSema

void CompilerInstance::performSema()

メモ

  1. CompilerInstanceが保持しているASTContext型のContextのメンバ変数のLoadedModulesというmapにMainModuleを保持させる

  2. 入力モードを確認しSILモードがあればSILのモジュールを作成する

  3. Stdlibモードかを確認しStdlibモジュールを読み込む
  4. xxx shouldImplicityImportSwiftOnoneSupportModule?
  5. REPLかを確認しREPLであればREPL用のファイルを作成し終了
  6. if (MainBufferID != NO_SUCH_BUFFER) addMainFileToModule(implicitImports)
  7. parseAndCheckTypes

FrontendInputsAndOutputs.cpp

FrontendOptions.cpp

PrintingDiagnosticConsumer.cpp

SerializedDiagnosticConsumer.cpp