SuccessChanges

Summary

  1. [Syntax] Add nodes for most common statements (details)
Commit 58fa50f43701097640a4ee5547aee1e4a4eea454 by ibiryukov
[Syntax] Add nodes for most common statements
Summary: Most of the statements mirror the ones provided by clang AST.
Major differences are:
- expressions are wrapped into 'ExpressionStatement' instead of being
   a subclass of statement,
- semicolons are always consumed by the leaf expressions (return,
   expression satement, etc),
- some clang statements are not handled yet, we wrap those into an
   UnknownStatement class, which is not present in clang.
We also define an 'Expression' and 'UnknownExpression' classes in order
to produce 'ExpressionStatement' where needed. The actual implementation
of expressions is not yet ready, it will follow later.
Reviewers: sammccall
Reviewed By: sammccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63835
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h