CodeBlockItem represents Decl, Stmt or Expr that optionally followed by semi-colon. SourceFile syntax holds a list of CodeBlockItem.
* [Experiment] Make Syntax nodes structs instead of classes * [Experiment] Add Hashable conformance to concrete types * Fix pep8 violation * Remove AnySyntax, explicitly specialize SyntaxCollection nodes * Refine the comment for SyntaxCollection nodes
* Generate libSyntax API This patch removes the hand-rolled libSyntax API and replaces it with an API that's entirely automatically generated. This means the API is guaranteed to be internally stylistically and functionally consistent.