Browse Source

Exposed the type of expressions

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1186/head
Dimitar Dobrev 6 years ago
parent
commit
407295019d
  1. 262
      src/AST/Stmt.cs
  2. 88
      src/CppParser/Bindings/CLI/Expr.cpp
  3. 45
      src/CppParser/Bindings/CLI/Expr.h
  4. 44
      src/CppParser/Bindings/CLI/Stmt.cpp
  5. 285
      src/CppParser/Bindings/CLI/Stmt.h
  6. 6041
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
  7. 6029
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  8. 6039
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
  9. 6037
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
  10. 6039
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
  11. 6041
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  12. 30
      src/CppParser/Bootstrap/Bootstrap.cs
  13. 95
      src/CppParser/ParseExpr.cpp
  14. 30
      src/CppParser/ParseStmt.cpp
  15. 2
      src/CppParser/Stmt.cpp
  16. 263
      src/CppParser/Stmt.h
  17. 384
      src/Parser/ASTConverter.Expr.cs
  18. 314
      src/Parser/ASTConverter.Stmt.cs

262
src/AST/Stmt.cs

@ -10,143 +10,145 @@ using System.Collections.Generic; @@ -10,143 +10,145 @@ using System.Collections.Generic;
namespace CppSharp.AST
{
public enum StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196,
}
public partial class Stmt
{
public enum StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196,
}
public Stmt()
{
}
public Stmt.StmtClass stmtClass { get; set; }
public SourceRange SourceRange { get; set; }
public SourceLocation BeginLoc { get; set; }
public SourceLocation EndLoc { get; set; }
public Stmt StripLabelLikeStatements { get; set; }
}

88
src/CppParser/Bindings/CLI/Expr.cpp

@ -155,11 +155,11 @@ CppSharp::Parser::AST::Expr::Expr() @@ -155,11 +155,11 @@ CppSharp::Parser::AST::Expr::Expr()
NativePtr = new ::CppSharp::CppParser::AST::Expr();
}
CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::Expr(__arg0);
}
@ -173,9 +173,9 @@ CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::Expr^ _0) @@ -173,9 +173,9 @@ CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::Expr^ _0)
NativePtr = new ::CppSharp::CppParser::AST::Expr(__arg0);
}
CppSharp::Parser::AST::Expr::operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::Expr::operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::Expr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::Expr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)____ret);
@ -344,11 +344,11 @@ CppSharp::Parser::AST::FullExpr::FullExpr() @@ -344,11 +344,11 @@ CppSharp::Parser::AST::FullExpr::FullExpr()
NativePtr = new ::CppSharp::CppParser::AST::FullExpr();
}
CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::FullExpr(__arg0);
}
@ -362,9 +362,9 @@ CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::FullExpr^ _0) @@ -362,9 +362,9 @@ CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::FullExpr^ _0)
NativePtr = new ::CppSharp::CppParser::AST::FullExpr(__arg0);
}
CppSharp::Parser::AST::FullExpr::operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::FullExpr::operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::FullExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::FullExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)____ret);
@ -1634,11 +1634,11 @@ CppSharp::Parser::AST::CallExpr::CallExpr() @@ -1634,11 +1634,11 @@ CppSharp::Parser::AST::CallExpr::CallExpr()
NativePtr = new ::CppSharp::CppParser::AST::CallExpr();
}
CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0);
}
@ -1672,9 +1672,9 @@ CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::CallExpr^ _0) @@ -1672,9 +1672,9 @@ CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::CallExpr^ _0)
NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0);
}
CppSharp::Parser::AST::CallExpr::operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CallExpr::operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::CallExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::CallExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)____ret);
@ -2045,11 +2045,11 @@ CppSharp::Parser::AST::CastExpr::CastExpr() @@ -2045,11 +2045,11 @@ CppSharp::Parser::AST::CastExpr::CastExpr()
NativePtr = new ::CppSharp::CppParser::AST::CastExpr();
}
CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::CastExpr(__arg0);
}
@ -2063,9 +2063,9 @@ CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::CastExpr^ _0) @@ -2063,9 +2063,9 @@ CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::CastExpr^ _0)
NativePtr = new ::CppSharp::CppParser::AST::CastExpr(__arg0);
}
CppSharp::Parser::AST::CastExpr::operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CastExpr::operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::CastExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::CastExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)____ret);
@ -2204,11 +2204,11 @@ CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr() @@ -2204,11 +2204,11 @@ CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr()
NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr();
}
CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__arg0);
}
@ -2222,9 +2222,9 @@ CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST: @@ -2222,9 +2222,9 @@ CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST:
NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__arg0);
}
CppSharp::Parser::AST::ExplicitCastExpr::operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::ExplicitCastExpr::operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::ExplicitCastExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)____ret);
@ -2322,11 +2322,11 @@ CppSharp::Parser::AST::BinaryOperator::BinaryOperator() @@ -2322,11 +2322,11 @@ CppSharp::Parser::AST::BinaryOperator::BinaryOperator()
NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator();
}
CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0);
}
@ -2340,9 +2340,9 @@ CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::Bin @@ -2340,9 +2340,9 @@ CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::Bin
NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0);
}
CppSharp::Parser::AST::BinaryOperator::operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::BinaryOperator::operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::BinaryOperator) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::BinaryOperator(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*)____ret);
@ -2618,11 +2618,11 @@ CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator( @@ -2618,11 +2618,11 @@ CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(
NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator();
}
CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__arg0);
}
@ -2636,9 +2636,9 @@ CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator( @@ -2636,9 +2636,9 @@ CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(
NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__arg0);
}
CppSharp::Parser::AST::AbstractConditionalOperator::operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::AbstractConditionalOperator::operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::AbstractConditionalOperator) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)____ret);
@ -4851,11 +4851,11 @@ CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr() @@ -4851,11 +4851,11 @@ CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr()
NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr();
}
CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__arg0);
}
@ -4869,9 +4869,9 @@ CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST: @@ -4869,9 +4869,9 @@ CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST:
NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__arg0);
}
CppSharp::Parser::AST::CXXNamedCastExpr::operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CXXNamedCastExpr::operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::CXXNamedCastExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)____ret);
@ -5814,11 +5814,11 @@ CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr() @@ -5814,11 +5814,11 @@ CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr()
NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr();
}
CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0);
}
@ -5852,9 +5852,9 @@ CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST: @@ -5852,9 +5852,9 @@ CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST:
NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0);
}
CppSharp::Parser::AST::CXXConstructExpr::operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CXXConstructExpr::operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::CXXConstructExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::CXXConstructExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)____ret);
@ -7014,11 +7014,11 @@ CppSharp::Parser::AST::OverloadExpr::OverloadExpr() @@ -7014,11 +7014,11 @@ CppSharp::Parser::AST::OverloadExpr::OverloadExpr()
NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr();
}
CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr(__arg0);
}
@ -7032,9 +7032,9 @@ CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::Overloa @@ -7032,9 +7032,9 @@ CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::Overloa
NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr(__arg0);
}
CppSharp::Parser::AST::OverloadExpr::operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::OverloadExpr::operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::OverloadExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::OverloadExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)____ret);
@ -8359,11 +8359,11 @@ CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr() @@ -8359,11 +8359,11 @@ CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr()
NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr();
}
CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__arg0);
}
@ -8377,9 +8377,9 @@ CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Pars @@ -8377,9 +8377,9 @@ CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Pars
NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__arg0);
}
CppSharp::Parser::AST::CoroutineSuspendExpr::operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::CoroutineSuspendExpr::operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::CoroutineSuspendExpr) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)____ret);

45
src/CppParser/Bindings/CLI/Expr.h

