New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split up compiler.cpp #15355

wants to merge 6 commits into
base: master


None yet
4 participants
Copy link

zdevito commented Dec 18, 2018

This separates the different parts of compiler.cpp to make their relationship more clear. In particular it adds:

  • sugared_value.{h,cpp} - all the public SugaredValues that the compiler defines and a few that were inside compiler.cpp
  • type_parser.{h, cpp} - Turns TreeRef's defining types into TypePtr
  • schema_matching.{h, cpp} - infrastructure for matching arguments against overloaded schema and emitting builtin operators with a particular schema.
  • compiler.{h, cpp} - now responsible simply for the defineMethodsInModule infra structure.

Some utility functions like inlineCallTo have moved to ir.h.

Only thing that is not a move is some changes in module.h/cpp that remove multiple returns from Method::emit_call_to.


suo approved these changes Dec 18, 2018

Copy link

suo left a comment

stamping in the interest of minimizing potential breakage window

Copy link

facebook-github-bot left a comment

@zdevito has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment