Update import

This commit is contained in:
vczh
2021-10-29 02:29:11 -07:00
parent 842ba6d014
commit 2ec909f968
30 changed files with 1906 additions and 1600 deletions
+32 -7
View File
@@ -1888,6 +1888,7 @@ namespace vl
namespace controls
{
using namespace reflection::description;
/***********************************************************************
GuiTabPage
@@ -2003,7 +2004,7 @@ GuiTab
{
auto ct = TypedControlTemplateObject(true);
ct->SetCommands(commandExecutor.Obj());
ct->SetTabPages(tabPages.GetWrapper());
ct->SetTabPages(UnboxValue<Ptr<IValueObservableList>>(BoxParameter(tabPages)));
ct->SetSelectedTabPage(selectedPage);
}
@@ -5471,6 +5472,11 @@ DataProvider
DataProvider::~DataProvider()
{
if (itemChangedEventHandler)
{
auto ol = itemSource.Cast<IValueObservableList>();
ol->ItemChanged.Remove(itemChangedEventHandler);
}
}
Ptr<IDataFilter> DataProvider::GetAdditionalFilter()
@@ -5828,7 +5834,11 @@ GuiBindableTextList::ItemSource
GuiBindableTextList::ItemSource::~ItemSource()
{
SetItemSource(nullptr);
if (itemChangedEventHandler)
{
auto ol = itemSource.Cast<IValueObservableList>();
ol->ItemChanged.Remove(itemChangedEventHandler);
}
}
Ptr<description::IValueEnumerable> GuiBindableTextList::ItemSource::GetItemSource()
@@ -6035,7 +6045,11 @@ GuiBindableListView::ItemSource
GuiBindableListView::ItemSource::~ItemSource()
{
SetItemSource(nullptr);
if (itemChangedEventHandler)
{
auto ol = itemSource.Cast<IValueObservableList>();
ol->ItemChanged.Remove(itemChangedEventHandler);
}
}
Ptr<description::IValueEnumerable> GuiBindableListView::ItemSource::GetItemSource()
@@ -6488,6 +6502,11 @@ GuiBindableTreeView::ItemSourceNode
GuiBindableTreeView::ItemSourceNode::~ItemSourceNode()
{
if (itemChangedEventHandler)
{
auto ol = childrenVirtualList.Cast<IValueObservableList>();
ol->ItemChanged.Remove(itemChangedEventHandler);
}
}
description::Value GuiBindableTreeView::ItemSourceNode::GetItemSource()
@@ -22432,12 +22451,14 @@ list::GroupedDataSource
GroupTitlePropertyChanged.SetAssociatedComposition(associatedComposition);
GroupChildrenPropertyChanged.SetAssociatedComposition(associatedComposition);
groupChangedHandler = groupedItemSource.GetWrapper()->ItemChanged.Add(this, &GroupedDataSource::OnGroupChanged);
auto vol = UnboxValue<Ptr<IValueObservableList>>(BoxParameter(groupedItemSource));
groupChangedHandler = vol->ItemChanged.Add(this, &GroupedDataSource::OnGroupChanged);
}
GroupedDataSource::~GroupedDataSource()
{
joinedItemSource.GetWrapper()->ItemChanged.Remove(groupChangedHandler);
auto vol = UnboxValue<Ptr<IValueObservableList>>(BoxParameter(joinedItemSource));
vol->ItemChanged.Remove(groupChangedHandler);
}
Ptr<IValueEnumerable> GroupedDataSource::GetItemSource()
@@ -22779,7 +22800,7 @@ GuiBindableRibbonGalleryList
itemList = new GuiBindableTextList(theme::ThemeName::RibbonGalleryItemList);
itemList->GetBoundsComposition()->SetAlignmentToParent(Margin(0, 0, 0, 0));
itemList->SetArranger(itemListArranger);
itemList->SetItemSource(joinedItemSource.GetWrapper());
itemList->SetItemSource(UnboxValue<Ptr<IValueObservableList>>(BoxParameter(joinedItemSource)));
itemList->SelectionChanged.AttachMethod(this, &GuiBindableRibbonGalleryList::OnItemListSelectionChanged);
itemList->ItemMouseEnter.AttachMethod(this, &GuiBindableRibbonGalleryList::OnItemListItemMouseEnter);
itemList->ItemMouseLeave.AttachMethod(this, &GuiBindableRibbonGalleryList::OnItemListItemMouseLeave);
@@ -22797,7 +22818,7 @@ GuiBindableRibbonGalleryList
groupStack->SetMinSizeLimitation(GuiGraphicsComposition::LimitToElementAndChildren);
groupStack->SetAlignmentToParent(Margin(0, 0, 0, 0));
groupStack->SetDirection(GuiStackComposition::Vertical);
groupStack->SetItemSource(groupedItemSource.GetWrapper());
groupStack->SetItemSource(UnboxValue<Ptr<IValueObservableList>>(BoxParameter(groupedItemSource)));
groupContainer->GetContainerComposition()->AddChild(groupStack);
MenuResetGroupTemplate();
}
@@ -26081,6 +26102,10 @@ GuiRepeatCompositionBase
GuiRepeatCompositionBase::~GuiRepeatCompositionBase()
{
if (itemChangedHandler)
{
itemSource.Cast<IValueObservableList>()->ItemChanged.Remove(itemChangedHandler);
}
}
GuiRepeatCompositionBase::ItemStyleProperty GuiRepeatCompositionBase::GetItemTemplate()
+80 -96
View File
@@ -5,8 +5,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
@@ -72,6 +72,14 @@ Enumerations
UpRight,
};
#define GUI_DEFINE_COMPARE_OPERATORS(TYPE)\
inline bool operator==(const TYPE& right)const { return Compare(right) == 0; } \
inline bool operator!=(const TYPE& right)const { return Compare(right) != 0; } \
inline bool operator< (const TYPE& right)const { return Compare(right) < 0; } \
inline bool operator<=(const TYPE& right)const { return Compare(right) <= 0; } \
inline bool operator> (const TYPE& right)const { return Compare(right) > 0; } \
inline bool operator>=(const TYPE& right)const { return Compare(right) >= 0; } \
/***********************************************************************
TextPos
***********************************************************************/
@@ -100,21 +108,14 @@ TextPos
{
}
vint Compare(const TextPos& value)const
inline vint Compare(const TextPos& value)const
{
if(row<value.row) return -1;
if(row>value.row) return 1;
if(column<value.column) return -1;
if(column>value.column) return 1;
vint result;
if ((result = row - value.row) != 0) return result;
if ((result = column - value.column) != 0) return result;
return 0;
}
bool operator==(const TextPos& value)const {return Compare(value)==0;}
bool operator!=(const TextPos& value)const {return Compare(value)!=0;}
bool operator<(const TextPos& value)const {return Compare(value)<0;}
bool operator<=(const TextPos& value)const {return Compare(value)<=0;}
bool operator>(const TextPos& value)const {return Compare(value)>0;}
bool operator>=(const TextPos& value)const {return Compare(value)>=0;}
GUI_DEFINE_COMPARE_OPERATORS(TextPos)
};
/***********************************************************************
@@ -145,21 +146,14 @@ GridPos
{
}
vint Compare(const GridPos& value)const
inline vint Compare(const GridPos& value)const
{
if(row<value.row) return -1;
if(row>value.row) return 1;
if(column<value.column) return -1;
if(column>value.column) return 1;
vint result;
if ((result = row - value.row) != 0) return result;
if ((result = column - value.column) != 0) return result;
return 0;
}
bool operator==(const GridPos& value)const {return Compare(value)==0;}
bool operator!=(const GridPos& value)const {return Compare(value)!=0;}
bool operator<(const GridPos& value)const {return Compare(value)<0;}
bool operator<=(const GridPos& value)const {return Compare(value)<=0;}
bool operator>(const GridPos& value)const {return Compare(value)>0;}
bool operator>=(const GridPos& value)const {return Compare(value)>=0;}
GUI_DEFINE_COMPARE_OPERATORS(GridPos)
};
/***********************************************************************
@@ -185,12 +179,8 @@ Coordinate
NativeCoordinate& operator=(const NativeCoordinate& _value) = default;
NativeCoordinate& operator=(NativeCoordinate&& _value) = default;
inline bool operator==(NativeCoordinate c)const { return value == c.value; };
inline bool operator!=(NativeCoordinate c)const { return value != c.value; };
inline bool operator<(NativeCoordinate c)const { return value < c.value; };
inline bool operator<=(NativeCoordinate c)const { return value <= c.value; };
inline bool operator>(NativeCoordinate c)const { return value > c.value; };
inline bool operator>=(NativeCoordinate c)const { return value >= c.value; };
inline vint Compare(NativeCoordinate c) const { return value - c.value; }
GUI_DEFINE_COMPARE_OPERATORS(NativeCoordinate)
inline NativeCoordinate operator+(NativeCoordinate c)const { return value + c.value; };
inline NativeCoordinate operator-(NativeCoordinate c)const { return value - c.value; };
@@ -203,6 +193,9 @@ Coordinate
inline NativeCoordinate& operator/=(NativeCoordinate c) { value /= c.value; return *this; };
};
inline vint CompareCoordinate(vint a, vint b) { return a - b; }
inline vint CompareCoordinate(NativeCoordinate a, NativeCoordinate b) { return a.value - b.value; }
/***********************************************************************
Point
***********************************************************************/
@@ -233,15 +226,14 @@ Point
{
}
bool operator==(Point_<T> point)const
inline vint Compare(const Point_<T>& value)const
{
return x == point.x && y == point.y;
}
bool operator!=(Point_<T> point)const
{
return x != point.x || y != point.y;
vint result;
if ((result = CompareCoordinate(x, value.x)) != 0) return result;
if ((result = CompareCoordinate(y, value.y)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(Point_<T>)
};
using Point = Point_<GuiCoordinate>;
@@ -277,15 +269,14 @@ Size
{
}
bool operator==(Size_<T> size)const
inline vint Compare(const Size_<T>& value)const
{
return x == size.x && y == size.y;
}
bool operator!=(Size_<T> size)const
{
return x != size.x || y != size.y;
vint result;
if ((result = CompareCoordinate(x, value.x)) != 0) return result;
if ((result = CompareCoordinate(y, value.y)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(Size_<T>)
};
using Size = Size_<GuiCoordinate>;
@@ -334,15 +325,16 @@ Rectangle
{
}
bool operator==(Rect_<T> rect)const
inline vint Compare(const Rect_<T>& value)const
{
return x1 == rect.x1 && y1 == rect.y1 && x2 == rect.x2 && y2 == rect.y2;
}
bool operator!=(Rect_<T> rect)const
{
return x1 != rect.x1 || y1 != rect.y1 || x2 != rect.x2 || y2 != rect.y2;
vint result;
if ((result = CompareCoordinate(x1, value.x1)) != 0) return result;
if ((result = CompareCoordinate(y1, value.y1)) != 0) return result;
if ((result = CompareCoordinate(x2, value.x2)) != 0) return result;
if ((result = CompareCoordinate(y2, value.y2)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(Rect_<T>)
Point_<T> LeftTop()const
{
@@ -545,8 +537,9 @@ Color
vint Compare(Color color)const
{
return value-color.value;
return value - color.value;
}
GUI_DEFINE_COMPARE_OPERATORS(Color)
static Color Parse(const WString& value)
{
@@ -594,13 +587,6 @@ Color
}
return result;
}
bool operator==(Color color)const {return Compare(color)==0;}
bool operator!=(Color color)const {return Compare(color)!=0;}
bool operator<(Color color)const {return Compare(color)<0;}
bool operator<=(Color color)const {return Compare(color)<=0;}
bool operator>(Color color)const {return Compare(color)>0;}
bool operator>=(Color color)const {return Compare(color)>=0;}
};
/***********************************************************************
@@ -641,15 +627,16 @@ Margin
{
}
bool operator==(Margin_<T> margin)const
inline vint Compare(const Margin_<T>& value)const
{
return left==margin.left && top==margin.top && right==margin.right && bottom==margin.bottom;
}
bool operator!=(Margin_<T> margin)const
{
return left!=margin.left || top!=margin.top || right!=margin.right || bottom!=margin.bottom;
vint result;
if ((result = CompareCoordinate(left, value.left)) != 0) return result;
if ((result = CompareCoordinate(top, value.top)) != 0) return result;
if ((result = CompareCoordinate(right, value.right)) != 0) return result;
if ((result = CompareCoordinate(bottom, value.bottom)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(Margin_<T>)
};
using Margin = Margin_<GuiCoordinate>;
@@ -735,13 +722,7 @@ Resources
return 0;
}
bool operator==(const FontProperties& value)const {return Compare(value)==0;}
bool operator!=(const FontProperties& value)const {return Compare(value)!=0;}
bool operator<(const FontProperties& value)const {return Compare(value)<0;}
bool operator<=(const FontProperties& value)const {return Compare(value)<=0;}
bool operator>(const FontProperties& value)const {return Compare(value)>0;}
bool operator>=(const FontProperties& value)const {return Compare(value)>=0;}
GUI_DEFINE_COMPARE_OPERATORS(FontProperties)
};
/***********************************************************************
@@ -6409,13 +6390,8 @@ Global String Key
vint key = -1;
public:
static vint Compare(GlobalStringKey a, GlobalStringKey b){ return a.key - b.key; }
bool operator==(GlobalStringKey g)const{ return key == g.key; }
bool operator!=(GlobalStringKey g)const{ return key != g.key; }
bool operator<(GlobalStringKey g)const{ return key < g.key; }
bool operator<=(GlobalStringKey g)const{ return key <= g.key; }
bool operator>(GlobalStringKey g)const{ return key > g.key; }
bool operator>=(GlobalStringKey g)const{ return key >= g.key; }
inline vint Compare(GlobalStringKey value)const{ return key - value.key; }
GUI_DEFINE_COMPARE_OPERATORS(GlobalStringKey)
static GlobalStringKey Get(const WString& string);
vint ToKey()const;
@@ -9228,8 +9204,14 @@ Colorized Plain Text (model)
/// </summary>
Color background;
bool operator==(const ColorItem& value)const { return text == value.text && background == value.background; }
bool operator!=(const ColorItem& value)const { return !(*this == value); }
inline vint Compare(const ColorItem& value)const
{
vint result;
if ((result = text.Compare(value.text)) != 0) return result;
if ((result = background.Compare(value.background)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(ColorItem)
};
/// <summary>
@@ -9250,8 +9232,15 @@ Colorized Plain Text (model)
/// </summary>
ColorItem selectedUnfocused;
bool operator==(const ColorEntry& value)const {return normal == value.normal && selectedFocused == value.selectedFocused && selectedUnfocused == value.selectedUnfocused;}
bool operator!=(const ColorEntry& value)const {return !(*this == value);}
inline vint Compare(const ColorEntry& value)const
{
vint result;
if ((result = normal.Compare(value.normal)) != 0) return result;
if ((result = selectedFocused.Compare(value.selectedFocused)) != 0) return result;
if ((result = selectedUnfocused.Compare(value.selectedUnfocused)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(ColorEntry)
};
}
@@ -19205,19 +19194,14 @@ Ribbon Gallery List
{
}
vint Compare(GalleryPos value)const
inline vint Compare(const GalleryPos& value)const
{
vint result = group - value.group;
if (result != 0) return result;
return item - value.item;
vint result;
if ((result = group - value.group) != 0) return result;
if ((result = item - value.item) != 0) return result;
return 0;
}
bool operator==(const GalleryPos& value)const { return Compare(value) == 0; }
bool operator!=(const GalleryPos& value)const { return Compare(value) != 0; }
bool operator<(const GalleryPos& value)const { return Compare(value)<0; }
bool operator<=(const GalleryPos& value)const { return Compare(value) <= 0; }
bool operator>(const GalleryPos& value)const { return Compare(value)>0; }
bool operator>=(const GalleryPos& value)const { return Compare(value) >= 0; }
GUI_DEFINE_COMPARE_OPERATORS(GalleryPos)
};
namespace list
+1 -1
View File
@@ -8,8 +8,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
#include "VlppWorkflowRuntime.h"
+1 -1
View File
@@ -7,8 +7,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
#include "VlppWorkflowRuntime.h"
+8 -6
View File
@@ -224,12 +224,14 @@ WindowsDirect2DParagraph
TextRange(){}
TextRange(vint _start, vint _end):start(_start),end(_end){}
bool operator==(const TextRange& range) const { return start==range.start; }
bool operator!=(const TextRange& range) const { return start!=range.start; }
bool operator<(const TextRange& range) const { return start<range.start; }
bool operator<=(const TextRange& range) const { return start<=range.start; }
bool operator>(const TextRange& range) const { return start>range.start; }
bool operator>=(const TextRange& range) const { return start>=range.start; }
inline vint Compare(const TextRange& value)const
{
vint result;
if ((result = start - value.start) != 0) return result;
if ((result = end - value.end) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(TextRange)
};
typedef Dictionary<IGuiGraphicsElement*, ComPtr<WindowsDirect2DElementInlineObject>> InlineElementMap;
+17 -9
View File
@@ -6,8 +6,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
@@ -1431,12 +1431,14 @@ UniscribeColor
UniscribeColorRange(){}
UniscribeColorRange(vint _start, vint _end):start(_start),end(_end){}
bool operator==(const UniscribeColorRange& range) const { return start==range.start; }
bool operator!=(const UniscribeColorRange& range) const { return start!=range.start; }
bool operator<(const UniscribeColorRange& range) const { return start<range.start; }
bool operator<=(const UniscribeColorRange& range) const { return start<=range.start; }
bool operator>(const UniscribeColorRange& range) const { return start>range.start; }
bool operator>=(const UniscribeColorRange& range) const { return start>=range.start; }
inline vint Compare(const UniscribeColorRange& value)const
{
vint result;
if ((result = start - value.start) != 0) return result;
if ((result = end - value.end) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(UniscribeColorRange)
};
struct UniscribeColor
@@ -1447,8 +1449,14 @@ UniscribeColor
UniscribeColor(){}
UniscribeColor(Color _fontColor, Color _backgroundColor):fontColor(_fontColor),backgroundColor(_backgroundColor){}
bool operator==(const UniscribeColor& color) const { return fontColor==color.fontColor && backgroundColor==color.backgroundColor; }
bool operator!=(const UniscribeColor& color) const { return fontColor!=color.fontColor || backgroundColor!=color.backgroundColor; }
inline vint Compare(const UniscribeColor& value)const
{
vint result;
if ((result = fontColor.Compare(value.fontColor)) != 0) return result;
if ((result = backgroundColor.Compare(value.backgroundColor)) != 0) return result;
return 0;
}
GUI_DEFINE_COMPARE_OPERATORS(UniscribeColor)
};
}
}
+17 -17
View File
@@ -23932,7 +23932,7 @@ namespace darkskin
}
(this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(9); __vwsn_temp__.y = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
@@ -24445,7 +24445,7 @@ Class (::darkskin::ComboBoxTemplateConstructor)
}
(this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -24979,7 +24979,7 @@ Class (::darkskin::ExpandingDecoratorTemplateConstructor)
}
(this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(1); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(7); __vwsn_temp__.y = static_cast<::vl::vint>(9); return __vwsn_temp__; }());
@@ -24996,7 +24996,7 @@ Class (::darkskin::ExpandingDecoratorTemplateConstructor)
}
(this->__vwsn_precompile_5 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_5.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(7); __vwsn_temp__.y = static_cast<::vl::vint>(9); return __vwsn_temp__; }());
@@ -25736,7 +25736,7 @@ Class (::darkskin::LeftScrollButtonTemplateConstructor)
}
(this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(9); return __vwsn_temp__; }());
@@ -25876,7 +25876,7 @@ Class (::darkskin::ListViewColumnHeaderTemplateConstructor)
}
(this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(7); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }());
@@ -25893,7 +25893,7 @@ Class (::darkskin::ListViewColumnHeaderTemplateConstructor)
}
(this->__vwsn_precompile_10 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_10.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(7); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }());
@@ -26376,7 +26376,7 @@ Class (::darkskin::MenuItemButtonTemplateConstructor)
}
(this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(3); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }());
@@ -27051,7 +27051,7 @@ Class (::darkskin::RibbonGalleryDropdownButtonTemplateConstructor)
}
(this->__vwsn_precompile_4 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_4.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(9); __vwsn_temp__.y = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
@@ -27373,7 +27373,7 @@ Class (::darkskin::RibbonGroupExpandButtonTemplateConstructor)
}
(this->__vwsn_precompile_1 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_1.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(6); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(6); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_1.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_1.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(7); __vwsn_temp__.y = static_cast<::vl::vint>(7); return __vwsn_temp__; }());
@@ -28060,7 +28060,7 @@ Class (::darkskin::RibbonLargeDropdownButtonTemplateConstructor)
}
(this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -28643,7 +28643,7 @@ Class (::darkskin::RibbonSmallDropdownButtonTemplateConstructor)
}
(this->__vwsn_precompile_11 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_11.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -29186,7 +29186,7 @@ Class (::darkskin::RibbonSplitArrowTemplateConstructor)
}
(this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -29570,7 +29570,7 @@ Class (::darkskin::RightScrollButtonTemplateConstructor)
}
(this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(8); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(9); return __vwsn_temp__; }());
@@ -30835,7 +30835,7 @@ Class (::darkskin::ToolstripDropdownButtonTemplateConstructor)
}
(this->__vwsn_precompile_8 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_8.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -31032,7 +31032,7 @@ Class (::darkskin::ToolstripSplitArrowTemplateConstructor)
}
(this->__vwsn_precompile_3 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(2); __vwsn_temp__.y = static_cast<::vl::vint>(2); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_3.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(5); __vwsn_temp__.y = static_cast<::vl::vint>(3); return __vwsn_temp__; }());
@@ -31479,7 +31479,7 @@ Class (::darkskin::TopScrollButtonTemplateConstructor)
}
(this->__vwsn_precompile_2 = ::vl::Ptr<::vl::presentation::elements::GuiPolygonElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>()));
{
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateList().Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Add([&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
[&]()->decltype(auto){ auto __vwsn_temp_x0 = ::vl::__vwsn::Box(::vl::Ptr<::vl::reflection::description::IValueReadonlyList>((::vl::__vwsn::CreateArray().Resize(3).Set(0, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(0); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }()).Set(1, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(4); __vwsn_temp__.y = static_cast<::vl::vint>(0); return __vwsn_temp__; }()).Set(2, [&](){ ::vl::presentation::Point __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(8); __vwsn_temp__.y = static_cast<::vl::vint>(4); return __vwsn_temp__; }())).list)); ::vl::collections::Array<::vl::presentation::Point> __vwsn_temp_0; ::vl::reflection::description::UnboxParameter(__vwsn_temp_x0, __vwsn_temp_0); return ::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetPointsArray(__vwsn_temp_0); }();
}
{
::vl::__vwsn::This(this->__vwsn_precompile_2.Obj())->SetSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(9); __vwsn_temp__.y = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
+1 -1
View File
@@ -6,8 +6,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
+1 -1
View File
@@ -8,8 +8,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppParser.h"
#include "VlppWorkflowLibrary.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
+209 -171
View File
File diff suppressed because it is too large Load Diff
+20 -21
View File
@@ -3148,9 +3148,9 @@ CreateLookAhead
void CopyStableLookAheads(List<Ptr<ParsingTable::LookAheadInfo>>& la, List<Ptr<ParsingTable::LookAheadInfo>>& sla, const List<Ptr<ParsingTable::LookAheadInfo>>& la2)
{
CopyFrom(sla, From(la)
.Where([&](Ptr<ParsingTable::LookAheadInfo> lai)
.Where([&](auto&& lai)
{
return From(la2).All([&](Ptr<ParsingTable::LookAheadInfo> lai2)
return From(la2).All([&](auto&& lai2)
{
return ParsingTable::LookAheadInfo::TestPrefix(lai, lai2)==ParsingTable::LookAheadInfo::NotPrefix;
});
@@ -3188,9 +3188,9 @@ CreateLookAhead
{
CopyFrom(sla, t->lookAheads, true);
CopyFrom(t->lookAheads, From(sla)
.Where([&](Ptr<ParsingTable::LookAheadInfo> lai)
.Where([&](auto&& lai)
{
return From(sla).All([&](Ptr<ParsingTable::LookAheadInfo> lai2)
return From(sla).All([&](auto&& lai2)
{
if(lai==lai2) return true;
ParsingTable::LookAheadInfo::PrefixResult result=ParsingTable::LookAheadInfo::TestPrefix(lai, lai2);
@@ -3730,19 +3730,18 @@ GenerateTable
CopyFrom(
bag->transitionItems,
From(bag->transitionItems)
.OrderBy([&](Ptr<ParsingTable::TransitionItem> t1, Ptr<ParsingTable::TransitionItem> t2)
{
// stable transition order
vint i1 = bag->transitionItems.IndexOf(t1.Obj());
vint i2 = bag->transitionItems.IndexOf(t2.Obj());
auto defaultOrder =
i1 < i2 ? ParsingTable::TransitionItem::CorrectOrder :
i1 > i2 ? ParsingTable::TransitionItem::WrongOrder :
ParsingTable::TransitionItem::SameOrder
;
return ParsingTable::TransitionItem::Compare(t1, t2, defaultOrder);
})
);
.OrderBy([&](auto&& t1, auto&& t2)
{
// stable transition order
vint i1 = bag->transitionItems.IndexOf(t1.Obj());
vint i2 = bag->transitionItems.IndexOf(t2.Obj());
auto defaultOrder =
i1 < i2 ? ParsingTable::TransitionItem::CorrectOrder :
i1 > i2 ? ParsingTable::TransitionItem::WrongOrder :
ParsingTable::TransitionItem::SameOrder
;
return ParsingTable::TransitionItem::Compare(t1, t2, defaultOrder);
}));
// build look ahead inside a transition
for (vint k1 = 0; k1 < bag->transitionItems.Count() - 1; k1++)
@@ -4510,8 +4509,8 @@ CreateNondeterministicPDAFromEpsilonPDA
CopyFrom(
newStates,
From(epsilonPDA->states)
.Where([&](Ptr<State> s) {return oldNewStateMap.Keys().Contains(s.Obj()); })
.Select([&](Ptr<State> s) { return oldNewStateMap[s.Obj()]; })
.Where([&](auto&& s) {return oldNewStateMap.Keys().Contains(s.Obj()); })
.Select([&](auto&& s) { return oldNewStateMap[s.Obj()]; })
);
DeleteUnnecessaryStates(automaton, newRuleInfo, newStates);
MergeStates(automaton, newRuleInfo, newStates);
@@ -8715,7 +8714,7 @@ ParsingTreeNode
CopyFrom(
cachedOrderedSubNodes,
From(subNodes)
.Where([=](Ptr<ParsingTreeNode> node)
.Where([=](auto&& node)
{
const auto& range = node->GetCodeRange();
return !range.start.IsInvalid() && !range.end.IsInvalid();
@@ -10463,7 +10462,7 @@ Linq To Xml
{
return From(element->subNodes)
.FindType<XmlElement>()
.Where([name](Ptr<XmlElement> e){return e->name.value==name;});
.Where([name](auto&& e){return e->name.value==name;});
}
WString XmlGetValue(XmlElement* element)
+3 -3
View File
@@ -3,8 +3,8 @@ THIS FILE IS AUTOMATICALLY GENERATED. DO NOT MODIFY
DEVELOPER: Zihan Chen(vczh)
***********************************************************************/
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
@@ -2269,7 +2269,7 @@ Syntax Analyzer
void Reset()override;
};
class TokenLookAhead : public Object, public collections::IEnumerable<vint>
class TokenLookAhead : public collections::EnumerableBase<vint>
{
protected:
const ParsingTokenWalker* walker;
@@ -2279,7 +2279,7 @@ Syntax Analyzer
collections::IEnumerator<vint>* CreateEnumerator()const override;
};
class ReduceLookAhead : public Object, public collections::IEnumerable<vint>
class ReduceLookAhead : public collections::EnumerableBase<vint>
{
protected:
const ParsingTokenWalker* walker;
+31
View File
@@ -2532,6 +2532,27 @@ IValueEnumerable
return new ValueEnumerableWrapper<Ptr<IEnumerable<Value>>>(enumerable);
}
/***********************************************************************
IValueArray
***********************************************************************/
Ptr<IValueArray> IValueArray::Create()
{
return Create(LazyList<Value>());
}
Ptr<IValueArray> IValueArray::Create(Ptr<IValueReadonlyList> values)
{
return Create(GetLazyList<Value>(values));
}
Ptr<IValueArray> IValueArray::Create(collections::LazyList<Value> values)
{
Ptr<Array<Value>> list = new Array<Value>;
CopyFrom(*list.Obj(), values);
return new ValueArrayWrapper<Ptr<Array<Value>>>(list);
}
/***********************************************************************
IValueList
***********************************************************************/
@@ -2711,6 +2732,7 @@ TypeName
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueEnumerator, system::Enumerator)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueEnumerable, system::Enumerable)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueReadonlyList, system::ReadonlyList)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueArray, system::Array)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueList, system::List)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueObservableList, system::ObservableList)
IMPL_TYPE_INFO_RENAME(vl::reflection::description::IValueReadonlyDictionary, system::ReadonlyDictionary)
@@ -3254,6 +3276,15 @@ LoadPredefinedTypes
CLASS_MEMBER_METHOD(IndexOf, { L"value" })
END_INTERFACE_MEMBER(IValueReadonlyList)
BEGIN_INTERFACE_MEMBER(IValueArray)
CLASS_MEMBER_BASE(IValueReadonlyList)
CLASS_MEMBER_EXTERNALCTOR(Ptr<IValueArray>(), NO_PARAMETER, vl::reflection::description::IValueArray::Create)
CLASS_MEMBER_EXTERNALCTOR(Ptr<IValueArray>(Ptr<IValueReadonlyList>), { L"values" }, vl::reflection::description::IValueArray::Create)
CLASS_MEMBER_METHOD(Set, { L"index" _ L"value" })
CLASS_MEMBER_METHOD(Resize, { L"size" })
END_INTERFACE_MEMBER(IValueArray)
BEGIN_INTERFACE_MEMBER(IValueList)
CLASS_MEMBER_BASE(IValueReadonlyList)
CLASS_MEMBER_EXTERNALCTOR(Ptr<IValueList>(), NO_PARAMETER, vl::reflection::description::IValueList::Create)
+1316 -1214
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -585,7 +585,7 @@ RegexTokens
{
}
IEnumerator<RegexToken>* RegexTokens::CreateEnumerator()const
IEnumerator<RegexToken>* RegexTokens::CreateEnumerator() const
{
return new RegexTokenEnumerator(pure, stateTokens, code.Buffer(), codeIndex, proc);
}
+4 -4
View File
@@ -635,7 +635,7 @@ Tokenizer
/// }
/// }
/// ]]></example>
class RegexTokens : public Object, public collections::IEnumerable<RegexToken>
class RegexTokens : public collections::EnumerableBase<RegexToken>
{
friend class RegexLexer;
protected:
@@ -649,8 +649,8 @@ Tokenizer
public:
RegexTokens(const RegexTokens& tokens);
~RegexTokens();
collections::IEnumerator<RegexToken>* CreateEnumerator()const;
collections::IEnumerator<RegexToken>* CreateEnumerator() const override;
/// <summary>Copy all tokens.</summary>
/// <param name="tokens">Returns all tokens.</param>
@@ -936,7 +936,7 @@ Tokenizer
/// RegexLexer lexer(tokenDefs, proc);
/// RegexLexerColorizer colorizer = lexer.Colorize();
///
/// /// for (auto [line, index] : indexed(From(lines)))
/// for (auto [line, index] : indexed(From(lines)))
/// {
/// Console::WriteLine(L"Begin line " + itow(index));
/// argument.processingText = line;
+78 -16
View File
@@ -9512,10 +9512,12 @@ IsExpressionDependOnExpectedType(Expression)
{
public:
WfLexicalScopeManager* manager;
bool hasExpectedType;
bool result = false;
IsExpressionDependOnExpectedTypeVisitor(WfLexicalScopeManager* _manager)
IsExpressionDependOnExpectedTypeVisitor(WfLexicalScopeManager* _manager, bool _hasExpectedType)
:manager(_manager)
, hasExpectedType(_hasExpectedType)
{
}
@@ -9576,7 +9578,7 @@ IsExpressionDependOnExpectedType(Expression)
void Visit(WfConstructorExpression* node)override
{
if (node->arguments.Count() == 0)
if (hasExpectedType || node->arguments.Count() == 0)
{
result = true;
}
@@ -9613,9 +9615,9 @@ IsExpressionDependOnExpectedType(Expression)
}
};
bool IsExpressionDependOnExpectedType(WfLexicalScopeManager* manager, Ptr<WfExpression> expression)
bool IsExpressionDependOnExpectedType(WfLexicalScopeManager* manager, Ptr<WfExpression> expression, bool hasExpectedType)
{
IsExpressionDependOnExpectedTypeVisitor visitor(manager);
IsExpressionDependOnExpectedTypeVisitor visitor(manager, hasExpectedType);
expression->Accept(&visitor);
return visitor.result;
}
@@ -11081,7 +11083,7 @@ Helper Functions
List<Ptr<ITypeInfo>> types;
for (auto argument : arguments)
{
if (!argument || IsExpressionDependOnExpectedType(manager, argument))
if (!argument || IsExpressionDependOnExpectedType(manager, argument, true))
{
resolvables.Add(false);
types.Add(nullptr);
@@ -12631,6 +12633,12 @@ ValidateSemantic(Expression)
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
resultType = CopyTypeInfo(genericType->GetGenericArgument(0));
}
else if (classType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueArray>())
{
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
resultType = CopyTypeInfo(genericType->GetGenericArgument(0));
leftValue = true;
}
else if (classType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
{
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
@@ -12666,6 +12674,12 @@ ValidateSemantic(Expression)
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
resultType = TypeInfoRetriver<Value>::CreateTypeInfo();
}
else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueArray>())
{
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
resultType = TypeInfoRetriver<Value>::CreateTypeInfo();
leftValue = true;
}
else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
{
indexType = TypeInfoRetriver<vint>::CreateTypeInfo();
@@ -12767,7 +12781,7 @@ ValidateSemantic(Expression)
else if (node->op == WfBinaryOperator::FailedThen)
{
Ptr<ITypeInfo> firstType = GetExpressionType(manager, node->first, 0);
bool depend = IsExpressionDependOnExpectedType(manager, node->second);
bool depend = IsExpressionDependOnExpectedType(manager, node->second, firstType);
Ptr<ITypeInfo> secondType = GetExpressionType(manager, node->second, (depend ? firstType : nullptr));
if (firstType && secondType)
@@ -12978,8 +12992,8 @@ ValidateSemantic(Expression)
}
else
{
bool resolveFirst = !IsExpressionDependOnExpectedType(manager, node->trueBranch);
bool resolveSecond = !IsExpressionDependOnExpectedType(manager, node->falseBranch);
bool resolveFirst = !IsExpressionDependOnExpectedType(manager, node->trueBranch, false);
bool resolveSecond = !IsExpressionDependOnExpectedType(manager, node->falseBranch, false);
if (resolveFirst == resolveSecond)
{
@@ -13182,6 +13196,7 @@ ValidateSemantic(Expression)
}
}
else if (genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueObservableList>()
|| genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueArray>()
|| genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>()
|| genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueReadonlyList>()
|| genericType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueEnumerable>())
@@ -13250,9 +13265,29 @@ ValidateSemantic(Expression)
if (keyType)
{
Ptr<ITypeInfo> classType;
if (expectedType && expectedType->GetTypeDescriptor()==description::GetTypeDescriptor<IValueObservableList>())
if (expectedType)
{
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueObservableList>(), TypeInfoHint::Normal);
switch (expectedType->GetHint())
{
case TypeInfoHint::ObservableList:
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueObservableList>(), expectedType->GetHint());
break;
case TypeInfoHint::Array:
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueArray>(), expectedType->GetHint());
break;
case TypeInfoHint::Normal:
if (expectedType->GetTypeDescriptor() == description::GetTypeDescriptor<IValueObservableList>())
{
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueObservableList>(), expectedType->GetHint());
}
else
{
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueList>(), expectedType->GetHint());
}
break;
default:
classType = MakePtr<TypeDescriptorTypeInfo>(description::GetTypeDescriptor<IValueList>(), expectedType->GetHint());
}
}
else
{
@@ -14450,7 +14485,7 @@ ValidateSemantic(Statement)
for (auto switchCase : node->caseBranches)
{
Ptr<ITypeInfo> caseType;
if (IsExpressionDependOnExpectedType(manager, switchCase->expression))
if (IsExpressionDependOnExpectedType(manager, switchCase->expression, type))
{
caseType = GetExpressionType(manager, switchCase->expression, type);
}
@@ -20149,7 +20184,25 @@ WfGenerateExpressionVisitor
}
else
{
if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueArray>())
{
auto elementType = result.type->GetElementType()->GetGenericArgument(0);
writer.WriteString(L"(::vl::__vwsn::CreateArray().Resize(");
writer.WriteString(itow(node->arguments.Count()));
writer.WriteString(L")");
for (auto&& [argument, index] : indexed(node->arguments))
{
writer.WriteString(L".Set(");
writer.WriteString(itow(index));
writer.WriteString(L", ");
Call(argument->key);
writer.WriteString(L")");
}
writer.WriteString(L").list");
}
else if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
{
auto elementType = result.type->GetElementType()->GetGenericArgument(0);
writer.WriteString(L"(::vl::__vwsn::CreateList()");
@@ -25802,14 +25855,23 @@ GenerateInstructions(Expression)
}
else if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueEnumerable>()
|| result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueReadonlyList>()
|| result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
|| result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueArray>())
{
Ptr<ITypeInfo> keyType = CopyTypeInfo(result.type->GetElementType()->GetGenericArgument(0));
for (auto argument : From(node->arguments).Reverse())
{
GenerateExpressionInstructions(context, argument->key, keyType);
}
INSTRUCTION(Ins::CreateArray(node->arguments.Count()));
INSTRUCTION(Ins::NewArray(node->arguments.Count()));
}
else if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueList>())
{
Ptr<ITypeInfo> keyType = CopyTypeInfo(result.type->GetElementType()->GetGenericArgument(0));
for (auto argument : From(node->arguments).Reverse())
{
GenerateExpressionInstructions(context, argument->key, keyType);
}
INSTRUCTION(Ins::NewList(node->arguments.Count()));
}
else if (result.type->GetTypeDescriptor() == description::GetTypeDescriptor<IValueObservableList>())
{
@@ -25818,7 +25880,7 @@ GenerateInstructions(Expression)
{
GenerateExpressionInstructions(context, argument->key, keyType);
}
INSTRUCTION(Ins::CreateObservableList(node->arguments.Count()));
INSTRUCTION(Ins::NewObservableList(node->arguments.Count()));
}
else
{
@@ -25829,7 +25891,7 @@ GenerateInstructions(Expression)
GenerateExpressionInstructions(context, argument->key, keyType);
GenerateExpressionInstructions(context, argument->value, valueType);
}
INSTRUCTION(Ins::CreateMap(node->arguments.Count() * 2));
INSTRUCTION(Ins::NewDictionary(node->arguments.Count() * 2));
}
}
+2 -2
View File
@@ -5,8 +5,8 @@ DEVELOPER: Zihan Chen(vczh)
#include "VlppWorkflowLibrary.h"
#include "VlppWorkflowRuntime.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
#include "VlppParser.h"
@@ -4267,7 +4267,7 @@ Type Analyzing
extern Ptr<reflection::description::ITypeInfo> CreateTypeInfoFromMethodInfo(reflection::description::IMethodInfo* info);
extern bool IsExpressionDependOnExpectedType(WfLexicalScopeManager* manager, Ptr<WfExpression> expression);
extern bool IsExpressionDependOnExpectedType(WfLexicalScopeManager* manager, Ptr<WfExpression> expression, bool hasExpectedType);
extern WString GetExpressionName(Ptr<WfExpression> expression);
extern void SearchOrderedName(WfLexicalScope* scope, Ptr<WfExpression> expression, collections::SortedList<vint>& names);
+14
View File
@@ -13,6 +13,20 @@ namespace vl
namespace __vwsn
{
/***********************************************************************
CreateArray
***********************************************************************/
CreateArray::CreateArray()
:list(IValueArray::Create())
{
}
CreateArray::CreateArray(Ptr<IValueArray> _list)
:list(_list)
{
}
/***********************************************************************
CreateList
***********************************************************************/
+32 -9
View File
@@ -3,8 +3,8 @@ THIS FILE IS AUTOMATICALLY GENERATED. DO NOT MODIFY
DEVELOPER: Zihan Chen(vczh)
***********************************************************************/
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
@@ -149,16 +149,16 @@ namespace vl
}
template<typename T>
reflection::description::Value Box(const T& value)
reflection::description::Value Box(T&& value)
{
return reflection::description::BoxParameter<std::remove_cvref_t<T>>(const_cast<T&>(value));
return reflection::description::BoxParameter(value);
}
template<typename T>
T Unbox(const reflection::description::Value& value)
{
T result;
reflection::description::UnboxParameter<std::remove_cvref_t<T>>(value, result);
reflection::description::UnboxParameter(value, result);
return result;
}
@@ -224,23 +224,46 @@ namespace vl
}
template<typename T, typename U>
Ptr<T> UnboxCollection(const U& value)
Ptr<T> UnboxCollection(U&& value)
{
auto boxedValue = reflection::description::BoxParameter<U>(const_cast<U&>(value));
auto boxedValue = reflection::description::BoxParameter(value);
Ptr<T> result;
reflection::description::UnboxParameter<Ptr<T>>(boxedValue, result);
reflection::description::UnboxParameter(boxedValue, result);
return result;
}
template<typename T, typename U>
Ptr<T> UnboxCollection(const collections::LazyList<U>& value)
{
auto boxedValue = reflection::description::BoxParameter<collections::LazyList<U>>(const_cast<collections::LazyList<U>&>(value));
auto boxedValue = reflection::description::BoxParameter(const_cast<collections::LazyList<U>&>(value));
Ptr<T> result;
reflection::description::UnboxParameter<Ptr<T>>(boxedValue, result);
reflection::description::UnboxParameter(boxedValue, result);
return result;
}
struct CreateArray
{
using IValueArray = reflection::description::IValueArray;
Ptr<IValueArray> list;
CreateArray();
CreateArray(Ptr<IValueArray> _list);
CreateArray Resize(vint size)
{
list->Resize(size);
return{ list };
}
template<typename T>
CreateArray Set(vint index, const T& value)
{
list->Set(index, Box(value));
return{ list };
}
};
struct CreateList
{
using IValueList = reflection::description::IValueList;
+28 -12
View File
@@ -3627,7 +3627,23 @@ WfRuntimeThreadContext
}
return WfRuntimeExecutionAction::ExitStackFrame;
}
case WfInsCode::CreateArray:
case WfInsCode::NewArray:
{
auto list = IValueArray::Create();
if (ins.countParameter > 0)
{
list->Resize(ins.countParameter);
Value operand;
for (vint i = 0; i < ins.countParameter; i++)
{
CONTEXT_ACTION(PopValue(operand), L"failed to pop a value from the stack.");
list->Set(i, operand);
}
}
CONTEXT_ACTION(PushValue(Value::From(list)), L"failed to push a value to the stack.");
return WfRuntimeExecutionAction::ExecuteInstruction;
}
case WfInsCode::NewList:
{
auto list = IValueList::Create();
Value operand;
@@ -3639,19 +3655,19 @@ WfRuntimeThreadContext
CONTEXT_ACTION(PushValue(Value::From(list)), L"failed to push a value to the stack.");
return WfRuntimeExecutionAction::ExecuteInstruction;
}
case WfInsCode::CreateObservableList:
{
auto list = IValueObservableList::Create();
Value operand;
for (vint i = 0; i < ins.countParameter; i++)
case WfInsCode::NewObservableList:
{
CONTEXT_ACTION(PopValue(operand), L"failed to pop a value from the stack.");
list->Add(operand);
auto list = IValueObservableList::Create();
Value operand;
for (vint i = 0; i < ins.countParameter; i++)
{
CONTEXT_ACTION(PopValue(operand), L"failed to pop a value from the stack.");
list->Add(operand);
}
CONTEXT_ACTION(PushValue(Value::From(list)), L"failed to push a value to the stack.");
return WfRuntimeExecutionAction::ExecuteInstruction;
}
CONTEXT_ACTION(PushValue(Value::From(list)), L"failed to push a value to the stack.");
return WfRuntimeExecutionAction::ExecuteInstruction;
}
case WfInsCode::CreateMap:
case WfInsCode::NewDictionary:
{
auto map = IValueDictionary::Create();
Value key, value;
+10 -8
View File
@@ -4,8 +4,8 @@ DEVELOPER: Zihan Chen(vczh)
***********************************************************************/
#include "VlppParser.h"
#include "VlppReflection.h"
#include "VlppOS.h"
#include "Vlpp.h"
#include "VlppOS.h"
#include "VlppRegex.h"
/***********************************************************************
@@ -53,9 +53,10 @@ Instruction
Duplicate, // count : () -> Value ; copy stack[stack.Count()-1-count]
Pop, // : Value -> () ;
Return, // : Value -> Value ; (exit function)
CreateArray, // count : Value-count, ..., Value-1 -> <array> ; {1 2 3} -> <3 2 1>
CreateObservableList, // count : Value-count, ..., Value-1 -> <observable-list> ; {1 2 3} -> <3 2 1>
CreateMap, // count : Value-count*2, ..., Value-1 -> <map> ; {1:2 3:4} -> <3 4 1 2>
NewArray, // count : Value-count, ..., Value-1 -> <array> ; {1 2 3} -> <3 2 1>
NewList, // count : Value-count, ..., Value-1 -> <array> ; {1 2 3} -> <3 2 1>
NewObservableList, // count : Value-count, ..., Value-1 -> <observable-list> ; {1 2 3} -> <3 2 1>
NewDictionary, // count : Value-count*2, ..., Value-1 -> <map> ; {1:2 3:4} -> <3 4 1 2>
CreateClosureContext, // count : Value-1, ..., Value-count -> <closure-context> ;
CreateClosure, // : <closure-context>, Value-function-index -> <closure> ;
CreateInterface, // IMethodInfo*, count : <closure-context>, Value-count, ..., Value-1 -> <map> ; {"Get":a "Set":b} -> new TInterface(InterfaceProxy^)
@@ -126,9 +127,10 @@ Instruction
APPLY_COUNT(Duplicate)\
APPLY(Pop)\
APPLY(Return)\
APPLY_COUNT(CreateArray)\
APPLY_COUNT(CreateObservableList)\
APPLY_COUNT(CreateMap)\
APPLY_COUNT(NewArray)\
APPLY_COUNT(NewList)\
APPLY_COUNT(NewObservableList)\
APPLY_COUNT(NewDictionary)\
APPLY_COUNT(CreateClosureContext)\
APPLY(CreateClosure)\
APPLY_METHOD_COUNT(CreateInterface)\
@@ -1815,7 +1817,7 @@ Helper Functions
{
auto proxy = LoadFunction(context, name);
Func<TFunction> function;
reflection::description::UnboxParameter<Func<TFunction>>(reflection::description::Value::From(proxy), function);
reflection::description::UnboxParameter(reflection::description::Value::From(proxy), function);
return function;
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.