@ -22,7 +22,6 @@ namespace CppSharp @@ -22,7 +22,6 @@ namespace CppSharp
enum struct CastKind;
enum struct ObjCBridgeCastKind;
enum struct OverloadedOperatorKind;
enum struct StmtClass;
enum struct UnaryExprOrTypeTrait;
enum struct UnaryOperatorKind;
ref class AbstractConditionalOperator;
@ -503,7 +502,7 @@ namespace CppSharp @@ -503,7 +502,7 @@ namespace CppSharp
static Expr^ __CreateInstance(::System::IntPtr native);
Expr();
Expr(CppSharp::Parser::AST::StmtClass klass);
Expr(CppSharp::Parser::AST::Stmt::StmtClass klass);
Expr(CppSharp::Parser::AST::Expr^ _0);
@ -593,7 +592,7 @@ namespace CppSharp @@ -593,7 +592,7 @@ namespace CppSharp
void set(bool);
}
static operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class FullExpr : CppSharp::Parser::AST::Expr
@ -604,7 +603,7 @@ namespace CppSharp @@ -604,7 +603,7 @@ namespace CppSharp
static FullExpr^ __CreateInstance(::System::IntPtr native);
FullExpr();
FullExpr(CppSharp::Parser::AST::StmtClass klass);
FullExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
FullExpr(CppSharp::Parser::AST::FullExpr^ _0);
@ -616,7 +615,7 @@ namespace CppSharp @@ -616,7 +615,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::Expr^);
}
static operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class ConstantExpr : CppSharp::Parser::AST::FullExpr
@ -1284,7 +1283,7 @@ namespace CppSharp @@ -1284,7 +1283,7 @@ namespace CppSharp
static CallExpr^ __CreateInstance(::System::IntPtr native);
CallExpr();
CallExpr(CppSharp::Parser::AST::StmtClass klass);
CallExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
CallExpr(CppSharp::Parser::AST::CallExpr^ _0);
@ -1355,7 +1354,7 @@ namespace CppSharp @@ -1355,7 +1354,7 @@ namespace CppSharp
void Cleararguments();
static operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class MemberExpr : CppSharp::Parser::AST::Expr
@ -1488,7 +1487,7 @@ namespace CppSharp @@ -1488,7 +1487,7 @@ namespace CppSharp
static CastExpr^ __CreateInstance(::System::IntPtr native);
CastExpr();
CastExpr(CppSharp::Parser::AST::StmtClass klass);
CastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
CastExpr(CppSharp::Parser::AST::CastExpr^ _0);
@ -1536,7 +1535,7 @@ namespace CppSharp @@ -1536,7 +1535,7 @@ namespace CppSharp
void set(unsigned int);
}
static operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class ImplicitCastExpr : CppSharp::Parser::AST::CastExpr
@ -1571,7 +1570,7 @@ namespace CppSharp @@ -1571,7 +1570,7 @@ namespace CppSharp
static ExplicitCastExpr^ __CreateInstance(::System::IntPtr native);
ExplicitCastExpr();
ExplicitCastExpr(CppSharp::Parser::AST::StmtClass klass);
ExplicitCastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
ExplicitCastExpr(CppSharp::Parser::AST::ExplicitCastExpr^ _0);
@ -1583,7 +1582,7 @@ namespace CppSharp @@ -1583,7 +1582,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::QualifiedType^);
}
static operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CStyleCastExpr : CppSharp::Parser::AST::ExplicitCastExpr
@ -1619,7 +1618,7 @@ namespace CppSharp @@ -1619,7 +1618,7 @@ namespace CppSharp
static BinaryOperator^ __CreateInstance(::System::IntPtr native);
BinaryOperator();
BinaryOperator(CppSharp::Parser::AST::StmtClass klass);
BinaryOperator(CppSharp::Parser::AST::Stmt::StmtClass klass);
BinaryOperator(CppSharp::Parser::AST::BinaryOperator^ _0);
@ -1739,7 +1738,7 @@ namespace CppSharp @@ -1739,7 +1738,7 @@ namespace CppSharp
void set(bool);
}
static operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CompoundAssignOperator : CppSharp::Parser::AST::BinaryOperator
@ -1775,7 +1774,7 @@ namespace CppSharp @@ -1775,7 +1774,7 @@ namespace CppSharp
static AbstractConditionalOperator^ __CreateInstance(::System::IntPtr native);
AbstractConditionalOperator();
AbstractConditionalOperator(CppSharp::Parser::AST::StmtClass klass);
AbstractConditionalOperator(CppSharp::Parser::AST::Stmt::StmtClass klass);
AbstractConditionalOperator(CppSharp::Parser::AST::AbstractConditionalOperator^ _0);
@ -1811,7 +1810,7 @@ namespace CppSharp @@ -1811,7 +1810,7 @@ namespace CppSharp
void set(CppSharp::Parser::SourceLocation);
}
static operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class ConditionalOperator : CppSharp::Parser::AST::AbstractConditionalOperator
@ -2946,7 +2945,7 @@ namespace CppSharp @@ -2946,7 +2945,7 @@ namespace CppSharp
static CXXNamedCastExpr^ __CreateInstance(::System::IntPtr native);
CXXNamedCastExpr();
CXXNamedCastExpr(CppSharp::Parser::AST::StmtClass klass);
CXXNamedCastExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
CXXNamedCastExpr(CppSharp::Parser::AST::CXXNamedCastExpr^ _0);
@ -2976,7 +2975,7 @@ namespace CppSharp @@ -2976,7 +2975,7 @@ namespace CppSharp
void set(CppSharp::Parser::SourceRange^);
}
static operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CXXStaticCastExpr : CppSharp::Parser::AST::CXXNamedCastExpr
@ -3412,7 +3411,7 @@ namespace CppSharp @@ -3412,7 +3411,7 @@ namespace CppSharp
static CXXConstructExpr^ __CreateInstance(::System::IntPtr native);
CXXConstructExpr();
CXXConstructExpr(CppSharp::Parser::AST::StmtClass klass);
CXXConstructExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
CXXConstructExpr(CppSharp::Parser::AST::CXXConstructExpr^ _0);
@ -3483,7 +3482,7 @@ namespace CppSharp @@ -3483,7 +3482,7 @@ namespace CppSharp
void Cleararguments();
static operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CXXInheritedCtorInitExpr : CppSharp::Parser::AST::Expr
@ -4007,7 +4006,7 @@ namespace CppSharp @@ -4007,7 +4006,7 @@ namespace CppSharp
static OverloadExpr^ __CreateInstance(::System::IntPtr native);
OverloadExpr();
OverloadExpr(CppSharp::Parser::AST::StmtClass klass);
OverloadExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
OverloadExpr(CppSharp::Parser::AST::OverloadExpr^ _0);
@ -4061,7 +4060,7 @@ namespace CppSharp @@ -4061,7 +4060,7 @@ namespace CppSharp
void set(unsigned int);
}
static operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class UnresolvedLookupExpr : CppSharp::Parser::AST::OverloadExpr
@ -4687,7 +4686,7 @@ namespace CppSharp @@ -4687,7 +4686,7 @@ namespace CppSharp
static CoroutineSuspendExpr^ __CreateInstance(::System::IntPtr native);
CoroutineSuspendExpr();
CoroutineSuspendExpr(CppSharp::Parser::AST::StmtClass klass);
CoroutineSuspendExpr(CppSharp::Parser::AST::Stmt::StmtClass klass);
CoroutineSuspendExpr(CppSharp::Parser::AST::CoroutineSuspendExpr^ _0);
@ -4729,7 +4728,7 @@ namespace CppSharp @@ -4729,7 +4728,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::Expr^);
}
static operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CoawaitExpr : CppSharp::Parser::AST::CoroutineSuspendExpr

