Enumerate related modules when I execute flow check
command.
ServerCommands.CheckCommand.command が呼び出される。
command の定義は 368 行目。main が呼び出される。 mainではオプションの処理をいろいろやって、Main.startを呼び出す。 Mainはファイル冒頭にあって、Server.FlowProgramを呼び出す。
ServerFunctors.ServerMainによってhandle_clientが呼び出されて、
ServerProt.cmd_from_channelでコマンドを受け取る。
コマンドはrespondで処理される。
どこで flow check
が CHECK_FILE
にマッピングされているのかわからなかった。
check_file
が呼び出される。チェックすべきか判定して、
Types_js.typecheck_contents
が呼び出される。
結果は ServerProt.response_to_channel
経由で返す。
typecheck_contents
では Parsing_service_js.do_parse
を呼び出す。
do_parse
では parse_source_file
を呼び出す。
parse_source_file
では Parser_flow.program_file
を呼び出す。
program_file
=> parse_program
=> do_parse
を経て、 Parse.program
が呼び出される。
Parse.program
は再帰関数である。