This patch implements some expression-related AST node import (patch #2).
- Some code cleanup
- Add tests not present in http://reviews.llvm.org/D14286
- Integrate a test suite from Serge Pavlov (http://reviews.llvm.org/D14224)
- ArrayTypeTraitExpr: serialize sub-expression to avoid keeping it undefined
- Implement import of some nodes:
ArrayTypeTraitExpr
ExpressionTraitExpr
OpaqueValueExpr
ArraySubscriptExpr
ExplicitCastExpr
ImplicitValueInitExpr
OffsetOfExpr
CXXThisExpr
CXXThrowExpr
CXXNoexceptExpr
CXXDefaultArgExpr
CXXScalarValueInitExpr
CXXBindTemporaryExpr
CXXTemporaryObjectExpr
MaterializeTemporaryExpr
ExprWithCleanups
StaticAssertDecl
FriendDecl
DecayedType
I would expect this to be checked for nullptr and this function to error out.