44
src/CppParser/Bindings/CLI/Stmt.cpp

@ -35,10 +35,10 @@ CppSharp::Parser::AST::Stmt::Stmt() @@ -35,10 +35,10 @@ CppSharp::Parser::AST::Stmt::Stmt()
NativePtr = new ::CppSharp::CppParser::AST::Stmt();
}
CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::Stmt(__arg0);
}
@ -51,9 +51,9 @@ CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::Stmt^ _0) @@ -51,9 +51,9 @@ CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::Stmt^ _0)
NativePtr = new ::CppSharp::CppParser::AST::Stmt(__arg0);
}
CppSharp::Parser::AST::Stmt::operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::Stmt::operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::Stmt) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::Stmt(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)____ret);
@ -69,14 +69,14 @@ void CppSharp::Parser::AST::Stmt::__Instance::set(System::IntPtr object) @@ -69,14 +69,14 @@ void CppSharp::Parser::AST::Stmt::__Instance::set(System::IntPtr object)
NativePtr = (::CppSharp::CppParser::AST::Stmt*)object.ToPointer();
}
CppSharp::Parser::AST::StmtClass CppSharp::Parser::AST::Stmt::StmtClass::get()
CppSharp::Parser::AST::Stmt::StmtClass CppSharp::Parser::AST::Stmt::stmtClass::get()
{
return (CppSharp::Parser::AST::StmtClass)((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass;
return (CppSharp::Parser::AST::Stmt::StmtClass)((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass;
}
void CppSharp::Parser::AST::Stmt::StmtClass::set(CppSharp::Parser::AST::StmtClass value)
void CppSharp::Parser::AST::Stmt::stmtClass::set(CppSharp::Parser::AST::Stmt::StmtClass value)
{
((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass = (::CppSharp::CppParser::AST::StmtClass)value;
((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass = (::CppSharp::CppParser::AST::Stmt::StmtClass)value;
}
CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::Stmt::SourceRange::get()
@ -89,6 +89,18 @@ void CppSharp::Parser::AST::Stmt::SourceRange::set(CppSharp::Parser::SourceRange @@ -89,6 +89,18 @@ void CppSharp::Parser::AST::Stmt::SourceRange::set(CppSharp::Parser::SourceRange
((::CppSharp::CppParser::AST::Stmt*)NativePtr)->sourceRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr;
}
CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Stmt::BeginLoc::get()
{
return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Stmt*)NativePtr)->beginLoc);
}
void CppSharp::Parser::AST::Stmt::BeginLoc::set(CppSharp::Parser::SourceLocation value)
{
auto _marshal0 = ::CppSharp::CppParser::SourceLocation();
_marshal0.ID = value.ID;
((::CppSharp::CppParser::AST::Stmt*)NativePtr)->beginLoc = _marshal0;
}
CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Stmt::EndLoc::get()
{
return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Stmt*)NativePtr)->endLoc);
@ -439,11 +451,11 @@ CppSharp::Parser::AST::SwitchCase::SwitchCase() @@ -439,11 +451,11 @@ CppSharp::Parser::AST::SwitchCase::SwitchCase()
NativePtr = new ::CppSharp::CppParser::AST::SwitchCase();
}
CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::SwitchCase(__arg0);
}
@ -457,9 +469,9 @@ CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::SwitchCase^ @@ -457,9 +469,9 @@ CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::SwitchCase^
NativePtr = new ::CppSharp::CppParser::AST::SwitchCase(__arg0);
}
CppSharp::Parser::AST::SwitchCase::operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::SwitchCase::operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::SwitchCase) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::SwitchCase(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)____ret);
@ -1585,11 +1597,11 @@ CppSharp::Parser::AST::AsmStmt::AsmStmt() @@ -1585,11 +1597,11 @@ CppSharp::Parser::AST::AsmStmt::AsmStmt()
NativePtr = new ::CppSharp::CppParser::AST::AsmStmt();
}
CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::Stmt::StmtClass klass)
: CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr)
{
__ownsNativeInstance = true;
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
NativePtr = new ::CppSharp::CppParser::AST::AsmStmt(__arg0);
}
@ -1643,9 +1655,9 @@ CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::AsmStmt^ _0) @@ -1643,9 +1655,9 @@ CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::AsmStmt^ _0)
NativePtr = new ::CppSharp::CppParser::AST::AsmStmt(__arg0);
}
CppSharp::Parser::AST::AsmStmt::operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::StmtClass klass)
CppSharp::Parser::AST::AsmStmt::operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::Stmt::StmtClass klass)
{
auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass;
auto __arg0 = (::CppSharp::CppParser::AST::Stmt::StmtClass)klass;
auto __ret = (::CppSharp::CppParser::AST::AsmStmt) __arg0;
auto ____ret = new ::CppSharp::CppParser::AST::AsmStmt(__ret);
return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)____ret);

285
src/CppParser/Bindings/CLI/Stmt.h

@ -17,7 +17,6 @@ namespace CppSharp @@ -17,7 +17,6 @@ namespace CppSharp
ref class SourceRange;
namespace AST
{
enum struct StmtClass;
ref class AsmStmt;
ref class AttributedStmt;
ref class BreakStmt;
@ -64,140 +63,140 @@ namespace CppSharp @@ -64,140 +63,140 @@ namespace CppSharp
{
namespace AST
{
public enum struct StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196
};
public ref class Stmt : ICppInstance
{
public:
enum struct StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196
};
property ::CppSharp::CppParser::AST::Stmt* NativePtr;
property System::IntPtr __Instance
{
@ -209,16 +208,16 @@ namespace CppSharp @@ -209,16 +208,16 @@ namespace CppSharp
static Stmt^ __CreateInstance(::System::IntPtr native);
Stmt();
Stmt(CppSharp::Parser::AST::StmtClass klass);
Stmt(CppSharp::Parser::AST::Stmt::StmtClass klass);
Stmt(CppSharp::Parser::AST::Stmt^ _0);
~Stmt();
property CppSharp::Parser::AST::StmtClass StmtClass
property CppSharp::Parser::AST::Stmt::StmtClass stmtClass
{
CppSharp::Parser::AST::StmtClass get();
void set(CppSharp::Parser::AST::StmtClass);
CppSharp::Parser::AST::Stmt::StmtClass get();
void set(CppSharp::Parser::AST::Stmt::StmtClass);
}
property CppSharp::Parser::SourceRange^ SourceRange
@ -227,6 +226,12 @@ namespace CppSharp @@ -227,6 +226,12 @@ namespace CppSharp
void set(CppSharp::Parser::SourceRange^);
}
property CppSharp::Parser::SourceLocation BeginLoc
{
CppSharp::Parser::SourceLocation get();
void set(CppSharp::Parser::SourceLocation);
}
property CppSharp::Parser::SourceLocation EndLoc
{
CppSharp::Parser::SourceLocation get();
@ -239,7 +244,7 @@ namespace CppSharp @@ -239,7 +244,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::Stmt^);
}
static operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::Stmt::StmtClass klass);
protected:
bool __ownsNativeInstance;
@ -386,7 +391,7 @@ namespace CppSharp @@ -386,7 +391,7 @@ namespace CppSharp
static SwitchCase^ __CreateInstance(::System::IntPtr native);
SwitchCase();
SwitchCase(CppSharp::Parser::AST::StmtClass klass);
SwitchCase(CppSharp::Parser::AST::Stmt::StmtClass klass);
SwitchCase(CppSharp::Parser::AST::SwitchCase^ _0);
@ -410,7 +415,7 @@ namespace CppSharp @@ -410,7 +415,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::Stmt^);
}
static operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class CaseStmt : CppSharp::Parser::AST::SwitchCase
@ -951,7 +956,7 @@ namespace CppSharp @@ -951,7 +956,7 @@ namespace CppSharp
static AsmStmt^ __CreateInstance(::System::IntPtr native);
AsmStmt();
AsmStmt(CppSharp::Parser::AST::StmtClass klass);
AsmStmt(CppSharp::Parser::AST::Stmt::StmtClass klass);
AsmStmt(CppSharp::Parser::AST::AsmStmt^ _0);
@ -1033,7 +1038,7 @@ namespace CppSharp @@ -1033,7 +1038,7 @@ namespace CppSharp
void Clearoutputs();
static operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::StmtClass klass);
static operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::Stmt::StmtClass klass);
};
public ref class GCCAsmStmt : CppSharp::Parser::AST::AsmStmt

