text: // ----------------------------------------------------------------------------
  // <auto-generated>
  // This is autogenerated code by CppSharp.
  // Do not edit this file or all your changes will be lost after re-generation.
  // </auto-generated>
  // ----------------------------------------------------------------------------
  
  
  #include "Sources.h"
  #include "Stmt.h"
  
  namespace CppSharp { namespace CppParser { namespace AST {
  
  Stmt::Stmt()
      : stmtClass(StmtClass::NoStmt)
      , sourceRange(SourceRange())
      , beginLoc(SourceLocation())
      , endLoc(SourceLocation())
  {
  }
  
  Stmt::Stmt(StmtClass klass)
      : stmtClass(klass)
      , sourceRange(SourceRange())
      , beginLoc(SourceLocation())
      , endLoc(SourceLocation())
  {
  }
  
  DeclStmt::DeclStmt()
      : Stmt(StmtClass::DeclStmt)
      , isSingleDecl(0)
      , singleDecl(nullptr)
  {
  }
  
  DEF_VECTOR(DeclStmt, Declaration*, decls)
  
  NullStmt::NullStmt()
      : Stmt(StmtClass::NullStmt)
      , semiLoc(SourceLocation())
      , hasLeadingEmptyMacro(0)
  {
  }
  
  CompoundStmt::CompoundStmt()
      : Stmt(StmtClass::CompoundStmt)
      , body_empty(0)
      , size(0)
      , body_front(nullptr)
      , body_back(nullptr)
      , lBracLoc(SourceLocation())
      , rBracLoc(SourceLocation())
  {
  }
  
  DEF_VECTOR(CompoundStmt, Stmt*, body)
  
  SwitchCase::SwitchCase()
      : Stmt(StmtClass::NoStmt)
      , keywordLoc(SourceLocation())
      , colonLoc(SourceLocation())
      , subStmt(nullptr)
  {
  }
  
  SwitchCase::SwitchCase(StmtClass klass)
      : Stmt(klass)
      , keywordLoc(SourceLocation())
      , colonLoc(SourceLocation())
      , subStmt(nullptr)
  {
  }
  
  CaseStmt::CaseStmt()
      : SwitchCase(StmtClass::CaseStmt)
      , caseLoc(SourceLocation())
      , ellipsisLoc(SourceLocation())
      , lHS(nullptr)
      , rHS(nullptr)
      , caseStmtIsGNURange(0)
  {
  }
  
  DefaultStmt::DefaultStmt()
      : SwitchCase(StmtClass::DefaultStmt)
      , defaultLoc(SourceLocation())
  {
  }
  
  LabelStmt::LabelStmt()
      : Stmt(StmtClass::LabelStmt)
      , identLoc(SourceLocation())
      , subStmt(nullptr)
      , name(nullptr)
  {
  }
  
  AttributedStmt::AttributedStmt()
      : Stmt(StmtClass::AttributedStmt)
      , attrLoc(SourceLocation())
      , subStmt(nullptr)
  {
  }
  
  IfStmt::IfStmt()
      : Stmt(StmtClass::IfStmt)
      , cond(nullptr)
      , then(nullptr)
      , _else(nullptr)
      , init(nullptr)
      , ifLoc(SourceLocation())
      , elseLoc(SourceLocation())
      , _constexpr(0)
      , hasInitStorage(0)
      , hasVarStorage(0)
      , hasElseStorage(0)
      , conditionVariableDeclStmt(nullptr)
      , isObjCAvailabilityCheck(0)
  {
  }
  
  SwitchStmt::SwitchStmt()
      : Stmt(StmtClass::SwitchStmt)
      , cond(nullptr)
      , body(nullptr)
      , init(nullptr)
      , switchLoc(SourceLocation())
      , hasInitStorage(0)
      , hasVarStorage(0)
      , conditionVariableDeclStmt(nullptr)
      , isAllEnumCasesCovered(0)
  {
  }
  
  WhileStmt::WhileStmt()
      : Stmt(StmtClass::WhileStmt)
      , cond(nullptr)
      , body(nullptr)
      , whileLoc(SourceLocation())
      , hasVarStorage(0)
      , conditionVariableDeclStmt(nullptr)
  {
  }
  
  DoStmt::DoStmt()
      : Stmt(StmtClass::DoStmt)
      , cond(nullptr)
      , body(nullptr)
      , doLoc(SourceLocation())
      , whileLoc(SourceLocation())
      , rParenLoc(SourceLocation())
  {
  }
  
  ForStmt::ForStmt()
      : Stmt(StmtClass::ForStmt)
      , init(nullptr)
      , cond(nullptr)
      , inc(nullptr)
      , body(nullptr)
      , forLoc(SourceLocation())
      , lParenLoc(SourceLocation())
      , rParenLoc(SourceLocation())
      , conditionVariableDeclStmt(nullptr)
  {
  }
  
  GotoStmt::GotoStmt()
      : Stmt(StmtClass::GotoStmt)
      , gotoLoc(SourceLocation())
      , labelLoc(SourceLocation())
  {
  }
  
  IndirectGotoStmt::IndirectGotoStmt()
      : Stmt(StmtClass::IndirectGotoStmt)
      , gotoLoc(SourceLocation())
      , starLoc(SourceLocation())
      , target(nullptr)
  {
  }
  
  ContinueStmt::ContinueStmt()
      : Stmt(StmtClass::ContinueStmt)
      , continueLoc(SourceLocation())
  {
  }
  
  BreakStmt::BreakStmt()
      : Stmt(StmtClass::BreakStmt)
      , breakLoc(SourceLocation())
  {
  }
  
  ReturnStmt::ReturnStmt()
      : Stmt(StmtClass::ReturnStmt)
      , retValue(nullptr)
      , returnLoc(SourceLocation())
  {
  }
  
  AsmStmt::AsmStmt()
      : Stmt(StmtClass::NoStmt)
      , asmLoc(SourceLocation())
      , simple(0)
      , _volatile(0)
      , numOutputs(0)
      , numPlusOperands(0)
      , numInputs(0)
      , numClobbers(0)
  {
  }
  
  AsmStmt::AsmStmt(StmtClass klass)
      : Stmt(klass)
      , asmLoc(SourceLocation())
      , simple(0)
      , _volatile(0)
      , numOutputs(0)
      , numPlusOperands(0)
      , numInputs(0)
      , numClobbers(0)
  {
  }
  
  DEF_VECTOR(AsmStmt, Expr*, inputs)
  
  DEF_VECTOR(AsmStmt, Expr*, outputs)
  
  GCCAsmStmt::AsmStringPiece::AsmStringPiece()
  {
  }
  
  GCCAsmStmt::GCCAsmStmt()
      : AsmStmt(StmtClass::GCCAsmStmt)
      , rParenLoc(SourceLocation())
  {
  }
  
  MSAsmStmt::MSAsmStmt()
      : AsmStmt(StmtClass::MSAsmStmt)
      , lBraceLoc(SourceLocation())
      , hasBraces(0)
      , numAsmToks(0)
  {
  }
  
  SEHExceptStmt::SEHExceptStmt()
      : Stmt(StmtClass::SEHExceptStmt)
      , exceptLoc(SourceLocation())
      , filterExpr(nullptr)
      , block(nullptr)
  {
  }
  
  SEHFinallyStmt::SEHFinallyStmt()
      : Stmt(StmtClass::SEHFinallyStmt)
      , finallyLoc(SourceLocation())
      , block(nullptr)
  {
  }
  
  SEHTryStmt::SEHTryStmt()
      : Stmt(StmtClass::SEHTryStmt)
      , tryLoc(SourceLocation())
      , isCXXTry(0)
      , tryBlock(nullptr)
      , handler(nullptr)
      , exceptHandler(nullptr)
      , finallyHandler(nullptr)
  {
  }
  
  SEHLeaveStmt::SEHLeaveStmt()
      : Stmt(StmtClass::SEHLeaveStmt)
      , leaveLoc(SourceLocation())
  {
  }
  
  CapturedStmt::Capture::Capture()
  {
  }
  
  CapturedStmt::CapturedStmt()
      : Stmt(StmtClass::CapturedStmt)
      , capturedStmt(nullptr)
      , capture_size(0)
  {
  }
  
  DEF_VECTOR(CapturedStmt, Expr*, capture_inits)
  
  CXXCatchStmt::CXXCatchStmt()
      : Stmt(StmtClass::CXXCatchStmt)
      , catchLoc(SourceLocation())
      , caughtType(QualifiedType())
      , handlerBlock(nullptr)
  {
  }
  
  CXXTryStmt::CXXTryStmt()
      : Stmt(StmtClass::CXXTryStmt)
      , tryLoc(SourceLocation())
      , tryBlock(nullptr)
      , numHandlers(0)
  {
  }
  
  CXXForRangeStmt::CXXForRangeStmt()
      : Stmt(StmtClass::CXXForRangeStmt)
      , init(nullptr)
      , rangeInit(nullptr)
      , cond(nullptr)
      , inc(nullptr)
      , body(nullptr)
      , rangeStmt(nullptr)
      , beginStmt(nullptr)
      , endStmt(nullptr)
      , loopVarStmt(nullptr)
      , forLoc(SourceLocation())
      , coawaitLoc(SourceLocation())
      , colonLoc(SourceLocation())
      , rParenLoc(SourceLocation())
  {
  }
  
  MSDependentExistsStmt::MSDependentExistsStmt()
      : Stmt(StmtClass::MSDependentExistsStmt)
      , keywordLoc(SourceLocation())
      , isIfExists(0)
      , isIfNotExists(0)
      , subStmt(nullptr)
  {
  }
  
  CoroutineBodyStmt::CtorArgs::CtorArgs()
  {
  }
  
  CoroutineBodyStmt::CoroutineBodyStmt()
      : Stmt(StmtClass::CoroutineBodyStmt)
      , hasDependentPromiseType(0)
      , body(nullptr)
      , promiseDeclStmt(nullptr)
      , initSuspendStmt(nullptr)
      , finalSuspendStmt(nullptr)
      , exceptionHandler(nullptr)
      , fallthroughHandler(nullptr)
      , allocate(nullptr)
      , deallocate(nullptr)
      , returnValueInit(nullptr)
      , resultDecl(nullptr)
      , returnStmt(nullptr)
      , returnStmtOnAllocFailure(nullptr)
  {
  }
  
  CoreturnStmt::CoreturnStmt()
      : Stmt(StmtClass::CoreturnStmt)
      , isImplicit(0)
      , keywordLoc(SourceLocation())
      , operand(nullptr)
      , promiseCall(nullptr)
  {
  }
  
  } } }
  