#include <VlppParser.h>
#include "WfExpression_Ast.h"
namespace
{
namespace
{
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfAutoPropertyDeclaration
::
(
::
*
)
{
->
(
this
);
}
void
WfCastResultInterfaceDeclaration
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfStateMachineDeclaration
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfRaiseExceptionStatement
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfOrderedLambdaExpression
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfTypeOfExpressionExpression
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfExpectedTypeCastExpression
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
WfModuleUsingNameFragment
::
(
::
*
)
{
->
(
this
);
}
void
WfModuleUsingWildCardFragment
::
(
::
*
)
{
->
(
this
);
}
}
}
namespace
{
namespace
{
namespace
{
#ifndef VCZH_DEBUG_NO_REFLECTION
using
namespace
vl
::
workflow
;
#define PARSING_TOKEN_FIELD(NAME)\
CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(get_##NAME, NO_PARAMETER, vl::WString(ClassType::*)(), [](ClassType* node) { return node->NAME.value; }, L"*", L"*")\
CLASS_MEMBER_EXTERNALMETHOD_TEMPLATE(set_##NAME, { L"value" }, void(ClassType::*)(const vl::WString&), [](ClassType* node, const vl::WString& value) { node->NAME.value = value; }, L"*", L"*")\
CLASS_MEMBER_PROPERTY_REFERENCETEMPLATE(NAME, get_##NAME, set_##NAME, L"$This->$Name.value")\
IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassMemberKind, workflow::WfClassMemberKind)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfClassMemberKind"
,
L"vl::workflow::WfClassMemberKind"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassMember, workflow::WfClassMember)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfClassMember"
,
L"vl::workflow::WfClassMember"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfType, workflow::WfType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfType"
,
L"vl::workflow::WfType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression, workflow::WfExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfExpression"
,
L"vl::workflow::WfExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement, workflow::WfStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStatement"
,
L"vl::workflow::WfStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttribute, workflow::WfAttribute)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfAttribute"
,
L"vl::workflow::WfAttribute"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration, workflow::WfDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfDeclaration"
,
L"vl::workflow::WfDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedTypeName, workflow::WfPredefinedTypeName)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfPredefinedTypeName"
,
L"vl::workflow::WfPredefinedTypeName"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfPredefinedType, workflow::WfPredefinedType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfPredefinedType"
,
L"vl::workflow::WfPredefinedType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedType, workflow::WfTopQualifiedType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTopQualifiedType"
,
L"vl::workflow::WfTopQualifiedType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceType, workflow::WfReferenceType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfReferenceType"
,
L"vl::workflow::WfReferenceType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfRawPointerType, workflow::WfRawPointerType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfRawPointerType"
,
L"vl::workflow::WfRawPointerType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfSharedPointerType, workflow::WfSharedPointerType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfSharedPointerType"
,
L"vl::workflow::WfSharedPointerType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfNullableType, workflow::WfNullableType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfNullableType"
,
L"vl::workflow::WfNullableType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumerableType, workflow::WfEnumerableType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumerableType"
,
L"vl::workflow::WfEnumerableType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapWritability, workflow::WfMapWritability)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfMapWritability"
,
L"vl::workflow::WfMapWritability"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfMapType, workflow::WfMapType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfMapType"
,
L"vl::workflow::WfMapType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfObservableListType, workflow::WfObservableListType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfObservableListType"
,
L"vl::workflow::WfObservableListType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionType, workflow::WfFunctionType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFunctionType"
,
L"vl::workflow::WfFunctionType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildType, workflow::WfChildType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfChildType"
,
L"vl::workflow::WfChildType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfNamespaceDeclaration, workflow::WfNamespaceDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfNamespaceDeclaration"
,
L"vl::workflow::WfNamespaceDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionArgument, workflow::WfFunctionArgument)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFunctionArgument"
,
L"vl::workflow::WfFunctionArgument"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionAnonymity, workflow::WfFunctionAnonymity)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFunctionAnonymity"
,
L"vl::workflow::WfFunctionAnonymity"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionDeclaration, workflow::WfFunctionDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFunctionDeclaration"
,
L"vl::workflow::WfFunctionDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableDeclaration, workflow::WfVariableDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVariableDeclaration"
,
L"vl::workflow::WfVariableDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEventDeclaration, workflow::WfEventDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEventDeclaration"
,
L"vl::workflow::WfEventDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfPropertyDeclaration, workflow::WfPropertyDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfPropertyDeclaration"
,
L"vl::workflow::WfPropertyDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassKind, workflow::WfClassKind)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfClassKind"
,
L"vl::workflow::WfClassKind"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorType, workflow::WfConstructorType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfConstructorType"
,
L"vl::workflow::WfConstructorType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBaseConstructorCall, workflow::WfBaseConstructorCall)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBaseConstructorCall"
,
L"vl::workflow::WfBaseConstructorCall"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorDeclaration, workflow::WfConstructorDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfConstructorDeclaration"
,
L"vl::workflow::WfConstructorDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfDestructorDeclaration, workflow::WfDestructorDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfDestructorDeclaration"
,
L"vl::workflow::WfDestructorDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfClassDeclaration, workflow::WfClassDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfClassDeclaration"
,
L"vl::workflow::WfClassDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumKind, workflow::WfEnumKind)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumKind"
,
L"vl::workflow::WfEnumKind"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemKind, workflow::WfEnumItemKind)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumItemKind"
,
L"vl::workflow::WfEnumItemKind"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItemIntersection, workflow::WfEnumItemIntersection)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumItemIntersection"
,
L"vl::workflow::WfEnumItemIntersection"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumItem, workflow::WfEnumItem)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumItem"
,
L"vl::workflow::WfEnumItem"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfEnumDeclaration, workflow::WfEnumDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfEnumDeclaration"
,
L"vl::workflow::WfEnumDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructMember, workflow::WfStructMember)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStructMember"
,
L"vl::workflow::WfStructMember"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStructDeclaration, workflow::WfStructDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStructDeclaration"
,
L"vl::workflow::WfStructDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration, workflow::WfVirtualCfeDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVirtualCfeDeclaration"
,
L"vl::workflow::WfVirtualCfeDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPConst, workflow::WfAPConst)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfAPConst"
,
L"vl::workflow::WfAPConst"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfAPObserve, workflow::WfAPObserve)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfAPObserve"
,
L"vl::workflow::WfAPObserve"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfAutoPropertyDeclaration, workflow::WfAutoPropertyDeclaration)
const
<
vl
::
workflow
::
WfAutoPropertyDeclaration
>::
= {
L"workflow::WfAutoPropertyDeclaration"
,
L"vl::workflow::WfAutoPropertyDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCastResultInterfaceDeclaration, workflow::WfCastResultInterfaceDeclaration)
const
<
vl
::
workflow
::
WfCastResultInterfaceDeclaration
>::
= {
L"workflow::WfCastResultInterfaceDeclaration"
,
L"vl::workflow::WfCastResultInterfaceDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration, workflow::WfVirtualCseDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVirtualCseDeclaration"
,
L"vl::workflow::WfVirtualCseDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInput, workflow::WfStateInput)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateInput"
,
L"vl::workflow::WfStateInput"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateDeclaration, workflow::WfStateDeclaration)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateDeclaration"
,
L"vl::workflow::WfStateDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineDeclaration, workflow::WfStateMachineDeclaration)
const
<
vl
::
workflow
::
WfStateMachineDeclaration
>::
= {
L"workflow::WfStateMachineDeclaration"
,
L"vl::workflow::WfStateMachineDeclaration"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBreakStatement, workflow::WfBreakStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBreakStatement"
,
L"vl::workflow::WfBreakStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfContinueStatement, workflow::WfContinueStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfContinueStatement"
,
L"vl::workflow::WfContinueStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfReturnStatement, workflow::WfReturnStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfReturnStatement"
,
L"vl::workflow::WfReturnStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeleteStatement, workflow::WfDeleteStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfDeleteStatement"
,
L"vl::workflow::WfDeleteStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfRaiseExceptionStatement, workflow::WfRaiseExceptionStatement)
const
<
vl
::
workflow
::
WfRaiseExceptionStatement
>::
= {
L"workflow::WfRaiseExceptionStatement"
,
L"vl::workflow::WfRaiseExceptionStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfStatement, workflow::WfIfStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfIfStatement"
,
L"vl::workflow::WfIfStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfWhileStatement, workflow::WfWhileStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfWhileStatement"
,
L"vl::workflow::WfWhileStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTryStatement, workflow::WfTryStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTryStatement"
,
L"vl::workflow::WfTryStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBlockStatement, workflow::WfBlockStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBlockStatement"
,
L"vl::workflow::WfBlockStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfGotoStatement, workflow::WfGotoStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfGotoStatement"
,
L"vl::workflow::WfGotoStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVariableStatement, workflow::WfVariableStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVariableStatement"
,
L"vl::workflow::WfVariableStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpressionStatement, workflow::WfExpressionStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfExpressionStatement"
,
L"vl::workflow::WfExpressionStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement, workflow::WfVirtualCseStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVirtualCseStatement"
,
L"vl::workflow::WfVirtualCseStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachDirection, workflow::WfForEachDirection)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfForEachDirection"
,
L"vl::workflow::WfForEachDirection"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfForEachStatement, workflow::WfForEachStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfForEachStatement"
,
L"vl::workflow::WfForEachStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchCase, workflow::WfSwitchCase)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfSwitchCase"
,
L"vl::workflow::WfSwitchCase"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfSwitchStatement, workflow::WfSwitchStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfSwitchStatement"
,
L"vl::workflow::WfSwitchStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoProviderStatement, workflow::WfCoProviderStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCoProviderStatement"
,
L"vl::workflow::WfCoProviderStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement, workflow::WfCoroutineStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCoroutineStatement"
,
L"vl::workflow::WfCoroutineStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoPauseStatement, workflow::WfCoPauseStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCoPauseStatement"
,
L"vl::workflow::WfCoPauseStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorStatement, workflow::WfCoOperatorStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCoOperatorStatement"
,
L"vl::workflow::WfCoOperatorStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchType, workflow::WfStateSwitchType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateSwitchType"
,
L"vl::workflow::WfStateSwitchType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeType, workflow::WfStateInvokeType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateInvokeType"
,
L"vl::workflow::WfStateInvokeType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement, workflow::WfStateMachineStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateMachineStatement"
,
L"vl::workflow::WfStateMachineStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchArgument, workflow::WfStateSwitchArgument)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateSwitchArgument"
,
L"vl::workflow::WfStateSwitchArgument"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchCase, workflow::WfStateSwitchCase)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateSwitchCase"
,
L"vl::workflow::WfStateSwitchCase"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateSwitchStatement, workflow::WfStateSwitchStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateSwitchStatement"
,
L"vl::workflow::WfStateSwitchStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateInvokeStatement, workflow::WfStateInvokeStatement)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStateInvokeStatement"
,
L"vl::workflow::WfStateInvokeStatement"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfThisExpression, workflow::WfThisExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfThisExpression"
,
L"vl::workflow::WfThisExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTopQualifiedExpression, workflow::WfTopQualifiedExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTopQualifiedExpression"
,
L"vl::workflow::WfTopQualifiedExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfReferenceExpression, workflow::WfReferenceExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfReferenceExpression"
,
L"vl::workflow::WfReferenceExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedNameExpression, workflow::WfOrderedNameExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfOrderedNameExpression"
,
L"vl::workflow::WfOrderedNameExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfOrderedLambdaExpression, workflow::WfOrderedLambdaExpression)
const
<
vl
::
workflow
::
WfOrderedLambdaExpression
>::
= {
L"workflow::WfOrderedLambdaExpression"
,
L"vl::workflow::WfOrderedLambdaExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfMemberExpression, workflow::WfMemberExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfMemberExpression"
,
L"vl::workflow::WfMemberExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfChildExpression, workflow::WfChildExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfChildExpression"
,
L"vl::workflow::WfChildExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralValue, workflow::WfLiteralValue)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfLiteralValue"
,
L"vl::workflow::WfLiteralValue"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfLiteralExpression, workflow::WfLiteralExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfLiteralExpression"
,
L"vl::workflow::WfLiteralExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFloatingExpression, workflow::WfFloatingExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFloatingExpression"
,
L"vl::workflow::WfFloatingExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfIntegerExpression, workflow::WfIntegerExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfIntegerExpression"
,
L"vl::workflow::WfIntegerExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStringExpression, workflow::WfStringExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfStringExpression"
,
L"vl::workflow::WfStringExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryOperator, workflow::WfUnaryOperator)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfUnaryOperator"
,
L"vl::workflow::WfUnaryOperator"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfUnaryExpression, workflow::WfUnaryExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfUnaryExpression"
,
L"vl::workflow::WfUnaryExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryOperator, workflow::WfBinaryOperator)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBinaryOperator"
,
L"vl::workflow::WfBinaryOperator"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBinaryExpression, workflow::WfBinaryExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBinaryExpression"
,
L"vl::workflow::WfBinaryExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetVariable, workflow::WfLetVariable)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfLetVariable"
,
L"vl::workflow::WfLetVariable"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfLetExpression, workflow::WfLetExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfLetExpression"
,
L"vl::workflow::WfLetExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfIfExpression, workflow::WfIfExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfIfExpression"
,
L"vl::workflow::WfIfExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeBoundary, workflow::WfRangeBoundary)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfRangeBoundary"
,
L"vl::workflow::WfRangeBoundary"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfRangeExpression, workflow::WfRangeExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfRangeExpression"
,
L"vl::workflow::WfRangeExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTesting, workflow::WfSetTesting)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfSetTesting"
,
L"vl::workflow::WfSetTesting"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfSetTestingExpression, workflow::WfSetTestingExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfSetTestingExpression"
,
L"vl::workflow::WfSetTestingExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorArgument, workflow::WfConstructorArgument)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfConstructorArgument"
,
L"vl::workflow::WfConstructorArgument"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfConstructorExpression, workflow::WfConstructorExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfConstructorExpression"
,
L"vl::workflow::WfConstructorExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfInferExpression, workflow::WfInferExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfInferExpression"
,
L"vl::workflow::WfInferExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingStrategy, workflow::WfTypeCastingStrategy)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTypeCastingStrategy"
,
L"vl::workflow::WfTypeCastingStrategy"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeCastingExpression, workflow::WfTypeCastingExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTypeCastingExpression"
,
L"vl::workflow::WfTypeCastingExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTesting, workflow::WfTypeTesting)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTypeTesting"
,
L"vl::workflow::WfTypeTesting"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeTestingExpression, workflow::WfTypeTestingExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTypeTestingExpression"
,
L"vl::workflow::WfTypeTestingExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfTypeExpression, workflow::WfTypeOfTypeExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfTypeOfTypeExpression"
,
L"vl::workflow::WfTypeOfTypeExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfTypeOfExpressionExpression, workflow::WfTypeOfExpressionExpression)
const
<
vl
::
workflow
::
WfTypeOfExpressionExpression
>::
= {
L"workflow::WfTypeOfExpressionExpression"
,
L"vl::workflow::WfTypeOfExpressionExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfAttachEventExpression, workflow::WfAttachEventExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfAttachEventExpression"
,
L"vl::workflow::WfAttachEventExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfDetachEventExpression, workflow::WfDetachEventExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfDetachEventExpression"
,
L"vl::workflow::WfDetachEventExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveType, workflow::WfObserveType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfObserveType"
,
L"vl::workflow::WfObserveType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfObserveExpression, workflow::WfObserveExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfObserveExpression"
,
L"vl::workflow::WfObserveExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCallExpression, workflow::WfCallExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCallExpression"
,
L"vl::workflow::WfCallExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFunctionExpression, workflow::WfFunctionExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFunctionExpression"
,
L"vl::workflow::WfFunctionExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewClassExpression, workflow::WfNewClassExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfNewClassExpression"
,
L"vl::workflow::WfNewClassExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewInterfaceExpression, workflow::WfNewInterfaceExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfNewInterfaceExpression"
,
L"vl::workflow::WfNewInterfaceExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression, workflow::WfVirtualCfeExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVirtualCfeExpression"
,
L"vl::workflow::WfVirtualCfeExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfFormatExpression, workflow::WfFormatExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfFormatExpression"
,
L"vl::workflow::WfFormatExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression, workflow::WfVirtualCseExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfVirtualCseExpression"
,
L"vl::workflow::WfVirtualCseExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfBindExpression, workflow::WfBindExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfBindExpression"
,
L"vl::workflow::WfBindExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfNewCoroutineExpression, workflow::WfNewCoroutineExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfNewCoroutineExpression"
,
L"vl::workflow::WfNewCoroutineExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfMixinCastExpression, workflow::WfMixinCastExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfMixinCastExpression"
,
L"vl::workflow::WfMixinCastExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpectedTypeCastExpression, workflow::WfExpectedTypeCastExpression)
const
<
vl
::
workflow
::
WfExpectedTypeCastExpression
>::
= {
L"workflow::WfExpectedTypeCastExpression"
,
L"vl::workflow::WfExpectedTypeCastExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoOperatorExpression, workflow::WfCoOperatorExpression)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfCoOperatorExpression"
,
L"vl::workflow::WfCoOperatorExpression"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment, workflow::WfModuleUsingFragment)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfModuleUsingFragment"
,
L"vl::workflow::WfModuleUsingFragment"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingNameFragment, workflow::WfModuleUsingNameFragment)
const
<
vl
::
workflow
::
WfModuleUsingNameFragment
>::
= {
L"workflow::WfModuleUsingNameFragment"
,
L"vl::workflow::WfModuleUsingNameFragment"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingWildCardFragment, workflow::WfModuleUsingWildCardFragment)
const
<
vl
::
workflow
::
WfModuleUsingWildCardFragment
>::
= {
L"workflow::WfModuleUsingWildCardFragment"
,
L"vl::workflow::WfModuleUsingWildCardFragment"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingItem, workflow::WfModuleUsingItem)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfModuleUsingItem"
,
L"vl::workflow::WfModuleUsingItem"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingPath, workflow::WfModuleUsingPath)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfModuleUsingPath"
,
L"vl::workflow::WfModuleUsingPath"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleType, workflow::WfModuleType)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfModuleType"
,
L"vl::workflow::WfModuleType"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModule, workflow::WfModule)
const
<
vl
::
workflow
::
>::
= {
L"workflow::WfModule"
,
L"vl::workflow::WfModule"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfType::IVisitor, workflow::WfType::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfType::IVisitor"
,
L"vl::workflow::WfType::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfExpression::IVisitor, workflow::WfExpression::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfExpression::IVisitor"
,
L"vl::workflow::WfExpression::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStatement::IVisitor, workflow::WfStatement::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfStatement::IVisitor"
,
L"vl::workflow::WfStatement::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfDeclaration::IVisitor, workflow::WfDeclaration::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfDeclaration::IVisitor"
,
L"vl::workflow::WfDeclaration::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeDeclaration::IVisitor, workflow::WfVirtualCfeDeclaration::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfVirtualCfeDeclaration::IVisitor"
,
L"vl::workflow::WfVirtualCfeDeclaration::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseDeclaration::IVisitor, workflow::WfVirtualCseDeclaration::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfVirtualCseDeclaration::IVisitor"
,
L"vl::workflow::WfVirtualCseDeclaration::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseStatement::IVisitor, workflow::WfVirtualCseStatement::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfVirtualCseStatement::IVisitor"
,
L"vl::workflow::WfVirtualCseStatement::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfCoroutineStatement::IVisitor, workflow::WfCoroutineStatement::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfCoroutineStatement::IVisitor"
,
L"vl::workflow::WfCoroutineStatement::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfStateMachineStatement::IVisitor, workflow::WfStateMachineStatement::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfStateMachineStatement::IVisitor"
,
L"vl::workflow::WfStateMachineStatement::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCfeExpression::IVisitor, workflow::WfVirtualCfeExpression::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfVirtualCfeExpression::IVisitor"
,
L"vl::workflow::WfVirtualCfeExpression::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfVirtualCseExpression::IVisitor, workflow::WfVirtualCseExpression::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfVirtualCseExpression::IVisitor"
,
L"vl::workflow::WfVirtualCseExpression::IVisitor"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::workflow::WfModuleUsingFragment::IVisitor, workflow::WfModuleUsingFragment::IVisitor)
const
<
vl
::
workflow
::
::
>::
= {
L"workflow::WfModuleUsingFragment::IVisitor"
,
L"vl::workflow::WfModuleUsingFragment::IVisitor"
,
::
};
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
BEGIN_ENUM_ITEM(WfClassMemberKind)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfClassMemberKind)
ENUM_NAMESPACE_ITEM(Static)
->AddItem(
L"Static"
,
::
);
ENUM_NAMESPACE_ITEM(Override)
->AddItem(
L"Override"
,
::
);
ENUM_NAMESPACE_ITEM(Normal)
->AddItem(
L"Normal"
,
::
);
END_ENUM_ITEM(WfClassMemberKind)
} }; };
BEGIN_CLASS_MEMBER(WfClassMember)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfClassMember>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(kind)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"kind"
, &
::
) );
END_CLASS_MEMBER(WfClassMember)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfType::*)(WfType::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfExpression::*)(WfExpression::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfStatement::*)(WfStatement::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfAttribute)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfAttribute>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(category)
{
const
wchar_t
*
[]={
L""
};
(
L"get_category"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_category"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"category"
,
dynamic_cast
<
*>(
(
L"get_category"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_category"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(value)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"value"
, &
::
) );
END_CLASS_MEMBER(WfAttribute)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfDeclaration::*)(WfDeclaration::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(attributes)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"attributes"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(classMember)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"classMember"
, &
::
) );
END_CLASS_MEMBER(WfDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfPredefinedTypeName)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfPredefinedTypeName)
ENUM_NAMESPACE_ITEM(Void)
ENUM_NAMESPACE_ITEM(Object)
->AddItem(
L"Object"
,
::
);
ENUM_NAMESPACE_ITEM(Interface)
->AddItem(
L"Interface"
,
::
);
ENUM_NAMESPACE_ITEM(UInt)
ENUM_NAMESPACE_ITEM(Float)
ENUM_NAMESPACE_ITEM(Double)
->AddItem(
L"Double"
,
::
);
ENUM_NAMESPACE_ITEM(String)
->AddItem(
L"String"
,
::
);
ENUM_NAMESPACE_ITEM(Char)
ENUM_NAMESPACE_ITEM(Bool)
END_ENUM_ITEM(WfPredefinedTypeName)
} }; };
BEGIN_CLASS_MEMBER(WfPredefinedType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfPredefinedType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(name)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"name"
, &
::
) );
END_CLASS_MEMBER(WfPredefinedType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfTopQualifiedType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTopQualifiedType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfTopQualifiedType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfReferenceType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfReferenceType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfReferenceType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfRawPointerType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfRawPointerType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
END_CLASS_MEMBER(WfRawPointerType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfSharedPointerType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfSharedPointerType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
END_CLASS_MEMBER(WfSharedPointerType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfNullableType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfNullableType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
END_CLASS_MEMBER(WfNullableType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfEnumerableType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfEnumerableType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
END_CLASS_MEMBER(WfEnumerableType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfMapWritability)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfMapWritability)
ENUM_NAMESPACE_ITEM(Readonly)
->AddItem(
L"Readonly"
,
::
);
ENUM_NAMESPACE_ITEM(Writable)
->AddItem(
L"Writable"
,
::
);
END_ENUM_ITEM(WfMapWritability)
} }; };
BEGIN_CLASS_MEMBER(WfMapType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfMapType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(writability)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"writability"
, &
::
) );
CLASS_MEMBER_FIELD(key)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"key"
, &
::
) );
CLASS_MEMBER_FIELD(value)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"value"
, &
::
) );
END_CLASS_MEMBER(WfMapType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfObservableListType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfObservableListType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
END_CLASS_MEMBER(WfObservableListType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfFunctionType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFunctionType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(result)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"result"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfFunctionType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfChildType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfType)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfChildType>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(parent)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"parent"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfChildType)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfNamespaceDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfNamespaceDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(declarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"declarations"
, &
::
) );
END_CLASS_MEMBER(WfNamespaceDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfFunctionArgument)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFunctionArgument>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(attributes)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"attributes"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfFunctionArgument)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfFunctionAnonymity)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfFunctionAnonymity)
ENUM_NAMESPACE_ITEM(Named)
ENUM_NAMESPACE_ITEM(Anonymous)
->AddItem(
L"Anonymous"
,
::
);
END_ENUM_ITEM(WfFunctionAnonymity)
} }; };
BEGIN_CLASS_MEMBER(WfFunctionDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFunctionDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(anonymity)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"anonymity"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
CLASS_MEMBER_FIELD(returnType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"returnType"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfFunctionDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVariableDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfVariableDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfVariableDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfEventDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfEventDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfEventDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfPropertyDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfPropertyDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
PARSING_TOKEN_FIELD(getter)
{
const
wchar_t
*
[]={
L""
};
(
L"get_getter"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_getter"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"getter"
,
dynamic_cast
<
*>(
(
L"get_getter"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_getter"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
PARSING_TOKEN_FIELD(setter)
{
const
wchar_t
*
[]={
L""
};
(
L"get_setter"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_setter"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"setter"
,
dynamic_cast
<
*>(
(
L"get_setter"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_setter"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
PARSING_TOKEN_FIELD(valueChangedEvent)
{
const
wchar_t
*
[]={
L""
};
(
L"get_valueChangedEvent"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_valueChangedEvent"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"valueChangedEvent"
,
dynamic_cast
<
*>(
(
L"get_valueChangedEvent"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_valueChangedEvent"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfPropertyDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfClassKind)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfClassKind)
ENUM_NAMESPACE_ITEM(Class)
ENUM_NAMESPACE_ITEM(Interface)
->AddItem(
L"Interface"
,
::
);
END_ENUM_ITEM(WfClassKind)
} }; };
BEGIN_ENUM_ITEM(WfConstructorType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfConstructorType)
ENUM_NAMESPACE_ITEM(Undefined)
->AddItem(
L"Undefined"
,
::
);
ENUM_NAMESPACE_ITEM(SharedPtr)
->AddItem(
L"SharedPtr"
,
::
);
ENUM_NAMESPACE_ITEM(RawPtr)
->AddItem(
L"RawPtr"
,
::
);
END_ENUM_ITEM(WfConstructorType)
} }; };
BEGIN_CLASS_MEMBER(WfBaseConstructorCall)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfBaseConstructorCall>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfBaseConstructorCall)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfConstructorDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfConstructorDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(constructorType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"constructorType"
, &
::
) );
CLASS_MEMBER_FIELD(baseConstructorCalls)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"baseConstructorCalls"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfConstructorDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfDestructorDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfDestructorDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfDestructorDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfClassDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfClassDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(kind)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"kind"
, &
::
) );
CLASS_MEMBER_FIELD(constructorType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"constructorType"
, &
::
) );
CLASS_MEMBER_FIELD(baseTypes)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"baseTypes"
, &
::
) );
CLASS_MEMBER_FIELD(declarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"declarations"
, &
::
) );
END_CLASS_MEMBER(WfClassDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfEnumKind)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfEnumKind)
ENUM_NAMESPACE_ITEM(Normal)
->AddItem(
L"Normal"
,
::
);
ENUM_NAMESPACE_ITEM(Flag)
END_ENUM_ITEM(WfEnumKind)
} }; };
BEGIN_ENUM_ITEM(WfEnumItemKind)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfEnumItemKind)
ENUM_NAMESPACE_ITEM(Constant)
->AddItem(
L"Constant"
,
::
);
ENUM_NAMESPACE_ITEM(Intersection)
->AddItem(
L"Intersection"
,
::
);
END_ENUM_ITEM(WfEnumItemKind)
} }; };
BEGIN_CLASS_MEMBER(WfEnumItemIntersection)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfEnumItemIntersection>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfEnumItemIntersection)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfEnumItem)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfEnumItem>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(attributes)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"attributes"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(kind)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"kind"
, &
::
) );
PARSING_TOKEN_FIELD(number)
{
const
wchar_t
*
[]={
L""
};
(
L"get_number"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_number"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"number"
,
dynamic_cast
<
*>(
(
L"get_number"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_number"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(intersections)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"intersections"
, &
::
) );
END_CLASS_MEMBER(WfEnumItem)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfEnumDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfEnumDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(kind)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"kind"
, &
::
) );
CLASS_MEMBER_FIELD(items)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"items"
, &
::
) );
END_CLASS_MEMBER(WfEnumDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStructMember)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStructMember>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(attributes)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"attributes"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfStructMember)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStructDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStructDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(members)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"members"
, &
::
) );
END_CLASS_MEMBER(WfStructDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVirtualCfeDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfVirtualCfeDeclaration::*)(WfVirtualCfeDeclaration::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(expandedDeclarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expandedDeclarations"
, &
::
) );
END_CLASS_MEMBER(WfVirtualCfeDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfAPConst)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfAPConst)
ENUM_NAMESPACE_ITEM(Readonly)
->AddItem(
L"Readonly"
,
::
);
ENUM_NAMESPACE_ITEM(Writable)
->AddItem(
L"Writable"
,
::
);
END_ENUM_ITEM(WfAPConst)
} }; };
BEGIN_ENUM_ITEM(WfAPObserve)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfAPObserve)
ENUM_NAMESPACE_ITEM(Observable)
->AddItem(
L"Observable"
,
::
);
ENUM_NAMESPACE_ITEM(NotObservable)
->AddItem(
L"NotObservable"
,
::
);
END_ENUM_ITEM(WfAPObserve)
} }; };
BEGIN_CLASS_MEMBER(WfAutoPropertyDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
WfAutoPropertyDeclaration
> {
public
:
class
:
public
{
typedef
WfAutoPropertyDeclaration
;
static
const
=
::
;
public
:
() :
(
, &
<
WfAutoPropertyDeclaration
>::
) {
<
WfAutoPropertyDeclaration
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfAutoPropertyDeclaration
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfAutoPropertyDeclaration
,
<
WfAutoPropertyDeclaration
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCfeDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfAutoPropertyDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfAutoPropertyDeclaration
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(configConst)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"configConst"
, &
::
) );
CLASS_MEMBER_FIELD(configObserve)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"configObserve"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfAutoPropertyDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCastResultInterfaceDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
WfCastResultInterfaceDeclaration
> {
public
:
class
:
public
{
typedef
WfCastResultInterfaceDeclaration
;
static
const
=
::
;
public
:
() :
(
, &
<
WfCastResultInterfaceDeclaration
>::
) {
<
WfCastResultInterfaceDeclaration
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfCastResultInterfaceDeclaration
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfCastResultInterfaceDeclaration
,
<
WfCastResultInterfaceDeclaration
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCfeDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCastResultInterfaceDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfCastResultInterfaceDeclaration
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(baseType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"baseType"
, &
::
) );
CLASS_MEMBER_FIELD(elementType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"elementType"
, &
::
) );
END_CLASS_MEMBER(WfCastResultInterfaceDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVirtualCseDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfDeclaration)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfVirtualCseDeclaration::*)(WfVirtualCseDeclaration::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(expandedDeclarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expandedDeclarations"
, &
::
) );
END_CLASS_MEMBER(WfVirtualCseDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateInput)
template
<>
struct
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateInput>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfStateInput)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfStateDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateMachineDeclaration)
template
<>
struct
CustomTypeDescriptorSelector
<
WfStateMachineDeclaration
> {
public
:
class
:
public
{
typedef
WfStateMachineDeclaration
;
static
const
=
::
;
public
:
() :
(
, &
<
WfStateMachineDeclaration
>::
) {
<
WfStateMachineDeclaration
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfStateMachineDeclaration
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfStateMachineDeclaration
,
<
WfStateMachineDeclaration
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseDeclaration)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateMachineDeclaration>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfStateMachineDeclaration
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(inputs)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"inputs"
, &
::
) );
CLASS_MEMBER_FIELD(states)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"states"
, &
::
) );
END_CLASS_MEMBER(WfStateMachineDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfBreakStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfBreakStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
END_CLASS_MEMBER(WfBreakStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfContinueStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfContinueStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
END_CLASS_MEMBER(WfContinueStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfReturnStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfReturnStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfReturnStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfDeleteStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfDeleteStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfDeleteStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfRaiseExceptionStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
WfRaiseExceptionStatement
> {
public
:
class
:
public
{
typedef
WfRaiseExceptionStatement
;
static
const
=
::
;
public
:
() :
(
, &
<
WfRaiseExceptionStatement
>::
) {
<
WfRaiseExceptionStatement
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfRaiseExceptionStatement
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfRaiseExceptionStatement
,
<
WfRaiseExceptionStatement
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfRaiseExceptionStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfRaiseExceptionStatement
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfRaiseExceptionStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfIfStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfIfStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(trueBranch)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"trueBranch"
, &
::
) );
CLASS_MEMBER_FIELD(falseBranch)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"falseBranch"
, &
::
) );
END_CLASS_MEMBER(WfIfStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfWhileStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfWhileStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(condition)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"condition"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfWhileStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfTryStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTryStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(protectedStatement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"protectedStatement"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(catchStatement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"catchStatement"
, &
::
) );
CLASS_MEMBER_FIELD(finallyStatement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"finallyStatement"
, &
::
) );
END_CLASS_MEMBER(WfTryStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfBlockStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfBlockStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(statements)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statements"
, &
::
) );
PARSING_TOKEN_FIELD(endLabel)
{
const
wchar_t
*
[]={
L""
};
(
L"get_endLabel"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_endLabel"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"endLabel"
,
dynamic_cast
<
*>(
(
L"get_endLabel"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_endLabel"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfBlockStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfGotoStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfGotoStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(label)
{
const
wchar_t
*
[]={
L""
};
(
L"get_label"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_label"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"label"
,
dynamic_cast
<
*>(
(
L"get_label"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_label"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfGotoStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVariableStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfVariableStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(variable)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"variable"
, &
::
) );
END_CLASS_MEMBER(WfVariableStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfExpressionStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfExpressionStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfExpressionStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVirtualCseStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfVirtualCseStatement::*)(WfVirtualCseStatement::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(expandedStatement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expandedStatement"
, &
::
) );
END_CLASS_MEMBER(WfVirtualCseStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfForEachDirection)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfForEachDirection)
ENUM_NAMESPACE_ITEM(Normal)
->AddItem(
L"Normal"
,
::
);
ENUM_NAMESPACE_ITEM(Reversed)
->AddItem(
L"Reversed"
,
::
);
END_ENUM_ITEM(WfForEachDirection)
} }; };
BEGIN_CLASS_MEMBER(WfForEachStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfForEachStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(direction)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"direction"
, &
::
) );
CLASS_MEMBER_FIELD(collection)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"collection"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfForEachStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfSwitchCase)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfSwitchCase>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfSwitchCase)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfSwitchStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfSwitchStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(caseBranches)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"caseBranches"
, &
::
) );
CLASS_MEMBER_FIELD(defaultBranch)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"defaultBranch"
, &
::
) );
END_CLASS_MEMBER(WfSwitchStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCoProviderStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCoProviderStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfCoProviderStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCoroutineStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfCoroutineStatement::*)(WfCoroutineStatement::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfCoroutineStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCoPauseStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfCoroutineStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCoPauseStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfCoPauseStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCoOperatorStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfCoroutineStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCoOperatorStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(varName)
{
const
wchar_t
*
[]={
L""
};
(
L"get_varName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_varName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"varName"
,
dynamic_cast
<
*>(
(
L"get_varName"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_varName"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
PARSING_TOKEN_FIELD(opName)
{
const
wchar_t
*
[]={
L""
};
(
L"get_opName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_opName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"opName"
,
dynamic_cast
<
*>(
(
L"get_opName"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_opName"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfCoOperatorStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfStateSwitchType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfStateSwitchType)
ENUM_NAMESPACE_ITEM(Default)
->AddItem(
L"Default"
,
::
);
ENUM_NAMESPACE_ITEM(Pass)
ENUM_NAMESPACE_ITEM(PassAndReturn)
->AddItem(
L"PassAndReturn"
,
::
);
ENUM_NAMESPACE_ITEM(Ignore)
->AddItem(
L"Ignore"
,
::
);
ENUM_NAMESPACE_ITEM(IgnoreAndReturn)
->AddItem(
L"IgnoreAndReturn"
,
::
);
END_ENUM_ITEM(WfStateSwitchType)
} }; };
BEGIN_ENUM_ITEM(WfStateInvokeType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfStateInvokeType)
ENUM_NAMESPACE_ITEM(Goto)
ENUM_NAMESPACE_ITEM(Push)
END_ENUM_ITEM(WfStateInvokeType)
} }; };
BEGIN_CLASS_MEMBER(WfStateMachineStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStatement)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfStateMachineStatement::*)(WfStateMachineStatement::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfStateMachineStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateSwitchArgument)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateSwitchArgument>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfStateSwitchArgument)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateSwitchCase)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateSwitchCase>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfStateSwitchCase)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateSwitchStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStateMachineStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateSwitchStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(caseBranches)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"caseBranches"
, &
::
) );
END_CLASS_MEMBER(WfStateSwitchStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStateInvokeStatement)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfStateMachineStatement)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStateInvokeStatement>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfStateInvokeStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfThisExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfThisExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
END_CLASS_MEMBER(WfThisExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfTopQualifiedExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTopQualifiedExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfTopQualifiedExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfReferenceExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfReferenceExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfReferenceExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfOrderedNameExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfOrderedNameExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfOrderedNameExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfOrderedLambdaExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
WfOrderedLambdaExpression
> {
public
:
class
:
public
{
typedef
WfOrderedLambdaExpression
;
static
const
=
::
;
public
:
() :
(
, &
<
WfOrderedLambdaExpression
>::
) {
<
WfOrderedLambdaExpression
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfOrderedLambdaExpression
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfOrderedLambdaExpression
,
<
WfOrderedLambdaExpression
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfOrderedLambdaExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfOrderedLambdaExpression
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(body)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"body"
, &
::
) );
END_CLASS_MEMBER(WfOrderedLambdaExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfMemberExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfMemberExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(parent)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"parent"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfMemberExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfChildExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfChildExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(parent)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"parent"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfChildExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfLiteralValue)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfLiteralValue)
ENUM_NAMESPACE_ITEM(Null)
ENUM_NAMESPACE_ITEM(True)
ENUM_NAMESPACE_ITEM(False)
END_ENUM_ITEM(WfLiteralValue)
} }; };
BEGIN_CLASS_MEMBER(WfLiteralExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfLiteralExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(value)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"value"
, &
::
) );
END_CLASS_MEMBER(WfLiteralExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfFloatingExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFloatingExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(value)
{
const
wchar_t
*
[]={
L""
};
(
L"get_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"value"
,
dynamic_cast
<
*>(
(
L"get_value"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_value"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfFloatingExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfIntegerExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfIntegerExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(value)
{
const
wchar_t
*
[]={
L""
};
(
L"get_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"value"
,
dynamic_cast
<
*>(
(
L"get_value"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_value"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfIntegerExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfStringExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfStringExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(value)
{
const
wchar_t
*
[]={
L""
};
(
L"get_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"value"
,
dynamic_cast
<
*>(
(
L"get_value"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_value"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfStringExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfUnaryOperator)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfUnaryOperator)
ENUM_NAMESPACE_ITEM(Positive)
->AddItem(
L"Positive"
,
::
);
ENUM_NAMESPACE_ITEM(Negative)
->AddItem(
L"Negative"
,
::
);
END_ENUM_ITEM(WfUnaryOperator)
} }; };
BEGIN_CLASS_MEMBER(WfUnaryExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfUnaryExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(op)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"op"
, &
::
) );
CLASS_MEMBER_FIELD(operand)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"operand"
, &
::
) );
END_CLASS_MEMBER(WfUnaryExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfBinaryOperator)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfBinaryOperator)
ENUM_NAMESPACE_ITEM(Assign)
->AddItem(
L"Assign"
,
::
);
ENUM_NAMESPACE_ITEM(Index)
ENUM_NAMESPACE_ITEM(FlagAnd)
->AddItem(
L"FlagAnd"
,
::
);
ENUM_NAMESPACE_ITEM(FlagOr)
->AddItem(
L"FlagOr"
,
::
);
ENUM_NAMESPACE_ITEM(FailedThen)
->AddItem(
L"FailedThen"
,
::
);
END_ENUM_ITEM(WfBinaryOperator)
} }; };
BEGIN_CLASS_MEMBER(WfBinaryExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfBinaryExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(op)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"op"
, &
::
) );
CLASS_MEMBER_FIELD(first)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"first"
, &
::
) );
CLASS_MEMBER_FIELD(second)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"second"
, &
::
) );
END_CLASS_MEMBER(WfBinaryExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfLetVariable)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfLetVariable>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(value)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"value"
, &
::
) );
END_CLASS_MEMBER(WfLetVariable)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfLetExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfLetExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(variables)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"variables"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfLetExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfIfExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfIfExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(condition)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"condition"
, &
::
) );
CLASS_MEMBER_FIELD(trueBranch)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"trueBranch"
, &
::
) );
CLASS_MEMBER_FIELD(falseBranch)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"falseBranch"
, &
::
) );
END_CLASS_MEMBER(WfIfExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfRangeBoundary)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfRangeBoundary)
ENUM_NAMESPACE_ITEM(Inclusive)
->AddItem(
L"Inclusive"
,
::
);
ENUM_NAMESPACE_ITEM(Exclusive)
->AddItem(
L"Exclusive"
,
::
);
END_ENUM_ITEM(WfRangeBoundary)
} }; };
BEGIN_CLASS_MEMBER(WfRangeExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfRangeExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(begin)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"begin"
, &
::
) );
CLASS_MEMBER_FIELD(beginBoundary)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"beginBoundary"
, &
::
) );
CLASS_MEMBER_FIELD(end)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"end"
, &
::
) );
CLASS_MEMBER_FIELD(endBoundary)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"endBoundary"
, &
::
) );
END_CLASS_MEMBER(WfRangeExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfSetTesting)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfSetTesting)
ENUM_NAMESPACE_ITEM(NotIn)
END_ENUM_ITEM(WfSetTesting)
} }; };
BEGIN_CLASS_MEMBER(WfSetTestingExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfSetTestingExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(test)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"test"
, &
::
) );
CLASS_MEMBER_FIELD(element)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"element"
, &
::
) );
CLASS_MEMBER_FIELD(collection)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"collection"
, &
::
) );
END_CLASS_MEMBER(WfSetTestingExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfConstructorArgument)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfConstructorArgument>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(key)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"key"
, &
::
) );
CLASS_MEMBER_FIELD(value)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"value"
, &
::
) );
END_CLASS_MEMBER(WfConstructorArgument)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfConstructorExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfConstructorExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfConstructorExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfInferExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfInferExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfInferExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfTypeCastingStrategy)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfTypeCastingStrategy)
ENUM_NAMESPACE_ITEM(Strong)
->AddItem(
L"Strong"
,
::
);
ENUM_NAMESPACE_ITEM(Weak)
END_ENUM_ITEM(WfTypeCastingStrategy)
} }; };
BEGIN_CLASS_MEMBER(WfTypeCastingExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTypeCastingExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(strategy)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"strategy"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfTypeCastingExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfTypeTesting)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfTypeTesting)
ENUM_NAMESPACE_ITEM(IsType)
->AddItem(
L"IsType"
,
::
);
ENUM_NAMESPACE_ITEM(IsNotType)
->AddItem(
L"IsNotType"
,
::
);
ENUM_NAMESPACE_ITEM(IsNull)
->AddItem(
L"IsNull"
,
::
);
ENUM_NAMESPACE_ITEM(IsNotNull)
->AddItem(
L"IsNotNull"
,
::
);
END_ENUM_ITEM(WfTypeTesting)
} }; };
BEGIN_CLASS_MEMBER(WfTypeTestingExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTypeTestingExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(test)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"test"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfTypeTestingExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfTypeOfTypeExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTypeOfTypeExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
END_CLASS_MEMBER(WfTypeOfTypeExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfTypeOfExpressionExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
WfTypeOfExpressionExpression
> {
public
:
class
:
public
{
typedef
WfTypeOfExpressionExpression
;
static
const
=
::
;
public
:
() :
(
, &
<
WfTypeOfExpressionExpression
>::
) {
<
WfTypeOfExpressionExpression
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfTypeOfExpressionExpression
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfTypeOfExpressionExpression
,
<
WfTypeOfExpressionExpression
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfTypeOfExpressionExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfTypeOfExpressionExpression
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfTypeOfExpressionExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfAttachEventExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfAttachEventExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(event)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"event"
, &
::
) );
CLASS_MEMBER_FIELD(function)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"function"
, &
::
) );
END_CLASS_MEMBER(WfAttachEventExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfDetachEventExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfDetachEventExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(event)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"event"
, &
::
) );
CLASS_MEMBER_FIELD(handler)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"handler"
, &
::
) );
END_CLASS_MEMBER(WfDetachEventExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfObserveType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfObserveType)
ENUM_NAMESPACE_ITEM(SimpleObserve)
->AddItem(
L"SimpleObserve"
,
::
);
ENUM_NAMESPACE_ITEM(ExtendedObserve)
->AddItem(
L"ExtendedObserve"
,
::
);
END_ENUM_ITEM(WfObserveType)
} }; };
BEGIN_CLASS_MEMBER(WfObserveExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfObserveExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(parent)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"parent"
, &
::
) );
CLASS_MEMBER_FIELD(observeType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"observeType"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
CLASS_MEMBER_FIELD(events)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"events"
, &
::
) );
END_CLASS_MEMBER(WfObserveExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCallExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCallExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(function)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"function"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfCallExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfFunctionExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFunctionExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(function)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"function"
, &
::
) );
END_CLASS_MEMBER(WfFunctionExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfNewClassExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfNewClassExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(arguments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"arguments"
, &
::
) );
END_CLASS_MEMBER(WfNewClassExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfNewInterfaceExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfNewInterfaceExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(declarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"declarations"
, &
::
) );
END_CLASS_MEMBER(WfNewInterfaceExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVirtualCfeExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfVirtualCfeExpression::*)(WfVirtualCfeExpression::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(expandedExpression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expandedExpression"
, &
::
) );
END_CLASS_MEMBER(WfVirtualCfeExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfFormatExpression)
template
<>
struct
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCfeExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfFormatExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(value)
{
const
wchar_t
*
[]={
L""
};
(
L"get_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_value"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"value"
,
dynamic_cast
<
*>(
(
L"get_value"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_value"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfFormatExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfVirtualCseExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfExpression)
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfVirtualCseExpression::*)(WfVirtualCseExpression::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_FIELD(expandedExpression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expandedExpression"
, &
::
) );
END_CLASS_MEMBER(WfVirtualCseExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfBindExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfBindExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfBindExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfNewCoroutineExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfNewCoroutineExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(statement)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"statement"
, &
::
) );
END_CLASS_MEMBER(WfNewCoroutineExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfMixinCastExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfMixinCastExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(type)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"type"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfMixinCastExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfExpectedTypeCastExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
WfExpectedTypeCastExpression
> {
public
:
class
:
public
{
typedef
WfExpectedTypeCastExpression
;
static
const
=
::
;
public
:
() :
(
, &
<
WfExpectedTypeCastExpression
>::
) {
<
WfExpectedTypeCastExpression
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfExpectedTypeCastExpression
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfExpectedTypeCastExpression
,
<
WfExpectedTypeCastExpression
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfExpectedTypeCastExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfExpectedTypeCastExpression
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(strategy)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"strategy"
, &
::
) );
CLASS_MEMBER_FIELD(expression)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"expression"
, &
::
) );
END_CLASS_MEMBER(WfExpectedTypeCastExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfCoOperatorExpression)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfVirtualCseExpression)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfCoOperatorExpression>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfCoOperatorExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfModuleUsingFragment)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_METHOD_OVERLOAD(Accept, {L"visitor"}, void(WfModuleUsingFragment::*)(WfModuleUsingFragment::IVisitor* visitor))
{
const
wchar_t
*
[]={
L"visitor"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::*)(
::
* visitor)>::
> (
parameterNames
, (
void
(
::*)(
::
* visitor))&
::
,
nullptr
,
nullptr
);
(
L"Accept"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::*)(
::
* visitor)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_CLASS_MEMBER(WfModuleUsingFragment)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfModuleUsingNameFragment)
template
<>
struct
CustomTypeDescriptorSelector
<
WfModuleUsingNameFragment
> {
public
:
class
:
public
{
typedef
WfModuleUsingNameFragment
;
static
const
=
::
;
public
:
() :
(
, &
<
WfModuleUsingNameFragment
>::
) {
<
WfModuleUsingNameFragment
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfModuleUsingNameFragment
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfModuleUsingNameFragment
,
<
WfModuleUsingNameFragment
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfModuleUsingFragment)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfModuleUsingNameFragment>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfModuleUsingNameFragment
>()>(
parameterNames
)); }
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(WfModuleUsingNameFragment)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfModuleUsingWildCardFragment)
template
<>
struct
CustomTypeDescriptorSelector
<
WfModuleUsingWildCardFragment
> {
public
:
class
:
public
{
typedef
WfModuleUsingWildCardFragment
;
static
const
=
::
;
public
:
() :
(
, &
<
WfModuleUsingWildCardFragment
>::
) {
<
WfModuleUsingWildCardFragment
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
WfModuleUsingWildCardFragment
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
WfModuleUsingWildCardFragment
,
<
WfModuleUsingWildCardFragment
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_BASE(WfModuleUsingFragment)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfModuleUsingWildCardFragment>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
WfModuleUsingWildCardFragment
>()>(
parameterNames
)); }
END_CLASS_MEMBER(WfModuleUsingWildCardFragment)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfModuleUsingItem)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfModuleUsingItem>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(fragments)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"fragments"
, &
::
) );
END_CLASS_MEMBER(WfModuleUsingItem)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(WfModuleUsingPath)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfModuleUsingPath>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(items)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"items"
, &
::
) );
END_CLASS_MEMBER(WfModuleUsingPath)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(WfModuleType)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(WfModuleType)
ENUM_NAMESPACE_ITEM(Module)
->AddItem(
L"Module"
,
::
);
ENUM_NAMESPACE_ITEM(Unit)
END_ENUM_ITEM(WfModuleType)
} }; };
BEGIN_CLASS_MEMBER(WfModule)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
{
typedef
;
static
const
=
::
;
public
:
() :
(
, &
<
>::
) {
<
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
>::
SetAssociatedTypeDescriptor
(
0
); }
protected
:
bool
()
override
{
return
<
typename
<
,
<
>>::
>::
; }
void
()
override
{
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<WfModule>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(moduleType)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"moduleType"
, &
::
) );
PARSING_TOKEN_FIELD(name)
{
const
wchar_t
*
[]={
L""
};
(
L"get_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_name"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"name"
,
dynamic_cast
<
*>(
(
L"get_name"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_name"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(paths)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"paths"
, &
::
) );
CLASS_MEMBER_FIELD(declarations)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"declarations"
, &
::
) );
END_CLASS_MEMBER(WfModule)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfType::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfType::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfType::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfPredefinedType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfTopQualifiedType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfReferenceType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfRawPointerType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfSharedPointerType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfNullableType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfEnumerableType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfMapType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfObservableListType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfFunctionType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfType::IVisitor::*)(WfChildType* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfType)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfExpression::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfExpression::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfExpression::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfThisExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfTopQualifiedExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfReferenceExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfOrderedNameExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfOrderedLambdaExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfOrderedLambdaExpression
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfOrderedLambdaExpression
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfOrderedLambdaExpression
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfMemberExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfChildExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfLiteralExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfFloatingExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfIntegerExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfStringExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfUnaryExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfBinaryExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfLetExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfIfExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfRangeExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfSetTestingExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfConstructorExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfInferExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfTypeCastingExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfTypeTestingExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfTypeOfTypeExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfTypeOfExpressionExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfTypeOfExpressionExpression
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfTypeOfExpressionExpression
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfTypeOfExpressionExpression
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfAttachEventExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfDetachEventExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfObserveExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfCallExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfFunctionExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfNewClassExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfNewInterfaceExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfVirtualCfeExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfExpression::IVisitor::*)(WfVirtualCseExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfStatement::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfStatement::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfStatement::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfBreakStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfContinueStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfReturnStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfDeleteStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfRaiseExceptionStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfRaiseExceptionStatement
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfRaiseExceptionStatement
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfRaiseExceptionStatement
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfIfStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfWhileStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfTryStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfBlockStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfGotoStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfVariableStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfExpressionStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfVirtualCseStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfCoroutineStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStatement::IVisitor::*)(WfStateMachineStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfDeclaration::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfDeclaration::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfDeclaration::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfNamespaceDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfFunctionDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfVariableDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfEventDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfPropertyDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfConstructorDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfDestructorDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfClassDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfEnumDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfStructDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfVirtualCfeDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfDeclaration::IVisitor::*)(WfVirtualCseDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfVirtualCfeDeclaration::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCfeDeclaration::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCfeDeclaration::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCfeDeclaration::IVisitor::*)(WfAutoPropertyDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfAutoPropertyDeclaration
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfAutoPropertyDeclaration
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfAutoPropertyDeclaration
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCfeDeclaration::IVisitor::*)(WfCastResultInterfaceDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfCastResultInterfaceDeclaration
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfCastResultInterfaceDeclaration
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfCastResultInterfaceDeclaration
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfVirtualCfeDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfVirtualCseDeclaration::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseDeclaration::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseDeclaration::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseDeclaration::IVisitor::*)(WfStateMachineDeclaration* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfStateMachineDeclaration
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfStateMachineDeclaration
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfStateMachineDeclaration
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfVirtualCseDeclaration)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfVirtualCseStatement::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseStatement::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseStatement::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseStatement::IVisitor::*)(WfForEachStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseStatement::IVisitor::*)(WfSwitchStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseStatement::IVisitor::*)(WfCoProviderStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfVirtualCseStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfCoroutineStatement::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfCoroutineStatement::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfCoroutineStatement::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfCoroutineStatement::IVisitor::*)(WfCoPauseStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfCoroutineStatement::IVisitor::*)(WfCoOperatorStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfCoroutineStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfStateMachineStatement::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfStateMachineStatement::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfStateMachineStatement::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStateMachineStatement::IVisitor::*)(WfStateSwitchStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfStateMachineStatement::IVisitor::*)(WfStateInvokeStatement* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfStateMachineStatement)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfVirtualCfeExpression::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCfeExpression::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCfeExpression::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCfeExpression::IVisitor::*)(WfFormatExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfVirtualCfeExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfVirtualCseExpression::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseExpression::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfVirtualCseExpression::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseExpression::IVisitor::*)(WfBindExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseExpression::IVisitor::*)(WfNewCoroutineExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseExpression::IVisitor::*)(WfMixinCastExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseExpression::IVisitor::*)(WfExpectedTypeCastExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfExpectedTypeCastExpression
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfExpectedTypeCastExpression
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfExpectedTypeCastExpression
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfVirtualCseExpression::IVisitor::*)(WfCoOperatorExpression* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfVirtualCseExpression)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(WfModuleUsingFragment::IVisitor)
template
<>
struct
CustomTypeDescriptorSelector
<
::
> {
public
:
class
:
public
,
public
::
{
typedef
::
;
static
const
=
::
;
::
;
public
:
() :
(
::
, &
<
::
>::
) {
<
::
>::
SetAssociatedTypeDescriptor
(
this
); }
~
CustomTypeDescriptorImpl
() {
<
::
>::
SetAssociatedTypeDescriptor
(
0
); }
void
(
const
&
,
*
)
override
{
.
(
,
); }
*
(
const
&
)
override
{
();
return
]; }
protected
:
void
()
override
{ {
const
wchar_t
*
[]={
L"proxy"
};
(
new
CustomStaticMethodInfoImpl
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>(
parameterNames
, (
<
decltype
(
<
::
>::
(
nullptr
))(
<
>)>)&::
vl
::
reflection
::
description
::
<
::
>::
,
L"::"
L"vl::reflection::description::ValueInterfaceProxy<WfModuleUsingFragment::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<WfModuleUsingFragment::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfModuleUsingFragment::IVisitor::*)(WfModuleUsingNameFragment* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfModuleUsingNameFragment
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfModuleUsingNameFragment
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfModuleUsingNameFragment
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(WfModuleUsingFragment::IVisitor::*)(WfModuleUsingWildCardFragment* node))
{
const
wchar_t
*
[]={
L"node"
};
auto
=
new
<
,
vl
::
function_lambda
::
<
void
(
::
::*)(
WfModuleUsingWildCardFragment
* node)>::
> (
parameterNames
, (
void
(
::
::*)(
WfModuleUsingWildCardFragment
* node))&
::
,
nullptr
,
nullptr
);
(
L"Visit"
,
methodInfo
);
MethodPointerBinaryDataRetriver
<
void
(
::
::*)(
WfModuleUsingWildCardFragment
* node)>
(&
::
);
MethodPointerBinaryDataRecorder
<
,
>::
(
binaryDataRetriver
.
(),
this
,
methodInfo
); }
END_INTERFACE_MEMBER(WfModuleUsingFragment)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
#endif
#undef PARSING_TOKEN_FIELD
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
class
:
public
vl
::
,
public
{
public
:
void
(
*
)
{
ADD_TYPE_INFO(vl::workflow::WfClassMemberKind)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfClassMember)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfAttribute)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfPredefinedTypeName)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfPredefinedType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTopQualifiedType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfReferenceType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfRawPointerType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfSharedPointerType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfNullableType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumerableType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfMapWritability)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfMapType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfObservableListType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFunctionType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfChildType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfNamespaceDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFunctionArgument)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFunctionAnonymity)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFunctionDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVariableDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEventDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfPropertyDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfClassKind)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfConstructorType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBaseConstructorCall)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfConstructorDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfDestructorDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfClassDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumKind)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumItemKind)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumItemIntersection)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumItem)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfEnumDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStructMember)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStructDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfAPConst)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfAPObserve)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfAutoPropertyDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfAutoPropertyDeclaration
>::
();
->
(
<
vl
::
workflow
::
WfAutoPropertyDeclaration
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCastResultInterfaceDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfCastResultInterfaceDeclaration
>::
();
->
(
<
vl
::
workflow
::
WfCastResultInterfaceDeclaration
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateInput)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateMachineDeclaration)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfStateMachineDeclaration
>::
();
->
(
<
vl
::
workflow
::
WfStateMachineDeclaration
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBreakStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfContinueStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfReturnStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfDeleteStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfRaiseExceptionStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfRaiseExceptionStatement
>::
();
->
(
<
vl
::
workflow
::
WfRaiseExceptionStatement
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfIfStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfWhileStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTryStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBlockStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfGotoStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVariableStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfExpressionStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfForEachDirection)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfForEachStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfSwitchCase)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfSwitchStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoProviderStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoPauseStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoOperatorStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateSwitchType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateInvokeType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateSwitchArgument)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateSwitchCase)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateSwitchStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateInvokeStatement)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfThisExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTopQualifiedExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfReferenceExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfOrderedNameExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfOrderedLambdaExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfOrderedLambdaExpression
>::
();
->
(
<
vl
::
workflow
::
WfOrderedLambdaExpression
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfMemberExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfChildExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfLiteralValue)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfLiteralExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFloatingExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfIntegerExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStringExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfUnaryOperator)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfUnaryExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBinaryOperator)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBinaryExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfLetVariable)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfLetExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfIfExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfRangeBoundary)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfRangeExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfSetTesting)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfSetTestingExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfConstructorArgument)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfConstructorExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfInferExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeCastingStrategy)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeCastingExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeTesting)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeTestingExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeOfTypeExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfTypeOfExpressionExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfTypeOfExpressionExpression
>::
();
->
(
<
vl
::
workflow
::
WfTypeOfExpressionExpression
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfAttachEventExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfDetachEventExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfObserveType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfObserveExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCallExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFunctionExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfNewClassExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfNewInterfaceExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfFormatExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfBindExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfNewCoroutineExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfMixinCastExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfExpectedTypeCastExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfExpectedTypeCastExpression
>::
();
->
(
<
vl
::
workflow
::
WfExpectedTypeCastExpression
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoOperatorExpression)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingNameFragment)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfModuleUsingNameFragment
>::
();
->
(
<
vl
::
workflow
::
WfModuleUsingNameFragment
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingWildCardFragment)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
WfModuleUsingWildCardFragment
>::
();
->
(
<
vl
::
workflow
::
WfModuleUsingWildCardFragment
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingItem)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingPath)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleType)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModule)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
>::
();
->
(
<
vl
::
workflow
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfType::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfExpression::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStatement::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfDeclaration::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCfeDeclaration::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseDeclaration::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseStatement::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfCoroutineStatement::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfStateMachineStatement::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCfeExpression::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfVirtualCseExpression::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::workflow::WfModuleUsingFragment::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
workflow
::
::
>::
();
->
(
<
vl
::
workflow
::
::
>::
.typeName,
type
); }
}
void
(
*
)
{
}
};
#endif
#endif
bool
()
{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
*
=
();
if
(
manager
)
{
<
>
=
new
;
return
manager
->
(
loader
);
}
#endif
return
false
;
}
}
}
}