6041
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

6029
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

6039
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

6037
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

6039
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

6041
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs

File diff suppressed because it is too large Load Diff

30
src/CppParser/Bootstrap/Bootstrap.cs

@ -155,15 +155,13 @@ namespace CppSharp @@ -155,15 +155,13 @@ namespace CppSharp
var stmtClass = stmtUnit.FindNamespace("clang").FindClass("Stmt");
var stmtClassEnum = stmtClass.FindEnum("StmtClass");
stmtClass.Declarations.Remove(stmtClassEnum);
CleanupEnumItems(stmtClassEnum);
var stmtSubclassVisitor = new SubclassVisitor(stmtClass);
stmtUnit.Visit(stmtSubclassVisitor);
stmtCxxUnit.Visit(stmtSubclassVisitor);
var decls = new Declaration[] { stmtClassEnum }
.Union(stmtSubclassVisitor.Classes);
var decls = stmtSubclassVisitor.Classes;
// Write the native declarations headers
var declsCodeGen = new StmtDeclarationsCodeGenerator(ctx, decls);
@ -628,7 +626,7 @@ namespace CppSharp @@ -628,7 +626,7 @@ namespace CppSharp
WriteLineIndent("return default(TRet);");
NewLine();
WriteLine($"switch({ParamName}.StmtClass)");
WriteLine($"switch({ParamName}.stmtClass)");
WriteOpenBraceAndIndent();
var enumItems = StmtClassEnum != null ?
@ -648,7 +646,7 @@ namespace CppSharp @@ -648,7 +646,7 @@ namespace CppSharp
{
foreach (var className in classes)
{
WriteLine($"case StmtClass.{className}:");
WriteLine($"case Stmt.StmtClass.{className}:");
WriteOpenBraceAndIndent();
WriteLine($"var _{ParamName} = {className}.__CreateInstance({ParamName}.__Instance);");
@ -664,9 +662,9 @@ namespace CppSharp @@ -664,9 +662,9 @@ namespace CppSharp
UnindentAndWriteCloseBrace();
}
WriteLine($"default:");
WriteLineIndent($"throw new System.NotImplementedException(" +
$"{ParamName}.StmtClass.ToString());");
WriteLine("default:");
WriteLineIndent("throw new System.NotImplementedException(" +
$"{ParamName}.stmtClass.ToString());");
}
private void GenerateConverter()
@ -872,9 +870,6 @@ namespace CppSharp @@ -872,9 +870,6 @@ namespace CppSharp
if (IsInheritedClass(@class))
WriteLine($"{@class.Name}(StmtClass klass);");
if (@class.Name == "Stmt")
WriteLine("StmtClass stmtClass;");
foreach (var method in @class.Methods)
{
if (SkipMethod(method))
@ -989,7 +984,7 @@ namespace CppSharp @@ -989,7 +984,7 @@ namespace CppSharp
{
foreach (var property in @class.Properties)
{
if (SkipProperty(property))
if (SkipProperty(property) || property.Name == "stmtClass")
continue;
var typeName = GetDeclTypeName(property);
@ -1383,16 +1378,12 @@ namespace CppSharp @@ -1383,16 +1378,12 @@ namespace CppSharp
return true;
}
if (property.Name == "beginLoc" || property.Name == "endLoc" &&
if ((property.Name == "beginLoc" || property.Name == "endLoc") &&
@class.Name != "Stmt")
return true;
switch (property.Name)
{
case "stmtClass":
case "stmtClassName":
return true;
}
if (property.Name == "stmtClassName")
return true;
var typeName = property.Type.Visit(CppTypePrinter).Type;
@ -1653,6 +1644,7 @@ namespace CppSharp @@ -1653,6 +1644,7 @@ namespace CppSharp
case "literalOperatorKind":
case "initializationStyle":
case "capturedStmt":
case "stmtClass":
hasConflict = true;
break;
}

95
src/CppParser/ParseExpr.cpp

@ -26,6 +26,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -26,6 +26,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ConstantExpr*>(llvm::cast<clang::ConstantExpr>(Expr));
auto _S = new AST::ConstantExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -48,6 +49,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -48,6 +49,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::OpaqueValueExpr*>(llvm::cast<clang::OpaqueValueExpr>(Expr));
auto _S = new AST::OpaqueValueExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -71,6 +73,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -71,6 +73,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::DeclRefExpr*>(llvm::cast<clang::DeclRefExpr>(Expr));
auto _S = new AST::DeclRefExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -100,6 +103,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -100,6 +103,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::IntegerLiteral*>(llvm::cast<clang::IntegerLiteral>(Expr));
auto _S = new AST::IntegerLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -122,6 +126,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -122,6 +126,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::FixedPointLiteral*>(llvm::cast<clang::FixedPointLiteral>(Expr));
auto _S = new AST::FixedPointLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -144,6 +149,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -144,6 +149,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CharacterLiteral*>(llvm::cast<clang::CharacterLiteral>(Expr));
auto _S = new AST::CharacterLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -167,6 +173,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -167,6 +173,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::FloatingLiteral*>(llvm::cast<clang::FloatingLiteral>(Expr));
auto _S = new AST::FloatingLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -190,6 +197,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -190,6 +197,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ImaginaryLiteral*>(llvm::cast<clang::ImaginaryLiteral>(Expr));
auto _S = new AST::ImaginaryLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -212,6 +220,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -212,6 +220,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::StringLiteral*>(llvm::cast<clang::StringLiteral>(Expr));
auto _S = new AST::StringLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -248,6 +257,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -248,6 +257,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::PredefinedExpr*>(llvm::cast<clang::PredefinedExpr>(Expr));
auto _S = new AST::PredefinedExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -270,6 +280,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -270,6 +280,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ParenExpr*>(llvm::cast<clang::ParenExpr>(Expr));
auto _S = new AST::ParenExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -292,6 +303,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -292,6 +303,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::UnaryOperator*>(llvm::cast<clang::UnaryOperator>(Expr));
auto _S = new AST::UnaryOperator();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -322,6 +334,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -322,6 +334,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::OffsetOfExpr*>(llvm::cast<clang::OffsetOfExpr>(Expr));
auto _S = new AST::OffsetOfExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -345,6 +358,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -345,6 +358,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::UnaryExprOrTypeTraitExpr*>(llvm::cast<clang::UnaryExprOrTypeTraitExpr>(Expr));
auto _S = new AST::UnaryExprOrTypeTraitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -372,6 +386,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -372,6 +386,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ArraySubscriptExpr*>(llvm::cast<clang::ArraySubscriptExpr>(Expr));
auto _S = new AST::ArraySubscriptExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -397,6 +412,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -397,6 +412,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CallExpr*>(llvm::cast<clang::CallExpr>(Expr));
auto _S = new AST::CallExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -430,6 +446,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -430,6 +446,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::MemberExpr*>(llvm::cast<clang::MemberExpr>(Expr));
auto _S = new AST::MemberExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -459,6 +476,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -459,6 +476,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CompoundLiteralExpr*>(llvm::cast<clang::CompoundLiteralExpr>(Expr));
auto _S = new AST::CompoundLiteralExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -482,6 +500,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -482,6 +500,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ImplicitCastExpr*>(llvm::cast<clang::ImplicitCastExpr>(Expr));
auto _S = new AST::ImplicitCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -511,6 +530,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -511,6 +530,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CStyleCastExpr*>(llvm::cast<clang::CStyleCastExpr>(Expr));
auto _S = new AST::CStyleCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -540,6 +560,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -540,6 +560,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::BinaryOperator*>(llvm::cast<clang::BinaryOperator>(Expr));
auto _S = new AST::BinaryOperator();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -579,6 +600,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -579,6 +600,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CompoundAssignOperator*>(llvm::cast<clang::CompoundAssignOperator>(Expr));
auto _S = new AST::CompoundAssignOperator();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -620,6 +642,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -620,6 +642,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ConditionalOperator*>(llvm::cast<clang::ConditionalOperator>(Expr));
auto _S = new AST::ConditionalOperator();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -649,6 +672,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -649,6 +672,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::BinaryConditionalOperator*>(llvm::cast<clang::BinaryConditionalOperator>(Expr));
auto _S = new AST::BinaryConditionalOperator();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -678,6 +702,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -678,6 +702,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::AddrLabelExpr*>(llvm::cast<clang::AddrLabelExpr>(Expr));
auto _S = new AST::AddrLabelExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -699,6 +724,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -699,6 +724,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::StmtExpr*>(llvm::cast<clang::StmtExpr>(Expr));
auto _S = new AST::StmtExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -721,6 +747,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -721,6 +747,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ShuffleVectorExpr*>(llvm::cast<clang::ShuffleVectorExpr>(Expr));
auto _S = new AST::ShuffleVectorExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -743,6 +770,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -743,6 +770,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ConvertVectorExpr*>(llvm::cast<clang::ConvertVectorExpr>(Expr));
auto _S = new AST::ConvertVectorExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -765,6 +793,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -765,6 +793,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ChooseExpr*>(llvm::cast<clang::ChooseExpr>(Expr));
auto _S = new AST::ChooseExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -792,6 +821,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -792,6 +821,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::GNUNullExpr*>(llvm::cast<clang::GNUNullExpr>(Expr));
auto _S = new AST::GNUNullExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -813,6 +843,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -813,6 +843,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::VAArgExpr*>(llvm::cast<clang::VAArgExpr>(Expr));
auto _S = new AST::VAArgExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -836,6 +867,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -836,6 +867,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::InitListExpr*>(llvm::cast<clang::InitListExpr>(Expr));
auto _S = new AST::InitListExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -869,6 +901,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -869,6 +901,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::DesignatedInitExpr*>(llvm::cast<clang::DesignatedInitExpr>(Expr));
auto _S = new AST::DesignatedInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -894,6 +927,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -894,6 +927,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::NoInitExpr*>(llvm::cast<clang::NoInitExpr>(Expr));
auto _S = new AST::NoInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -915,6 +949,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -915,6 +949,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::DesignatedInitUpdateExpr*>(llvm::cast<clang::DesignatedInitUpdateExpr>(Expr));
auto _S = new AST::DesignatedInitUpdateExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -938,6 +973,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -938,6 +973,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ArrayInitLoopExpr*>(llvm::cast<clang::ArrayInitLoopExpr>(Expr));
auto _S = new AST::ArrayInitLoopExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -961,6 +997,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -961,6 +997,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ArrayInitIndexExpr*>(llvm::cast<clang::ArrayInitIndexExpr>(Expr));
auto _S = new AST::ArrayInitIndexExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -982,6 +1019,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -982,6 +1019,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ImplicitValueInitExpr*>(llvm::cast<clang::ImplicitValueInitExpr>(Expr));
auto _S = new AST::ImplicitValueInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1003,6 +1041,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1003,6 +1041,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ParenListExpr*>(llvm::cast<clang::ParenListExpr>(Expr));
auto _S = new AST::ParenListExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1025,6 +1064,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1025,6 +1064,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::GenericSelectionExpr*>(llvm::cast<clang::GenericSelectionExpr>(Expr));
auto _S = new AST::GenericSelectionExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1051,6 +1091,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1051,6 +1091,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ExtVectorElementExpr*>(llvm::cast<clang::ExtVectorElementExpr>(Expr));
auto _S = new AST::ExtVectorElementExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1076,6 +1117,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1076,6 +1117,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::BlockExpr*>(llvm::cast<clang::BlockExpr>(Expr));
auto _S = new AST::BlockExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1098,6 +1140,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1098,6 +1140,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::AsTypeExpr*>(llvm::cast<clang::AsTypeExpr>(Expr));
auto _S = new AST::AsTypeExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1120,6 +1163,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1120,6 +1163,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::PseudoObjectExpr*>(llvm::cast<clang::PseudoObjectExpr>(Expr));
auto _S = new AST::PseudoObjectExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1145,6 +1189,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1145,6 +1189,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::AtomicExpr*>(llvm::cast<clang::AtomicExpr>(Expr));
auto _S = new AST::AtomicExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1179,6 +1224,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1179,6 +1224,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::TypoExpr*>(llvm::cast<clang::TypoExpr>(Expr));
auto _S = new AST::TypoExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1200,6 +1246,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1200,6 +1246,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXOperatorCallExpr*>(llvm::cast<clang::CXXOperatorCallExpr>(Expr));
auto _S = new AST::CXXOperatorCallExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1237,6 +1284,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1237,6 +1284,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXMemberCallExpr*>(llvm::cast<clang::CXXMemberCallExpr>(Expr));
auto _S = new AST::CXXMemberCallExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1272,6 +1320,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1272,6 +1320,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CUDAKernelCallExpr*>(llvm::cast<clang::CUDAKernelCallExpr>(Expr));
auto _S = new AST::CUDAKernelCallExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1306,6 +1355,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1306,6 +1355,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXStaticCastExpr*>(llvm::cast<clang::CXXStaticCastExpr>(Expr));
auto _S = new AST::CXXStaticCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1336,6 +1386,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1336,6 +1386,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXDynamicCastExpr*>(llvm::cast<clang::CXXDynamicCastExpr>(Expr));
auto _S = new AST::CXXDynamicCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1367,6 +1418,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1367,6 +1418,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXReinterpretCastExpr*>(llvm::cast<clang::CXXReinterpretCastExpr>(Expr));
auto _S = new AST::CXXReinterpretCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1397,6 +1449,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1397,6 +1449,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXConstCastExpr*>(llvm::cast<clang::CXXConstCastExpr>(Expr));
auto _S = new AST::CXXConstCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1427,6 +1480,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1427,6 +1480,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::UserDefinedLiteral*>(llvm::cast<clang::UserDefinedLiteral>(Expr));
auto _S = new AST::UserDefinedLiteral();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1462,6 +1516,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1462,6 +1516,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXBoolLiteralExpr*>(llvm::cast<clang::CXXBoolLiteralExpr>(Expr));
auto _S = new AST::CXXBoolLiteralExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1484,6 +1539,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1484,6 +1539,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXNullPtrLiteralExpr*>(llvm::cast<clang::CXXNullPtrLiteralExpr>(Expr));
auto _S = new AST::CXXNullPtrLiteralExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1505,6 +1561,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1505,6 +1561,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXStdInitializerListExpr*>(llvm::cast<clang::CXXStdInitializerListExpr>(Expr));
auto _S = new AST::CXXStdInitializerListExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1527,6 +1584,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1527,6 +1584,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXTypeidExpr*>(llvm::cast<clang::CXXTypeidExpr>(Expr));
auto _S = new AST::CXXTypeidExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1551,6 +1609,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1551,6 +1609,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::MSPropertyRefExpr*>(llvm::cast<clang::MSPropertyRefExpr>(Expr));
auto _S = new AST::MSPropertyRefExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1575,6 +1634,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1575,6 +1634,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::MSPropertySubscriptExpr*>(llvm::cast<clang::MSPropertySubscriptExpr>(Expr));
auto _S = new AST::MSPropertySubscriptExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1598,6 +1658,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1598,6 +1658,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXUuidofExpr*>(llvm::cast<clang::CXXUuidofExpr>(Expr));
auto _S = new AST::CXXUuidofExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1622,6 +1683,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1622,6 +1683,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXThisExpr*>(llvm::cast<clang::CXXThisExpr>(Expr));
auto _S = new AST::CXXThisExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1644,6 +1706,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1644,6 +1706,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXThrowExpr*>(llvm::cast<clang::CXXThrowExpr>(Expr));
auto _S = new AST::CXXThrowExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1667,6 +1730,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1667,6 +1730,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXDefaultArgExpr*>(llvm::cast<clang::CXXDefaultArgExpr>(Expr));
auto _S = new AST::CXXDefaultArgExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1689,6 +1753,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1689,6 +1753,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXDefaultInitExpr*>(llvm::cast<clang::CXXDefaultInitExpr>(Expr));
auto _S = new AST::CXXDefaultInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1712,6 +1777,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1712,6 +1777,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXBindTemporaryExpr*>(llvm::cast<clang::CXXBindTemporaryExpr>(Expr));
auto _S = new AST::CXXBindTemporaryExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1734,6 +1800,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1734,6 +1800,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXConstructExpr*>(llvm::cast<clang::CXXConstructExpr>(Expr));
auto _S = new AST::CXXConstructExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1766,6 +1833,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1766,6 +1833,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXInheritedCtorInitExpr*>(llvm::cast<clang::CXXInheritedCtorInitExpr>(Expr));
auto _S = new AST::CXXInheritedCtorInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1789,6 +1857,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1789,6 +1857,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXFunctionalCastExpr*>(llvm::cast<clang::CXXFunctionalCastExpr>(Expr));
auto _S = new AST::CXXFunctionalCastExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1819,6 +1888,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1819,6 +1888,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXTemporaryObjectExpr*>(llvm::cast<clang::CXXTemporaryObjectExpr>(Expr));
auto _S = new AST::CXXTemporaryObjectExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1851,6 +1921,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1851,6 +1921,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::LambdaExpr*>(llvm::cast<clang::LambdaExpr>(Expr));
auto _S = new AST::LambdaExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1884,6 +1955,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1884,6 +1955,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXScalarValueInitExpr*>(llvm::cast<clang::CXXScalarValueInitExpr>(Expr));
auto _S = new AST::CXXScalarValueInitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1905,6 +1977,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1905,6 +1977,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXNewExpr*>(llvm::cast<clang::CXXNewExpr>(Expr));
auto _S = new AST::CXXNewExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1943,6 +2016,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1943,6 +2016,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXDeleteExpr*>(llvm::cast<clang::CXXDeleteExpr>(Expr));
auto _S = new AST::CXXDeleteExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1970,6 +2044,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1970,6 +2044,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXPseudoDestructorExpr*>(llvm::cast<clang::CXXPseudoDestructorExpr>(Expr));
auto _S = new AST::CXXPseudoDestructorExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -1995,6 +2070,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -1995,6 +2070,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::TypeTraitExpr*>(llvm::cast<clang::TypeTraitExpr>(Expr));
auto _S = new AST::TypeTraitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2018,6 +2094,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2018,6 +2094,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ArrayTypeTraitExpr*>(llvm::cast<clang::ArrayTypeTraitExpr>(Expr));
auto _S = new AST::ArrayTypeTraitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2042,6 +2119,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2042,6 +2119,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ExpressionTraitExpr*>(llvm::cast<clang::ExpressionTraitExpr>(Expr));
auto _S = new AST::ExpressionTraitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2065,6 +2143,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2065,6 +2143,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::UnresolvedLookupExpr*>(llvm::cast<clang::UnresolvedLookupExpr>(Expr));
auto _S = new AST::UnresolvedLookupExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2092,6 +2171,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2092,6 +2171,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::DependentScopeDeclRefExpr*>(llvm::cast<clang::DependentScopeDeclRefExpr>(Expr));
auto _S = new AST::DependentScopeDeclRefExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2116,6 +2196,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2116,6 +2196,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::ExprWithCleanups*>(llvm::cast<clang::ExprWithCleanups>(Expr));
auto _S = new AST::ExprWithCleanups();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2140,6 +2221,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2140,6 +2221,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXUnresolvedConstructExpr*>(llvm::cast<clang::CXXUnresolvedConstructExpr>(Expr));
auto _S = new AST::CXXUnresolvedConstructExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2169,6 +2251,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2169,6 +2251,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXDependentScopeMemberExpr*>(llvm::cast<clang::CXXDependentScopeMemberExpr>(Expr));
auto _S = new AST::CXXDependentScopeMemberExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2198,6 +2281,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2198,6 +2281,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::UnresolvedMemberExpr*>(llvm::cast<clang::UnresolvedMemberExpr>(Expr));
auto _S = new AST::UnresolvedMemberExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2228,6 +2312,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2228,6 +2312,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXNoexceptExpr*>(llvm::cast<clang::CXXNoexceptExpr>(Expr));
auto _S = new AST::CXXNoexceptExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2251,6 +2336,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2251,6 +2336,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::PackExpansionExpr*>(llvm::cast<clang::PackExpansionExpr>(Expr));
auto _S = new AST::PackExpansionExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2273,6 +2359,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2273,6 +2359,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::SizeOfPackExpr*>(llvm::cast<clang::SizeOfPackExpr>(Expr));
auto _S = new AST::SizeOfPackExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2297,6 +2384,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2297,6 +2384,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::SubstNonTypeTemplateParmExpr*>(llvm::cast<clang::SubstNonTypeTemplateParmExpr>(Expr));
auto _S = new AST::SubstNonTypeTemplateParmExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2319,6 +2407,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2319,6 +2407,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::SubstNonTypeTemplateParmPackExpr*>(llvm::cast<clang::SubstNonTypeTemplateParmPackExpr>(Expr));
auto _S = new AST::SubstNonTypeTemplateParmPackExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2341,6 +2430,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2341,6 +2430,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::FunctionParmPackExpr*>(llvm::cast<clang::FunctionParmPackExpr>(Expr));
auto _S = new AST::FunctionParmPackExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2363,6 +2453,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2363,6 +2453,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::MaterializeTemporaryExpr*>(llvm::cast<clang::MaterializeTemporaryExpr>(Expr));
auto _S = new AST::MaterializeTemporaryExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2388,6 +2479,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2388,6 +2479,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CXXFoldExpr*>(llvm::cast<clang::CXXFoldExpr>(Expr));
auto _S = new AST::CXXFoldExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2416,6 +2508,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2416,6 +2508,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CoawaitExpr*>(llvm::cast<clang::CoawaitExpr>(Expr));
auto _S = new AST::CoawaitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2444,6 +2537,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2444,6 +2537,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::DependentCoawaitExpr*>(llvm::cast<clang::DependentCoawaitExpr>(Expr));
auto _S = new AST::DependentCoawaitExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();
@ -2467,6 +2561,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) @@ -2467,6 +2561,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr)
{
auto S = const_cast<clang::CoyieldExpr*>(llvm::cast<clang::CoyieldExpr>(Expr));
auto _S = new AST::CoyieldExpr();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->type = GetQualifiedType(S->getType());
_S->valueDependent = S->isValueDependent();

30
src/CppParser/ParseStmt.cpp

@ -26,6 +26,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -26,6 +26,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::DeclStmt*>(llvm::cast<clang::DeclStmt>(Stmt));
auto _S = new AST::DeclStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->isSingleDecl = S->isSingleDecl();
if (S->isSingleDecl())
@ -42,6 +43,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -42,6 +43,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::NullStmt*>(llvm::cast<clang::NullStmt>(Stmt));
auto _S = new AST::NullStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->hasLeadingEmptyMacro = S->hasLeadingEmptyMacro();
_Stmt = _S;
@ -51,6 +53,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -51,6 +53,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CompoundStmt*>(llvm::cast<clang::CompoundStmt>(Stmt));
auto _S = new AST::CompoundStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->body_empty = S->body_empty();
_S->size = S->size();
@ -68,6 +71,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -68,6 +71,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CaseStmt*>(llvm::cast<clang::CaseStmt>(Stmt));
auto _S = new AST::CaseStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->subStmt = static_cast<AST::Stmt*>(WalkStatement(S->getSubStmt()));
_S->lHS = static_cast<AST::Expr*>(WalkExpression(S->getLHS()));
@ -81,6 +85,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -81,6 +85,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::DefaultStmt*>(llvm::cast<clang::DefaultStmt>(Stmt));
auto _S = new AST::DefaultStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->subStmt = static_cast<AST::Stmt*>(WalkStatement(S->getSubStmt()));
_S->subStmt = static_cast<AST::Stmt*>(WalkStatement(S->getSubStmt()));
@ -91,6 +96,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -91,6 +96,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::LabelStmt*>(llvm::cast<clang::LabelStmt>(Stmt));
auto _S = new AST::LabelStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->subStmt = static_cast<AST::Stmt*>(WalkStatement(S->getSubStmt()));
_S->name = S->getName();
@ -101,6 +107,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -101,6 +107,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::AttributedStmt*>(llvm::cast<clang::AttributedStmt>(Stmt));
auto _S = new AST::AttributedStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->subStmt = static_cast<AST::Stmt*>(WalkStatement(S->getSubStmt()));
_Stmt = _S;
@ -110,6 +117,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -110,6 +117,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::IfStmt*>(llvm::cast<clang::IfStmt>(Stmt));
auto _S = new AST::IfStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->cond = static_cast<AST::Expr*>(WalkExpression(S->getCond()));
_S->then = static_cast<AST::Stmt*>(WalkStatement(S->getThen()));
@ -128,6 +136,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -128,6 +136,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::SwitchStmt*>(llvm::cast<clang::SwitchStmt>(Stmt));
auto _S = new AST::SwitchStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->cond = static_cast<AST::Expr*>(WalkExpression(S->getCond()));
_S->body = static_cast<AST::Stmt*>(WalkStatement(S->getBody()));
@ -143,6 +152,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -143,6 +152,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::WhileStmt*>(llvm::cast<clang::WhileStmt>(Stmt));
auto _S = new AST::WhileStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->cond = static_cast<AST::Expr*>(WalkExpression(S->getCond()));
_S->body = static_cast<AST::Stmt*>(WalkStatement(S->getBody()));
@ -155,6 +165,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -155,6 +165,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::DoStmt*>(llvm::cast<clang::DoStmt>(Stmt));
auto _S = new AST::DoStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->cond = static_cast<AST::Expr*>(WalkExpression(S->getCond()));
_S->body = static_cast<AST::Stmt*>(WalkStatement(S->getBody()));
@ -165,6 +176,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -165,6 +176,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::ForStmt*>(llvm::cast<clang::ForStmt>(Stmt));
auto _S = new AST::ForStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->init = static_cast<AST::Stmt*>(WalkStatement(S->getInit()));
_S->cond = static_cast<AST::Expr*>(WalkExpression(S->getCond()));
@ -178,6 +190,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -178,6 +190,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::GotoStmt*>(llvm::cast<clang::GotoStmt>(Stmt));
auto _S = new AST::GotoStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_Stmt = _S;
break;
@ -186,6 +199,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -186,6 +199,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::IndirectGotoStmt*>(llvm::cast<clang::IndirectGotoStmt>(Stmt));
auto _S = new AST::IndirectGotoStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->target = static_cast<AST::Expr*>(WalkExpression(S->getTarget()));
_Stmt = _S;
@ -195,6 +209,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -195,6 +209,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::ContinueStmt*>(llvm::cast<clang::ContinueStmt>(Stmt));
auto _S = new AST::ContinueStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_Stmt = _S;
break;
@ -203,6 +218,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -203,6 +218,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::BreakStmt*>(llvm::cast<clang::BreakStmt>(Stmt));
auto _S = new AST::BreakStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_Stmt = _S;
break;
@ -211,6 +227,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -211,6 +227,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::ReturnStmt*>(llvm::cast<clang::ReturnStmt>(Stmt));
auto _S = new AST::ReturnStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->retValue = static_cast<AST::Expr*>(WalkExpression(S->getRetValue()));
_Stmt = _S;
@ -220,6 +237,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -220,6 +237,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::GCCAsmStmt*>(llvm::cast<clang::GCCAsmStmt>(Stmt));
auto _S = new AST::GCCAsmStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->simple = S->isSimple();
_S->_volatile = S->isVolatile();
@ -244,6 +262,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -244,6 +262,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::MSAsmStmt*>(llvm::cast<clang::MSAsmStmt>(Stmt));
auto _S = new AST::MSAsmStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->simple = S->isSimple();
_S->_volatile = S->isVolatile();
@ -271,6 +290,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -271,6 +290,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::SEHExceptStmt*>(llvm::cast<clang::SEHExceptStmt>(Stmt));
auto _S = new AST::SEHExceptStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->filterExpr = static_cast<AST::Expr*>(WalkExpression(S->getFilterExpr()));
_S->block = static_cast<AST::CompoundStmt*>(WalkStatement(S->getBlock()));
@ -281,6 +301,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -281,6 +301,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::SEHFinallyStmt*>(llvm::cast<clang::SEHFinallyStmt>(Stmt));
auto _S = new AST::SEHFinallyStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->block = static_cast<AST::CompoundStmt*>(WalkStatement(S->getBlock()));
_Stmt = _S;
@ -290,6 +311,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -290,6 +311,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::SEHTryStmt*>(llvm::cast<clang::SEHTryStmt>(Stmt));
auto _S = new AST::SEHTryStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->isCXXTry = S->getIsCXXTry();
_S->tryBlock = static_cast<AST::CompoundStmt*>(WalkStatement(S->getTryBlock()));
@ -303,6 +325,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -303,6 +325,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::SEHLeaveStmt*>(llvm::cast<clang::SEHLeaveStmt>(Stmt));
auto _S = new AST::SEHLeaveStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_Stmt = _S;
break;
@ -311,6 +334,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -311,6 +334,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CapturedStmt*>(llvm::cast<clang::CapturedStmt>(Stmt));
auto _S = new AST::CapturedStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->capturedStmt = static_cast<AST::Stmt*>(WalkStatement(S->getCapturedStmt()));
_S->capture_size = S->capture_size();
@ -326,6 +350,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -326,6 +350,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CXXCatchStmt*>(llvm::cast<clang::CXXCatchStmt>(Stmt));
auto _S = new AST::CXXCatchStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->caughtType = GetQualifiedType(S->getCaughtType());
_S->handlerBlock = static_cast<AST::Stmt*>(WalkStatement(S->getHandlerBlock()));
@ -336,6 +361,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -336,6 +361,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CXXTryStmt*>(llvm::cast<clang::CXXTryStmt>(Stmt));
auto _S = new AST::CXXTryStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->tryBlock = static_cast<AST::CompoundStmt*>(WalkStatement(S->getTryBlock()));
_S->numHandlers = S->getNumHandlers();
@ -346,6 +372,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -346,6 +372,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CXXForRangeStmt*>(llvm::cast<clang::CXXForRangeStmt>(Stmt));
auto _S = new AST::CXXForRangeStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->init = static_cast<AST::Stmt*>(WalkStatement(S->getInit()));
_S->rangeInit = static_cast<AST::Expr*>(WalkExpression(S->getRangeInit()));
@ -363,6 +390,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -363,6 +390,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::MSDependentExistsStmt*>(llvm::cast<clang::MSDependentExistsStmt>(Stmt));
auto _S = new AST::MSDependentExistsStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->isIfExists = S->isIfExists();
_S->isIfNotExists = S->isIfNotExists();
@ -374,6 +402,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -374,6 +402,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CoroutineBodyStmt*>(llvm::cast<clang::CoroutineBodyStmt>(Stmt));
auto _S = new AST::CoroutineBodyStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->hasDependentPromiseType = S->hasDependentPromiseType();
_S->body = static_cast<AST::Stmt*>(WalkStatement(S->getBody()));
@ -395,6 +424,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) @@ -395,6 +424,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt)
{
auto S = const_cast<clang::CoreturnStmt*>(llvm::cast<clang::CoreturnStmt>(Stmt));
auto _S = new AST::CoreturnStmt();
_S->stmtClass = (Stmt::StmtClass) S->getStmtClass();
_S->stripLabelLikeStatements = static_cast<AST::Stmt*>(WalkStatement(S->stripLabelLikeStatements()));
_S->isImplicit = S->isImplicit();
_S->operand = static_cast<AST::Expr*>(WalkExpression(S->getOperand()));

2
src/CppParser/Stmt.cpp

@ -14,6 +14,7 @@ namespace CppSharp { namespace CppParser { namespace AST { @@ -14,6 +14,7 @@ namespace CppSharp { namespace CppParser { namespace AST {
Stmt::Stmt()
: stmtClass(StmtClass::NoStmt)
, sourceRange(SourceRange())
, beginLoc(SourceLocation())
, endLoc(SourceLocation())
, stripLabelLikeStatements(nullptr)
{
@ -22,6 +23,7 @@ Stmt::Stmt() @@ -22,6 +23,7 @@ Stmt::Stmt()
Stmt::Stmt(StmtClass klass)
: stmtClass(klass)
, sourceRange(SourceRange())
, beginLoc(SourceLocation())
, endLoc(SourceLocation())
, stripLabelLikeStatements(nullptr)
{

263
src/CppParser/Stmt.h

@ -15,144 +15,145 @@ namespace CppSharp { namespace CppParser { namespace AST { @@ -15,144 +15,145 @@ namespace CppSharp { namespace CppParser { namespace AST {
class Expr;
class Declaration;
enum class StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196,
};
class CS_API Stmt
{
public:
enum class StmtClass
{
NoStmt = 0,
GCCAsmStmt = 1,
MSAsmStmt = 2,
AttributedStmt = 3,
BreakStmt = 4,
CXXCatchStmt = 5,
CXXForRangeStmt = 6,
CXXTryStmt = 7,
CapturedStmt = 8,
CompoundStmt = 9,
ContinueStmt = 10,
CoreturnStmt = 11,
CoroutineBodyStmt = 12,
DeclStmt = 13,
DoStmt = 14,
BinaryConditionalOperator = 15,
ConditionalOperator = 16,
AddrLabelExpr = 17,
ArrayInitIndexExpr = 18,
ArrayInitLoopExpr = 19,
ArraySubscriptExpr = 20,
ArrayTypeTraitExpr = 21,
AsTypeExpr = 22,
AtomicExpr = 23,
BinaryOperator = 24,
CompoundAssignOperator = 25,
BlockExpr = 26,
CXXBindTemporaryExpr = 27,
CXXBoolLiteralExpr = 28,
CXXConstructExpr = 29,
CXXTemporaryObjectExpr = 30,
CXXDefaultArgExpr = 31,
CXXDefaultInitExpr = 32,
CXXDeleteExpr = 33,
CXXDependentScopeMemberExpr = 34,
CXXFoldExpr = 35,
CXXInheritedCtorInitExpr = 36,
CXXNewExpr = 37,
CXXNoexceptExpr = 38,
CXXNullPtrLiteralExpr = 39,
CXXPseudoDestructorExpr = 40,
CXXScalarValueInitExpr = 41,
CXXStdInitializerListExpr = 42,
CXXThisExpr = 43,
CXXThrowExpr = 44,
CXXTypeidExpr = 45,
CXXUnresolvedConstructExpr = 46,
CXXUuidofExpr = 47,
CallExpr = 48,
CUDAKernelCallExpr = 49,
CXXMemberCallExpr = 50,
CXXOperatorCallExpr = 51,
UserDefinedLiteral = 52,
CStyleCastExpr = 53,
CXXFunctionalCastExpr = 54,
CXXConstCastExpr = 55,
CXXDynamicCastExpr = 56,
CXXReinterpretCastExpr = 57,
CXXStaticCastExpr = 58,
ImplicitCastExpr = 60,
CharacterLiteral = 61,
ChooseExpr = 62,
CompoundLiteralExpr = 63,
ConvertVectorExpr = 64,
CoawaitExpr = 65,
CoyieldExpr = 66,
DeclRefExpr = 67,
DependentCoawaitExpr = 68,
DependentScopeDeclRefExpr = 69,
DesignatedInitExpr = 70,
DesignatedInitUpdateExpr = 71,
ExpressionTraitExpr = 72,
ExtVectorElementExpr = 73,
FixedPointLiteral = 74,
FloatingLiteral = 75,
ConstantExpr = 76,
ExprWithCleanups = 77,
FunctionParmPackExpr = 78,
GNUNullExpr = 79,
GenericSelectionExpr = 80,
ImaginaryLiteral = 81,
ImplicitValueInitExpr = 82,
InitListExpr = 83,
IntegerLiteral = 84,
LambdaExpr = 85,
MSPropertyRefExpr = 86,
MSPropertySubscriptExpr = 87,
MaterializeTemporaryExpr = 88,
MemberExpr = 89,
NoInitExpr = 90,
OffsetOfExpr = 107,
OpaqueValueExpr = 108,
UnresolvedLookupExpr = 109,
UnresolvedMemberExpr = 110,
PackExpansionExpr = 111,
ParenExpr = 112,
ParenListExpr = 113,
PredefinedExpr = 114,
PseudoObjectExpr = 115,
ShuffleVectorExpr = 116,
SizeOfPackExpr = 117,
StmtExpr = 118,
StringLiteral = 119,
SubstNonTypeTemplateParmExpr = 120,
SubstNonTypeTemplateParmPackExpr = 121,
TypeTraitExpr = 122,
TypoExpr = 123,
UnaryExprOrTypeTraitExpr = 124,
UnaryOperator = 125,
VAArgExpr = 126,
ForStmt = 127,
GotoStmt = 128,
IfStmt = 129,
IndirectGotoStmt = 130,
LabelStmt = 131,
MSDependentExistsStmt = 132,
NullStmt = 133,
ReturnStmt = 188,
SEHExceptStmt = 189,
SEHFinallyStmt = 190,
SEHLeaveStmt = 191,
SEHTryStmt = 192,
CaseStmt = 193,
DefaultStmt = 194,
SwitchStmt = 195,
WhileStmt = 196,
};
Stmt();
Stmt(StmtClass klass);
StmtClass stmtClass;
SourceRange sourceRange;
SourceLocation beginLoc;
SourceLocation endLoc;
Stmt* stripLabelLikeStatements;
};

384
src/Parser/ASTConverter.Expr.cs

File diff suppressed because it is too large Load Diff

314
src/Parser/ASTConverter.Stmt.cs

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save