#ifndef VCZH_WORKFLOW_EXPRESSION_WFEXPRESSIONPARSER_TRAVERSE
#define VCZH_WORKFLOW_EXPRESSION_WFEXPRESSIONPARSER_TRAVERSE
#include <VlppParser.h>
#include "WfExpression_Ast.h"
namespace
 
{
	
namespace
 
	{
		
namespace
 
		{
			
			
class
  : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
  : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfOrderedLambdaExpression
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfTypeOfExpressionExpression
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
WfOrderedLambdaExpression
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
WfTypeOfExpressionExpression
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
  : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfRaiseExceptionStatement
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
WfRaiseExceptionStatement
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
  : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
 VirtualCfeDeclarationVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
WfAutoPropertyDeclaration
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfCastResultInterfaceDeclaration
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
WfAutoPropertyDeclaration
* 
)
override
;
				
void
 (
WfCastResultInterfaceDeclaration
* 
)
override
;
			};
			
			
class
 VirtualCseDeclarationVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
WfStateMachineDeclaration
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
WfStateMachineDeclaration
* 
)
override
;
			};
			
			
class
 VirtualCseStatementVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
 CoroutineStatementVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
 StateMachineStatementVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
 VirtualCfeExpressionVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
			};
			
			
class
 VirtualCseExpressionVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfExpectedTypeCastExpression
* 
);
				
virtual
 void
 (
* 
);
				
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
virtual
 void
 (
* 
) = 
0
;
				
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
* 
)
override
;
				
void
 (
WfExpectedTypeCastExpression
* 
)
override
;
				
void
 (
* 
)
override
;
			};
			
			
class
 ModuleUsingFragmentVisitor
 : 
public
 , 
public
 ::
			{
			
public
:
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
WfModuleUsingNameFragment
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
WfModuleUsingWildCardFragment
* 
);
				
				
void
 (
WfModuleUsingNameFragment
* 
)
override
;
				
void
 (
WfModuleUsingWildCardFragment
* 
)
override
;
			};
			
			
class
 
				: 
public
 
				, 
public
 
				, 
public
 
				, 
public
 
				, 
public
 VirtualCfeDeclarationVisitor
				, 
public
 VirtualCseDeclarationVisitor
				, 
public
 VirtualCseStatementVisitor
				, 
public
 CoroutineStatementVisitor
				, 
public
 StateMachineStatementVisitor
				, 
public
 VirtualCfeExpressionVisitor
				, 
public
 VirtualCseExpressionVisitor
				, 
public
 ModuleUsingFragmentVisitor
			{
			
public
:
				
void
 (
* 
);
				
				
virtual
 void
 (
vl
::
parsing
::
& 
);
				
virtual
 void
 (
vl
::
parsing
::
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
virtual
 void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
				
void
 (
* 
);
			};
		}
	}
}
#endif