Update release

This commit is contained in:
vczh
2016-04-11 03:15:20 -07:00
parent 032a0a01b4
commit d6fb4eef83
12 changed files with 23 additions and 0 deletions
+21
View File
@@ -184,6 +184,10 @@ GuiInstancePropertyInfo
IGuiInstanceLoader IGuiInstanceLoader
***********************************************************************/ ***********************************************************************/
void IGuiInstanceLoader::ClearReflectionCache()
{
}
void IGuiInstanceLoader::GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames) void IGuiInstanceLoader::GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)
{ {
} }
@@ -367,6 +371,13 @@ GuiDefaultInstanceLoader
return GlobalStringKey::Empty; return GlobalStringKey::Empty;
} }
void ClearReflectionCache()
{
propertyTypes.Clear();
defaultConstructors.Clear();
instanceConstructors.Clear();
}
//*********************************************************************************** //***********************************************************************************
void ProcessGenericType(ITypeInfo* propType, ITypeInfo*& genericType, ITypeInfo*& elementType, bool& readableList, bool& writableList, bool& collectionType) void ProcessGenericType(ITypeInfo* propType, ITypeInfo*& genericType, ITypeInfo*& elementType, bool& readableList, bool& writableList, bool& collectionType)
@@ -1033,6 +1044,15 @@ GuiInstanceLoaderManager
} }
return GlobalStringKey::Empty; return GlobalStringKey::Empty;
} }
void ClearReflectionCache()
{
rootLoader->ClearReflectionCache();
FOREACH(Ptr<VirtualTypeInfo>, info, typeInfos.Values())
{
info->loader->ClearReflectionCache();
}
}
}; };
GUI_REGISTER_PLUGIN(GuiInstanceLoaderManager) GUI_REGISTER_PLUGIN(GuiInstanceLoaderManager)
} }
@@ -1643,6 +1663,7 @@ Instance Type Resolver (Instance)
{ {
Workflow_GenerateAssembly(compiled, path, errors); Workflow_GenerateAssembly(compiled, path, errors);
} }
GetInstanceLoaderManager()->ClearReflectionCache();
} }
#undef DELETE_ASSEMBLY #undef DELETE_ASSEMBLY
+2
View File
@@ -521,6 +521,7 @@ Instance Loader
typedef collections::Group<GlobalStringKey, ArgumentInfo> ArgumentMap; typedef collections::Group<GlobalStringKey, ArgumentInfo> ArgumentMap;
virtual GlobalStringKey GetTypeName() = 0; virtual GlobalStringKey GetTypeName() = 0;
virtual void ClearReflectionCache();
virtual void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames); virtual void GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
virtual void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames); virtual void GetConstructorParameters(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames);
@@ -573,6 +574,7 @@ Instance Loader Manager
virtual description::ITypeDescriptor* GetTypeDescriptorForType(GlobalStringKey typeName) = 0; virtual description::ITypeDescriptor* GetTypeDescriptorForType(GlobalStringKey typeName) = 0;
virtual void GetVirtualTypes(collections::List<GlobalStringKey>& typeNames) = 0; virtual void GetVirtualTypes(collections::List<GlobalStringKey>& typeNames) = 0;
virtual GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType) = 0; virtual GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType) = 0;
virtual void ClearReflectionCache() = 0;
}; };
extern IGuiInstanceLoaderManager* GetInstanceLoaderManager(); extern IGuiInstanceLoaderManager* GetInstanceLoaderManager();
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.
Binary file not shown.