#include <VlppParser.h>
#include "GuiInstanceQuery_Ast.h"
namespace
{
namespace
{
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
void
::
(
::
*
)
{
->
(
this
);
}
}
}
namespace
{
namespace
{
namespace
{
#ifndef VCZH_DEBUG_NO_REFLECTION
using
namespace
vl
::
presentation
;
#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::presentation::GuiIqQuery, presentation::GuiIqQuery)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqQuery"
,
L"vl::presentation::GuiIqQuery"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqNameOption, presentation::GuiIqNameOption)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqNameOption"
,
L"vl::presentation::GuiIqNameOption"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqChildOption, presentation::GuiIqChildOption)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqChildOption"
,
L"vl::presentation::GuiIqChildOption"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqPrimaryQuery, presentation::GuiIqPrimaryQuery)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqPrimaryQuery"
,
L"vl::presentation::GuiIqPrimaryQuery"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqCascadeQuery, presentation::GuiIqCascadeQuery)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqCascadeQuery"
,
L"vl::presentation::GuiIqCascadeQuery"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqBinaryOperator, presentation::GuiIqBinaryOperator)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqBinaryOperator"
,
L"vl::presentation::GuiIqBinaryOperator"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqSetQuery, presentation::GuiIqSetQuery)
const
<
vl
::
presentation
::
>::
= {
L"presentation::GuiIqSetQuery"
,
L"vl::presentation::GuiIqSetQuery"
,
::
};
IMPL_TYPE_INFO_RENAME(vl::presentation::GuiIqQuery::IVisitor, presentation::GuiIqQuery::IVisitor)
const
<
vl
::
presentation
::
::
>::
= {
L"presentation::GuiIqQuery::IVisitor"
,
L"vl::presentation::GuiIqQuery::IVisitor"
,
::
};
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
BEGIN_CLASS_MEMBER(GuiIqQuery)
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(GuiIqQuery::*)(GuiIqQuery::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(GuiIqQuery)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(GuiIqNameOption)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(GuiIqNameOption)
ENUM_NAMESPACE_ITEM(Specified)
->AddItem(
L"Specified"
,
::
);
END_ENUM_ITEM(GuiIqNameOption)
} }; };
BEGIN_ENUM_ITEM(GuiIqChildOption)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(GuiIqChildOption)
ENUM_NAMESPACE_ITEM(Direct)
->AddItem(
L"Direct"
,
::
);
ENUM_NAMESPACE_ITEM(Indirect)
->AddItem(
L"Indirect"
,
::
);
END_ENUM_ITEM(GuiIqChildOption)
} }; };
BEGIN_CLASS_MEMBER(GuiIqPrimaryQuery)
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(GuiIqQuery)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<GuiIqPrimaryQuery>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(childOption)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"childOption"
, &
::
) );
CLASS_MEMBER_FIELD(attributeNameOption)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"attributeNameOption"
, &
::
) );
PARSING_TOKEN_FIELD(attributeName)
{
const
wchar_t
*
[]={
L""
};
(
L"get_attributeName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_attributeName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"attributeName"
,
dynamic_cast
<
*>(
(
L"get_attributeName"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_attributeName"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
CLASS_MEMBER_FIELD(typeNameOption)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"typeNameOption"
, &
::
) );
PARSING_TOKEN_FIELD(typeName)
{
const
wchar_t
*
[]={
L""
};
(
L"get_typeName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_typeName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"typeName"
,
dynamic_cast
<
*>(
(
L"get_typeName"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_typeName"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
PARSING_TOKEN_FIELD(referenceName)
{
const
wchar_t
*
[]={
L""
};
(
L"get_referenceName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
vl
::
(
::*)()>::
>(
parameterNames
, [](
*
) {
return
node
->
.
; },
L"*"
,
L"*"
) ); } {
const
wchar_t
*
[]={
L"value"
};
(
L"set_referenceName"
,
new
CustomExternalMethodInfoImpl
<
,
vl
::
function_lambda
::
<
void
(
::*)(
const
vl
::
&)>::
>(
parameterNames
, [](
*
,
const
vl
::
&
) {
node
->
.
value
; },
L"*"
,
L"*"
) ); }
(
new
PropertyInfoImpl_StaticCpp
(
this
,
L"referenceName"
,
dynamic_cast
<
*>(
(
L"get_referenceName"
,
true
)->GetMethod(
0
)),
dynamic_cast
<
*>(
(
L"set_referenceName"
,
true
)->GetMethod(
0
)),
nullptr
,
(
L"$This->$Name.value"
,
false
) ) );
END_CLASS_MEMBER(GuiIqPrimaryQuery)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_CLASS_MEMBER(GuiIqCascadeQuery)
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(GuiIqQuery)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<GuiIqCascadeQuery>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(parent)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"parent"
, &
::
) );
CLASS_MEMBER_FIELD(child)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"child"
, &
::
) );
END_CLASS_MEMBER(GuiIqCascadeQuery)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_ENUM_ITEM(GuiIqBinaryOperator)
template
<>
struct
CustomTypeDescriptorSelector
<
> {
public
:
class
:
public
<
,
::
> {
typedef
;
public
:
void
()
override
{
<
,
::
>::
();
ENUM_ITEM_NAMESPACE(GuiIqBinaryOperator)
ENUM_NAMESPACE_ITEM(ExclusiveOr)
->AddItem(
L"ExclusiveOr"
,
::
);
ENUM_NAMESPACE_ITEM(Intersect)
->AddItem(
L"Intersect"
,
::
);
ENUM_NAMESPACE_ITEM(Union)
ENUM_NAMESPACE_ITEM(Substract)
->AddItem(
L"Substract"
,
::
);
END_ENUM_ITEM(GuiIqBinaryOperator)
} }; };
BEGIN_CLASS_MEMBER(GuiIqSetQuery)
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(GuiIqQuery)
CLASS_MEMBER_CONSTRUCTOR(vl::Ptr<GuiIqSetQuery>(), NO_PARAMETER)
{
const
wchar_t
*
[]={
L""
};
(
new
CustomConstructorInfoImpl
<
vl
::
<
>()>(
parameterNames
)); }
CLASS_MEMBER_FIELD(first)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"first"
, &
::
) );
CLASS_MEMBER_FIELD(second)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"second"
, &
::
) );
CLASS_MEMBER_FIELD(op)
(
new
<
,
decltype
(((
*)
0
)->
) >(
this
,
L"op"
, &
::
) );
END_CLASS_MEMBER(GuiIqSetQuery)
if
(
GetBaseTypeDescriptorCount
() ==
0
)
(
description
::
<
>()); } }; };
BEGIN_INTERFACE_MEMBER(GuiIqQuery::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<GuiIqQuery::IVisitor>::Create"
L"($Arguments)"
,
L"::vl::Func<$Func>(&::"
L"vl::reflection::description::ValueInterfaceProxy<GuiIqQuery::IVisitor>::Create"
L")"
) ); }
CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(GuiIqQuery::IVisitor::*)(GuiIqPrimaryQuery* 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(GuiIqQuery::IVisitor::*)(GuiIqCascadeQuery* 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(GuiIqQuery::IVisitor::*)(GuiIqSetQuery* 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(GuiIqQuery)
if
(
GetBaseTypeDescriptorCount
() ==
0
&&
==
::
)
(
description
::
<
>()); } }; };
#endif
#undef PARSING_TOKEN_FIELD
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
class
:
public
vl
::
,
public
{
public
:
void
(
*
)
{
ADD_TYPE_INFO(vl::presentation::GuiIqQuery)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqNameOption)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqChildOption)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqPrimaryQuery)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqCascadeQuery)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqBinaryOperator)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqSetQuery)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
>::
();
->
(
<
vl
::
presentation
::
>::
.typeName,
type
); }
ADD_TYPE_INFO(vl::presentation::GuiIqQuery::IVisitor)
{
<
>
=
new
CustomTypeDescriptorSelector
<
vl
::
presentation
::
::
>::
();
->
(
<
vl
::
presentation
::
::
>::
.typeName,
type
); }
}
void
(
*
)
{
}
};
#endif
#endif
bool
()
{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
*
=
();
if
(
manager
)
{
<
>
=
new
;
return
manager
->
(
loader
);
}
#endif
return
false
;
}
}
}
}