mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-21 04:31:33 +08:00
Update release
This commit is contained in:
@@ -184,6 +184,10 @@ GuiInstancePropertyInfo
|
||||
IGuiInstanceLoader
|
||||
***********************************************************************/
|
||||
|
||||
void IGuiInstanceLoader::ClearReflectionCache()
|
||||
{
|
||||
}
|
||||
|
||||
void IGuiInstanceLoader::GetPropertyNames(const TypeInfo& typeInfo, collections::List<GlobalStringKey>& propertyNames)
|
||||
{
|
||||
}
|
||||
@@ -367,6 +371,13 @@ GuiDefaultInstanceLoader
|
||||
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)
|
||||
@@ -1033,6 +1044,15 @@ GuiInstanceLoaderManager
|
||||
}
|
||||
return GlobalStringKey::Empty;
|
||||
}
|
||||
|
||||
void ClearReflectionCache()
|
||||
{
|
||||
rootLoader->ClearReflectionCache();
|
||||
FOREACH(Ptr<VirtualTypeInfo>, info, typeInfos.Values())
|
||||
{
|
||||
info->loader->ClearReflectionCache();
|
||||
}
|
||||
}
|
||||
};
|
||||
GUI_REGISTER_PLUGIN(GuiInstanceLoaderManager)
|
||||
}
|
||||
@@ -1643,6 +1663,7 @@ Instance Type Resolver (Instance)
|
||||
{
|
||||
Workflow_GenerateAssembly(compiled, path, errors);
|
||||
}
|
||||
GetInstanceLoaderManager()->ClearReflectionCache();
|
||||
}
|
||||
|
||||
#undef DELETE_ASSEMBLY
|
||||
|
||||
@@ -521,6 +521,7 @@ Instance Loader
|
||||
typedef collections::Group<GlobalStringKey, ArgumentInfo> ArgumentMap;
|
||||
|
||||
virtual GlobalStringKey GetTypeName() = 0;
|
||||
virtual void ClearReflectionCache();
|
||||
|
||||
virtual void GetPropertyNames(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 void GetVirtualTypes(collections::List<GlobalStringKey>& typeNames) = 0;
|
||||
virtual GlobalStringKey GetParentTypeForVirtualType(GlobalStringKey virtualType) = 0;
|
||||
virtual void ClearReflectionCache() = 0;
|
||||
};
|
||||
|
||||
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.
Binary file not shown.
Reference in New Issue
Block a user