Update release

This commit is contained in:
vczh
2016-01-13 23:16:06 -08:00
parent 1053cb526f
commit b4846b38d6
9 changed files with 89 additions and 27 deletions

View File

@@ -43013,7 +43013,7 @@ GuiResourceNodeBase
auto current = parent;
while (current && current->GetParent())
{
resourcePath = parent->GetName() + L"/" + resourcePath;
resourcePath = current->GetName() + L"/" + resourcePath;
current = current->GetParent();
}
return resourcePath;

View File

@@ -613,9 +613,35 @@ GuiDefaultInstanceLoader
}
}
break;
case GuiInstancePropertyInfo::SupportAssign:
case GuiInstancePropertyInfo::SupportArray:
{
{
auto refArray = MakePtr<WfConstructorExpression>();
FOREACH(ArgumentInfo, item, arguments.GetByIndex(index))
{
auto argument = MakePtr<WfConstructorArgument>();
argument->key = item.expression;
refArray->arguments.Add(argument);
}
auto refValue = MakePtr<WfReferenceExpression>();
refValue->name.value = variableName.ToString();
auto refProp = MakePtr<WfMemberExpression>();
refProp->parent = refValue;
refProp->name.value = prop.ToString();
auto assign = MakePtr<WfBinaryExpression>();
assign->op = WfBinaryOperator::Assign;
assign->first = refProp;
assign->second = refArray;
auto stat = MakePtr<WfExpressionStatement>();
stat->expression = assign;
block->statements.Add(stat);
}
break;
case GuiInstancePropertyInfo::SupportAssign:
{
auto refValue = MakePtr<WfReferenceExpression>();
refValue->name.value = variableName.ToString();
@@ -3275,6 +3301,7 @@ GuiDocumentViewerInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -3318,7 +3345,7 @@ GuiDocumentViewerInstanceLoader
{
return block;
}
return nullptr;
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
};
#undef BASE_TYPE
@@ -3339,6 +3366,7 @@ GuiDocumentLabelInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -3382,7 +3410,7 @@ GuiDocumentLabelInstanceLoader
{
return block;
}
return nullptr;
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
};
#undef BASE_TYPE
@@ -3674,6 +3702,7 @@ GuiListViewInstanceLoader
propertyNames.Add(_View);
propertyNames.Add(_IconSize);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const typename BASE_TYPE::PropertyInfo& propertyInfo)override
@@ -3690,7 +3719,7 @@ GuiListViewInstanceLoader
info->scope = GuiInstancePropertyInfo::Constructor;
return info;
}
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
return BASE_TYPE::GetPropertyType(propertyInfo);
}
};
#undef BASE_TYPE
@@ -3721,11 +3750,11 @@ GuiListViewInstanceLoader
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
if (typeInfo.typeName == GetTypeName())
{
propertyNames.Add(_ItemSource);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -3808,6 +3837,7 @@ GuiTreeViewInstanceLoader
{
propertyNames.Add(_Nodes);
}
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
void GetConstructorParameters(const typename BASE_TYPE::TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
@@ -3817,6 +3847,7 @@ GuiTreeViewInstanceLoader
propertyNames.Add(_Nodes);
propertyNames.Add(_IconSize);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const typename BASE_TYPE::PropertyInfo& propertyInfo)override
@@ -3834,7 +3865,7 @@ GuiTreeViewInstanceLoader
info->scope = GuiInstancePropertyInfo::Constructor;
return info;
}
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
return BASE_TYPE::GetPropertyType(propertyInfo);
}
Ptr<workflow::WfStatement> AssignParameters(const typename BASE_TYPE::TypeInfo& typeInfo, GlobalStringKey variableName, typename BASE_TYPE::ArgumentMap& arguments, collections::List<WString>& errors)override
@@ -3874,7 +3905,7 @@ GuiTreeViewInstanceLoader
{
return block;
}
return nullptr;
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
};
#undef BASE_TYPE
@@ -3905,11 +3936,11 @@ GuiTreeViewInstanceLoader
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
if (typeInfo.typeName == GetTypeName())
{
propertyNames.Add(_ItemSource);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -3966,6 +3997,7 @@ GuiBindableTextListInstanceLoader
{
propertyNames.Add(_ItemSource);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -3977,7 +4009,7 @@ GuiBindableTextListInstanceLoader
info->required = true;
return info;
}
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
return BASE_TYPE::GetPropertyType(propertyInfo);
}
};
#undef BASE_TYPE
@@ -4187,6 +4219,7 @@ GuiBindableDataGridInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(_Columns);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
@@ -4196,6 +4229,7 @@ GuiBindableDataGridInstanceLoader
propertyNames.Add(_ItemSource);
propertyNames.Add(_ViewModelContext);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -4219,7 +4253,7 @@ GuiBindableDataGridInstanceLoader
info->bindable = true;
return info;
}
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
return BASE_TYPE::GetPropertyType(propertyInfo);
}
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
@@ -4251,7 +4285,7 @@ GuiBindableDataGridInstanceLoader
{
return block;
}
return nullptr;
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
};
#undef BASE_TYPE
@@ -4641,12 +4675,13 @@ GuiComboBoxInstanceLoader
_ListControl = GlobalStringKey::Get(L"ListControl");
}
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
if (typeInfo.typeName == GetTypeName())
{
propertyNames.Add(_ListControl);
}
BASE_TYPE::GetConstructorParameters(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -4658,7 +4693,7 @@ GuiComboBoxInstanceLoader
info->required = true;
return info;
}
return IGuiInstanceLoader::GetPropertyType(propertyInfo);
return BASE_TYPE::GetPropertyType(propertyInfo);
}
};
#undef BASE_TYPE
@@ -4866,6 +4901,7 @@ GuiTabInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -4923,7 +4959,7 @@ GuiTabInstanceLoader
{
return block;
}
return nullptr;
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
};
#undef BASE_TYPE
@@ -5122,6 +5158,7 @@ GuiToolstripMenuInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -5135,7 +5172,14 @@ GuiToolstripMenuInstanceLoader
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
{
return AddControlToToolstrip(variableName, arguments, errors);
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
{
return statement;
}
else
{
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
}
};
#undef BASE_TYPE
@@ -5156,6 +5200,7 @@ GuiToolstripMenuBarInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -5169,7 +5214,14 @@ GuiToolstripMenuBarInstanceLoader
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
{
return AddControlToToolstrip(variableName, arguments, errors);
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
{
return statement;
}
else
{
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
}
};
#undef BASE_TYPE
@@ -5190,6 +5242,7 @@ GuiToolstripToolBarInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(GlobalStringKey::Empty);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -5203,7 +5256,14 @@ GuiToolstripToolBarInstanceLoader
Ptr<workflow::WfStatement> AssignParameters(const TypeInfo& typeInfo, GlobalStringKey variableName, ArgumentMap& arguments, collections::List<WString>& errors)override
{
return AddControlToToolstrip(variableName, arguments, errors);
if (auto statement = AddControlToToolstrip(variableName, arguments, errors))
{
return statement;
}
else
{
return BASE_TYPE::AssignParameters(typeInfo, variableName, arguments, errors);
}
}
};
#undef BASE_TYPE
@@ -5228,6 +5288,7 @@ GuiToolstripButtonInstanceLoader
void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)override
{
propertyNames.Add(_SubMenu);
BASE_TYPE::GetPropertyNames(typeInfo, propertyNames);
}
Ptr<GuiInstancePropertyInfo> GetPropertyType(const PropertyInfo& propertyInfo)override
@@ -5255,7 +5316,7 @@ GuiToolstripButtonInstanceLoader
return call;
}
return nullptr;
return BASE_TYPE::GetParameter(propertyInfo, variableName, errors);
}
};
#undef BASE_TYPE
@@ -10274,6 +10335,7 @@ Workflow_PrecompileInstanceContext
Ptr<workflow::runtime::WfAssembly> Workflow_PrecompileInstanceContext(Ptr<GuiInstanceContext> context, types::ErrorList& errors)
{
vint previousErrorCount = errors.Count();
ITypeDescriptor* rootTypeDescriptor = 0;
if (context->className == L"")
{
@@ -10289,7 +10351,7 @@ Workflow_PrecompileInstanceContext
types::ResolvingResult resolvingResult;
rootTypeDescriptor = Workflow_CollectReferences(context, resolvingResult, errors);
if (errors.Count() == 0)
if (errors.Count() == previousErrorCount)
{
auto statements = MakePtr<WfBlockStatement>();
Workflow_GenerateCreating(context, resolvingResult, rootTypeDescriptor, statements, errors);

View File

@@ -3940,7 +3940,7 @@ GuiVrtualTypeInstanceLoader
auto funcCreateTemplate = MakePtr<WfFunctionDeclaration>();
funcCreateTemplate->anonymity = WfFunctionAnonymity::Named;
funcCreateTemplate->name.value = L"CreateTemplate";
funcCreateTemplate->returnType = GetTypeFromTypeInfo(templateType.Obj());
funcCreateTemplate->returnType = GetTypeFromTypeInfo(TypeInfoRetriver<GuiTemplate*>::CreateTypeInfo().Obj());
auto argViewModel = MakePtr<WfFunctionArgument>();
argViewModel->type = GetTypeFromTypeInfo(TypeInfoRetriver<Value>::CreateTypeInfo().Obj());
@@ -4078,7 +4078,7 @@ GuiVrtualTypeInstanceLoader
}
auto controlTemplateName = controlTemplateNameExpr->value.value;
if (wcschr(controlTemplateName.Buffer(), L';') == nullptr)
if (wcschr(controlTemplateName.Buffer(), L';') != nullptr)
{
errors.Add(L"Precompile: \"" + controlTemplateNameExpr->value.value + L"\", which is assigned to contructor parameter \"" + GlobalStringKey::_ControlTemplate.ToString() + L" of type \"" + controlTypeInfo.typeName.ToString() + L"\", is illegal because control template should not have multiple choices.");
return nullptr;

View File

@@ -12499,10 +12499,10 @@ Print (Declaration)
switch (node->kind)
{
case WfClassKind::Class:
writer.WriteString(L"class ");
writer.WriteString(indent + L"class ");
break;
case WfClassKind::Interface:
writer.WriteString(L"interface ");
writer.WriteString(indent + L"interface ");
break;
}
writer.WriteString(node->name.value);
@@ -12521,7 +12521,7 @@ Print (Declaration)
}
writer.WriteLine(L"");
writer.WriteLine(L"{");
writer.WriteLine(indent + L"{");
FOREACH_INDEXER(Ptr<WfClassMember>, member, index, node->members)
{
@@ -12543,7 +12543,7 @@ Print (Declaration)
writer.WriteLine(L"");
}
writer.WriteString(L"}");
writer.WriteLine(indent + L"}");
writer.AfterPrint(node);
}
};

Binary file not shown.

Binary file not shown.