Standardize the reader methods in ASTReader; NFC.

Authored by rjmccall on Dec 13 2019, 12:37 AM.


Standardize the reader methods in ASTReader; NFC.

There are three significant changes here:

  • Most of the methods to read various embedded structures (APInt, NestedNameSpecifier, DeclarationName, etc.) have been moved from ASTReader to ASTRecordReader. This cleans up quite a bit of code which was passing around (F, Record, Idx) arguments everywhere or doing explicit indexing, and it nicely parallels how it works on the writer side. It also sets us up to then move most of these methods into the BasicReaders that I'm introducing as part of abstract serialization.

    As part of this, several of the top-level reader methods (e.g. readTypeRecord) have been converted to use ASTRecordReader internally, which is a nice readability improvement.
  • I've standardized most of these method names on readFoo rather than ReadFoo (used in some of the helper structures) or GetFoo (used for some specific types for no apparent reason).
  • I've changed a few of these methods to return their result instead of reading into an argument passed by reference. This is partly for general consistency and partly because it will make the metaprogramming easier with abstract serialization.


rjmccallDec 13 2019, 9:16 PM
rG139006ceb641: Extract the TypeClass <-> TypeCode map into a .def file; NFC.