diff --git a/src/CppParser/Expr.h b/src/CppParser/Expr.h new file mode 100644 index 00000000..d3bdd334 --- /dev/null +++ b/src/CppParser/Expr.h @@ -0,0 +1,441 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- + +#pragma once + +#include "Stmt.h" + +namespace CppSharp { namespace CppParser { namespace AST { + +class Expr : public Stmt +{ + enum class LValueClassification + { + LV_Valid = 0, + LV_NotObjectType = 1, + LV_IncompleteVoidType = 2, + LV_DuplicateVectorComponents = 3, + LV_InvalidExpression = 4, + LV_InvalidMessageExpression = 5, + LV_MemberFunction = 6, + LV_SubObjCPropertySetting = 7, + LV_ClassTemporary = 8, + LV_ArrayTemporary = 9 + }; + + enum class isModifiableLvalueResult + { + MLV_Valid = 0, + MLV_NotObjectType = 1, + MLV_IncompleteVoidType = 2, + MLV_DuplicateVectorComponents = 3, + MLV_InvalidExpression = 4, + MLV_LValueCast = 5, + MLV_IncompleteType = 6, + MLV_ConstQualified = 7, + MLV_ConstQualifiedField = 8, + MLV_ConstAddrSpace = 9, + MLV_ArrayType = 10, + MLV_NoSetterProperty = 11, + MLV_MemberFunction = 12, + MLV_SubObjCPropertySetting = 13, + MLV_InvalidMessageExpression = 14, + MLV_ClassTemporary = 15, + MLV_ArrayTemporary = 16 + }; + + enum class SideEffectsKind + { + SE_NoSideEffects = 0, + SE_AllowUndefinedBehavior = 1, + SE_AllowSideEffects = 2 + }; + + enum class ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + }; + + enum class NullPointerConstantKind + { + NPCK_NotNull = 0, + NPCK_ZeroExpression = 1, + NPCK_ZeroLiteral = 2, + NPCK_CXX11_nullptr = 3, + NPCK_GNUNull = 4 + }; + + enum class NullPointerConstantValueDependence + { + NPC_NeverValueDependent = 0, + NPC_ValueDependentIsNull = 1, + NPC_ValueDependentIsNotNull = 2 + }; + + class Classification + { + enum class Kinds + { + CL_LValue = 0, + CL_XValue = 1, + CL_Function = 2, + CL_Void = 3, + CL_AddressableVoid = 4, + CL_DuplicateVectorComponents = 5, + CL_MemberFunction = 6, + CL_SubObjCPropertySetting = 7, + CL_ClassTemporary = 8, + CL_ArrayTemporary = 9, + CL_ObjCMessageRValue = 10, + CL_PRValue = 11 + }; + + enum class ModifiableType + { + CM_Untested = 0, + CM_Modifiable = 1, + CM_RValue = 2, + CM_Function = 3, + CM_LValueCast = 4, + CM_NoSetterProperty = 5, + CM_ConstQualified = 6, + CM_ConstQualifiedField = 7, + CM_ConstAddrSpace = 8, + CM_ArrayType = 9, + CM_IncompleteType = 10 + }; + }; + + class EvalStatus + { + }; + + class EvalResult : public EvalStatus + { + }; +}; + +class FullExpr : public Expr +{ +}; + +class ConstantExpr : public FullExpr +{ +}; + +class OpaqueValueExpr : public Expr +{ +}; + +class DeclRefExpr : public Expr +{ +}; + +class IntegerLiteral : public Expr +{ +}; + +class FixedPointLiteral : public Expr +{ +}; + +class CharacterLiteral : public Expr +{ + enum class CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + }; +}; + +class FloatingLiteral : public Expr +{ +}; + +class ImaginaryLiteral : public Expr +{ +}; + +class StringLiteral : public Expr +{ + enum class StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + }; + + typedef const SourceLocation* tokloc_iterator; +}; + +class PredefinedExpr : public Expr +{ + enum class IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + }; +}; + +class ParenExpr : public Expr +{ +}; + +class UnaryOperator : public Expr +{ + typedef UnaryOperatorKind Opcode; +}; + +class OffsetOfExpr : public Expr +{ +}; + +class UnaryExprOrTypeTraitExpr : public Expr +{ +}; + +class ArraySubscriptExpr : public Expr +{ +}; + +class CallExpr : public Expr +{ + typedef ExprIterator arg_iterator; + + typedef ConstExprIterator const_arg_iterator; + + typedef iterator_range arg_range; + + typedef iterator_range const_arg_range; +}; + +class MemberExpr : public Expr +{ +}; + +class CompoundLiteralExpr : public Expr +{ +}; + +class CastExpr : public Expr +{ + typedef CXXBaseSpecifier** path_iterator; + + typedef const CXXBaseSpecifier* const* path_const_iterator; +}; + +class ImplicitCastExpr : public CastExpr +{ + enum class OnStack_t + { + OnStack = 0 + }; +}; + +class ExplicitCastExpr : public CastExpr +{ +}; + +class CStyleCastExpr : public ExplicitCastExpr +{ +}; + +class BinaryOperator : public Expr +{ + typedef BinaryOperatorKind Opcode; +}; + +class CompoundAssignOperator : public BinaryOperator +{ +}; + +class AbstractConditionalOperator : public Expr +{ +}; + +class ConditionalOperator : public AbstractConditionalOperator +{ +}; + +class BinaryConditionalOperator : public AbstractConditionalOperator +{ +}; + +class AddrLabelExpr : public Expr +{ +}; + +class StmtExpr : public Expr +{ +}; + +class ShuffleVectorExpr : public Expr +{ +}; + +class ConvertVectorExpr : public Expr +{ +}; + +class ChooseExpr : public Expr +{ +}; + +class GNUNullExpr : public Expr +{ +}; + +class VAArgExpr : public Expr +{ +}; + +class InitListExpr : public Expr +{ + typedef ASTVector InitExprsTy; + + typedef iterator iterator; + + typedef const_iterator const_iterator; + + typedef reverse_iterator reverse_iterator; + + typedef const_reverse_iterator const_reverse_iterator; +}; + +class DesignatedInitExpr : public Expr +{ + class Designator + { + }; + + class FieldDesignator + { + }; + + class ArrayOrRangeDesignator + { + }; +}; + +class NoInitExpr : public Expr +{ +}; + +class DesignatedInitUpdateExpr : public Expr +{ +}; + +class ArrayInitLoopExpr : public Expr +{ +}; + +class ArrayInitIndexExpr : public Expr +{ +}; + +class ImplicitValueInitExpr : public Expr +{ +}; + +class ParenListExpr : public Expr +{ +}; + +class GenericSelectionExpr : public Expr +{ +}; + +class ExtVectorElementExpr : public Expr +{ +}; + +class BlockExpr : public Expr +{ +}; + +class AsTypeExpr : public Expr +{ +}; + +class PseudoObjectExpr : public Expr +{ + typedef Expr* const* semantics_iterator; + + typedef const Expr* const* const_semantics_iterator; +}; + +class AtomicExpr : public Expr +{ + enum class AtomicOp + { + AO__c11_atomic_init = 0, + AO__c11_atomic_load = 1, + AO__c11_atomic_store = 2, + AO__c11_atomic_exchange = 3, + AO__c11_atomic_compare_exchange_strong = 4, + AO__c11_atomic_compare_exchange_weak = 5, + AO__c11_atomic_fetch_add = 6, + AO__c11_atomic_fetch_sub = 7, + AO__c11_atomic_fetch_and = 8, + AO__c11_atomic_fetch_or = 9, + AO__c11_atomic_fetch_xor = 10, + AO__atomic_load = 11, + AO__atomic_load_n = 12, + AO__atomic_store = 13, + AO__atomic_store_n = 14, + AO__atomic_exchange = 15, + AO__atomic_exchange_n = 16, + AO__atomic_compare_exchange = 17, + AO__atomic_compare_exchange_n = 18, + AO__atomic_fetch_add = 19, + AO__atomic_fetch_sub = 20, + AO__atomic_fetch_and = 21, + AO__atomic_fetch_or = 22, + AO__atomic_fetch_xor = 23, + AO__atomic_fetch_nand = 24, + AO__atomic_add_fetch = 25, + AO__atomic_sub_fetch = 26, + AO__atomic_and_fetch = 27, + AO__atomic_or_fetch = 28, + AO__atomic_xor_fetch = 29, + AO__atomic_nand_fetch = 30, + AO__opencl_atomic_init = 31, + AO__opencl_atomic_load = 32, + AO__opencl_atomic_store = 33, + AO__opencl_atomic_exchange = 34, + AO__opencl_atomic_compare_exchange_strong = 35, + AO__opencl_atomic_compare_exchange_weak = 36, + AO__opencl_atomic_fetch_add = 37, + AO__opencl_atomic_fetch_sub = 38, + AO__opencl_atomic_fetch_and = 39, + AO__opencl_atomic_fetch_or = 40, + AO__opencl_atomic_fetch_xor = 41, + AO__opencl_atomic_fetch_min = 42, + AO__opencl_atomic_fetch_max = 43, + AO__atomic_fetch_min = 44, + AO__atomic_fetch_max = 45, + BI_First = 0 + }; +}; + +class TypoExpr : public Expr +{ +}; + +} } } diff --git a/src/CppParser/Stmt.h b/src/CppParser/Stmt.h new file mode 100644 index 00000000..4f9aed09 --- /dev/null +++ b/src/CppParser/Stmt.h @@ -0,0 +1,372 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- + +#pragma once + +namespace CppSharp { namespace CppParser { namespace AST { + +enum class StmtKind +{ + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + firstAsmStmtConstant = 1, + lastAsmStmtConstant = 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, + firstAbstractConditionalOperatorConstant = 15, + lastAbstractConditionalOperatorConstant = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + firstBinaryOperatorConstant = 24, + lastBinaryOperatorConstant = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + firstCXXConstructExprConstant = 29, + lastCXXConstructExprConstant = 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, + firstCallExprConstant = 48, + lastCallExprConstant = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + firstCXXNamedCastExprConstant = 55, + lastCXXNamedCastExprConstant = 58, + ObjCBridgedCastExpr = 59, + firstExplicitCastExprConstant = 53, + lastExplicitCastExprConstant = 59, + ImplicitCastExpr = 60, + firstCastExprConstant = 53, + lastCastExprConstant = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + firstCoroutineSuspendExprConstant = 65, + lastCoroutineSuspendExprConstant = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + firstFullExprConstant = 76, + lastFullExprConstant = 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, + OMPArraySectionExpr = 91, + ObjCArrayLiteral = 92, + ObjCAvailabilityCheckExpr = 93, + ObjCBoolLiteralExpr = 94, + ObjCBoxedExpr = 95, + ObjCDictionaryLiteral = 96, + ObjCEncodeExpr = 97, + ObjCIndirectCopyRestoreExpr = 98, + ObjCIsaExpr = 99, + ObjCIvarRefExpr = 100, + ObjCMessageExpr = 101, + ObjCPropertyRefExpr = 102, + ObjCProtocolExpr = 103, + ObjCSelectorExpr = 104, + ObjCStringLiteral = 105, + ObjCSubscriptRefExpr = 106, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + firstOverloadExprConstant = 109, + lastOverloadExprConstant = 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, + firstExprConstant = 15, + lastExprConstant = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + OMPAtomicDirective = 134, + OMPBarrierDirective = 135, + OMPCancelDirective = 136, + OMPCancellationPointDirective = 137, + OMPCriticalDirective = 138, + OMPFlushDirective = 139, + OMPDistributeDirective = 140, + OMPDistributeParallelForDirective = 141, + OMPDistributeParallelForSimdDirective = 142, + OMPDistributeSimdDirective = 143, + OMPForDirective = 144, + OMPForSimdDirective = 145, + OMPParallelForDirective = 146, + OMPParallelForSimdDirective = 147, + OMPSimdDirective = 148, + OMPTargetParallelForSimdDirective = 149, + OMPTargetSimdDirective = 150, + OMPTargetTeamsDistributeDirective = 151, + OMPTargetTeamsDistributeParallelForDirective = 152, + OMPTargetTeamsDistributeParallelForSimdDirective = 153, + OMPTargetTeamsDistributeSimdDirective = 154, + OMPTaskLoopDirective = 155, + OMPTaskLoopSimdDirective = 156, + OMPTeamsDistributeDirective = 157, + OMPTeamsDistributeParallelForDirective = 158, + OMPTeamsDistributeParallelForSimdDirective = 159, + OMPTeamsDistributeSimdDirective = 160, + firstOMPLoopDirectiveConstant = 140, + lastOMPLoopDirectiveConstant = 160, + OMPMasterDirective = 161, + OMPOrderedDirective = 162, + OMPParallelDirective = 163, + OMPParallelSectionsDirective = 164, + OMPSectionDirective = 165, + OMPSectionsDirective = 166, + OMPSingleDirective = 167, + OMPTargetDataDirective = 168, + OMPTargetDirective = 169, + OMPTargetEnterDataDirective = 170, + OMPTargetExitDataDirective = 171, + OMPTargetParallelDirective = 172, + OMPTargetParallelForDirective = 173, + OMPTargetTeamsDirective = 174, + OMPTargetUpdateDirective = 175, + OMPTaskDirective = 176, + OMPTaskgroupDirective = 177, + OMPTaskwaitDirective = 178, + OMPTaskyieldDirective = 179, + OMPTeamsDirective = 180, + firstOMPExecutableDirectiveConstant = 134, + lastOMPExecutableDirectiveConstant = 180, + ObjCAtCatchStmt = 181, + ObjCAtFinallyStmt = 182, + ObjCAtSynchronizedStmt = 183, + ObjCAtThrowStmt = 184, + ObjCAtTryStmt = 185, + ObjCAutoreleasePoolStmt = 186, + ObjCForCollectionStmt = 187, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + firstSwitchCaseConstant = 193, + lastSwitchCaseConstant = 194, + SwitchStmt = 195, + WhileStmt = 196, + firstStmtConstant = 1, + lastStmtConstant = 196 +}; + +class Stmt +{ +}; + +class DeclStmt : public Stmt +{ +}; + +class NullStmt : public Stmt +{ +}; + +class CompoundStmt : public Stmt +{ +}; + +class SwitchCase : public Stmt +{ +}; + +class CaseStmt : public SwitchCase +{ +}; + +class DefaultStmt : public SwitchCase +{ +}; + +class LabelStmt : public Stmt +{ +}; + +class AttributedStmt : public Stmt +{ +}; + +class IfStmt : public Stmt +{ +}; + +class SwitchStmt : public Stmt +{ +}; + +class WhileStmt : public Stmt +{ +}; + +class DoStmt : public Stmt +{ +}; + +class ForStmt : public Stmt +{ +}; + +class GotoStmt : public Stmt +{ +}; + +class IndirectGotoStmt : public Stmt +{ +}; + +class ContinueStmt : public Stmt +{ +}; + +class BreakStmt : public Stmt +{ +}; + +class ReturnStmt : public Stmt +{ +}; + +class AsmStmt : public Stmt +{ +}; + +class GCCAsmStmt : public AsmStmt +{ + class AsmStringPiece + { + enum class Kind + { + String = 0, + Operand = 1 + }; + }; +}; + +class MSAsmStmt : public AsmStmt +{ +}; + +class SEHExceptStmt : public Stmt +{ +}; + +class SEHFinallyStmt : public Stmt +{ +}; + +class SEHTryStmt : public Stmt +{ +}; + +class SEHLeaveStmt : public Stmt +{ +}; + +class CapturedStmt : public Stmt +{ + enum class VariableCaptureKind + { + VCK_This = 0, + VCK_ByRef = 1, + VCK_ByCopy = 2, + VCK_VLAType = 3 + }; + + class Capture + { + }; +}; + +} } }