File Index Symbol Index

/*********************************************************************** This file is generated by: Vczh Parser Generator From parser definition:ParsingXml.parser.txt Licensed under https://github.com/vczh-libraries/License ***********************************************************************/
#include "../Parsing.h"
#include "../ParsingDefinitions.h"
#include "../ParsingAutomaton.h"
#include "ParsingXml_Ast.h"
namespace
vl
{
namespace
parsing
{
namespace
xml
{
/*********************************************************************** Visitor Pattern Implementation ***********************************************************************/
void
XmlText
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlCData
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlAttribute
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlComment
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlElement
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlInstruction
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); }
void
XmlDocument
::
Accept
(
XmlNode
::
IVisitor
*
visitor
) {
visitor
->
Visit
(
this
); } } } }
namespace
vl
{
namespace
reflection
{
namespace
description
{
#ifndef VCZH_DEBUG_NO_REFLECTION
using
namespace
vl
::
parsing
::
xml
;
#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")\
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
#endif
#undef PARSING_TOKEN_FIELD
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
class
XmlTypeLoader
:
public
vl
::
Object
,
public
ITypeLoader
{
public
:
void
Load
(
ITypeManager
*
manager
) { }
void
Unload
(
ITypeManager
*
manager
) { } };
#endif #endif
bool
XmlLoadTypes
() {
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
ITypeManager
*
manager
=
GetGlobalTypeManager
();
if
(
manager
) {
Ptr
<
ITypeLoader
>
loader
=
new
XmlTypeLoader
;
return
manager
->
AddTypeLoader
(
loader
); }
#endif
return
false
; } } } }