Update release (TextEditor and BlackSkin breaks)

This commit is contained in:
vczh
2016-04-10 14:35:47 -07:00
parent 0e57847bc8
commit 79e7704184
33 changed files with 2710 additions and 725 deletions
+58 -6
View File
@@ -13635,7 +13635,7 @@ ParsingMultiplePrintNodeRecorder
}
/***********************************************************************
ParsingEmptyPrintNodeRecorder
ParsingOriginalLocationRecorder
***********************************************************************/
ParsingOriginalLocationRecorder::ParsingOriginalLocationRecorder(Ptr<IParsingPrintNodeRecorder> _recorder)
@@ -13655,7 +13655,7 @@ ParsingEmptyPrintNodeRecorder
}
/***********************************************************************
ParsingEmptyPrintNodeRecorder
ParsingGeneratedLocationRecorder
***********************************************************************/
ParsingGeneratedLocationRecorder::ParsingGeneratedLocationRecorder(RangeMap& _rangeMap)
@@ -13672,6 +13672,23 @@ ParsingEmptyPrintNodeRecorder
rangeMap.Add(node, range);
}
/***********************************************************************
ParsingUpdateLocationRecorder
***********************************************************************/
ParsingUpdateLocationRecorder::ParsingUpdateLocationRecorder()
{
}
ParsingUpdateLocationRecorder::~ParsingUpdateLocationRecorder()
{
}
void ParsingUpdateLocationRecorder::Record(ParsingTreeCustomBase* node, const ParsingTextRange& range)
{
node->codeRange = range;
}
/***********************************************************************
ParsingWriter
***********************************************************************/
@@ -15582,6 +15599,7 @@ DescriptableObject
InitializeAggregation(0);
}
aggregationInfo[aggregationSize] = value;
aggregationInfo[aggregationSize + 1] = value;
for (vint i = 0; i < aggregationSize; i++)
{
if (aggregationInfo[i])
@@ -15629,8 +15647,32 @@ DescriptableObject
CHECK_ERROR(!IsAggregated(), L"vl::reflection::DescriptableObject::InitializeAggregation(vint)#This function should not be called on aggregated objects.");
CHECK_ERROR(size >= 0, L"vl::reflection::DescriptableObject::InitializeAggregation(vint)#Size shout not be negative.");
aggregationSize = size;
aggregationInfo = new DescriptableObject*[size + 1];
memset(aggregationInfo, 0, sizeof(*aggregationInfo) * (size + 1));
aggregationInfo = new DescriptableObject*[size + 2];
memset(aggregationInfo, 0, sizeof(*aggregationInfo) * (size + 2));
}
void DescriptableObject::FinalizeAggregation()
{
if (IsAggregated())
{
if (auto root = GetAggregationRoot())
{
if (aggregationInfo[aggregationSize + 1] == nullptr)
{
return;
}
else
{
aggregationInfo[aggregationSize + 1] = nullptr;
}
if (!root->destructing)
{
destructing = true;
delete root;
}
}
}
}
DescriptableObject::DescriptableObject()
@@ -15651,9 +15693,9 @@ DescriptableObject
{
if (auto root = GetAggregationRoot())
{
if (!root->destructing)
if (aggregationInfo[aggregationSize + 1] != nullptr)
{
delete root;
CHECK_ERROR(!IsAggregated(), L"vl::reflection::DescriptableObject::~DescriptableObject0()#FinalizeAggregation function should be called.");
}
}
for (vint i = 0; i < aggregationSize; i++)
@@ -17434,6 +17476,11 @@ TypeDescriptorImpl
return typeDescriptorFlags;
}
bool TypeDescriptorImpl::IsAggregatable()
{
return false;
}
const WString& TypeDescriptorImpl::GetTypeName()
{
return typeName;
@@ -17736,6 +17783,11 @@ SerializableTypeDescriptorBase
return typeDescriptorFlags;
}
bool SerializableTypeDescriptorBase::IsAggregatable()
{
return false;
}
const WString& SerializableTypeDescriptorBase::GetTypeName()
{
return typeName;