Formatting

This commit is contained in:
Marc Hernandez 2024-04-28 17:31:24 -07:00
parent dcd15a2663
commit c18c106b72
4 changed files with 391 additions and 400 deletions

View File

@ -11,7 +11,10 @@
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>preview</LangVersion> <LangVersion>preview</LangVersion>
</PropertyGroup>
<PropertyGroup>
<NoWarn>$(NoWarn);SYSLIB0050</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -53,26 +53,12 @@ namespace lib
#region SaveLoad #region SaveLoad
/*
static public res.Ref<Config> res_load( string filename )
{
return new res.Ref<Config>( filename, load( filename ) );
}
*/
static public T res_load<T>( string filename ) where T : Config static public T res_load<T>( string filename ) where T : Config
{ {
return load<T>( filename ); return load<T>( filename );
} }
/*
static public ResRefConfig res_load( string filename, Type t )
{
return new ResRefConfig( filename, load( filename, t ) );
}
*/
static public Config load( string filename ) static public Config load( string filename )
{ {
return load( filename, null ); return load( filename, null );

View File

@ -23,16 +23,17 @@ namespace res
[Serializable] [Serializable]
public class Ref : lib.I_Serialize public class Ref : lib.I_Serialize
{ {
public string filename { get { return m_filename; } } public string Filename =>_filename;
//For construction //For construction
public Ref() public Ref()
{ {
_filename = "{UNSET_CONS}";
} }
public Ref( string filename ) public Ref( string filename )
{ {
m_filename = filename; _filename = filename;
} }
virtual public void OnSerialize() virtual public void OnSerialize()
@ -52,13 +53,13 @@ namespace res
} }
protected string m_filename; protected string _filename = "{UNSET_INLINE}";
} }
[Serializable] [Serializable]
public class Ref<T> : Ref where T : class public class Ref<T> : Ref where T : class
{ {
public T res => m_res != null ? m_res : (m_res = Mgr.load<T>( filename )); public T res => m_res != null ? m_res : ( m_res = Mgr.load<T>( Filename ) );
//For serialization //For serialization
public Ref() public Ref()
@ -82,7 +83,7 @@ namespace res
override internal void load() override internal void load()
{ {
m_res = Mgr.load<T>( filename ); m_res = Mgr.load<T>( Filename );
} }
@ -184,20 +185,21 @@ namespace res
{ {
foreach( var t in ass.GetTypes() ) foreach( var t in ass.GetTypes() )
{ {
if( !baseType.IsAssignableFrom( t ) ) continue; if( !baseType.IsAssignableFrom( t ) )
continue;
log.debug( $"Making a lodaer for {t.Name}" ); log.debug( $"Making a lodaer for {t.Name}" );
typeParams[0] = t; typeParams[0] = t;
var mi_ng = mi.MakeGenericMethod( typeParams ); var mi_ng = mi.MakeGenericMethod( typeParams );
var loadGenType = typeof(Load<>); var loadGenType = typeof( Load<> );
var loadType = loadGenType.MakeGenericType( t ); var loadType = loadGenType.MakeGenericType( t );
var loader = Delegate.CreateDelegate( loadType, mi_ng ); var loader = Delegate.CreateDelegate( loadType, mi_ng );
var lhGenType = typeof(LoadHolder<>); var lhGenType = typeof( LoadHolder<> );
var lhType = lhGenType.MakeGenericType( t ); var lhType = lhGenType.MakeGenericType( t );
@ -326,7 +328,7 @@ namespace res
static object s_loadingLock = new object(); static object s_loadingLock = new object();
static ImmutableDictionary< string, AutoResetEvent > s_loading = ImmutableDictionary< string, AutoResetEvent >.Empty; static ImmutableDictionary<string, AutoResetEvent> s_loading = ImmutableDictionary<string, AutoResetEvent>.Empty;
static ImmDefLoad s_deferredLoad = ImmDefLoad.Empty; static ImmDefLoad s_deferredLoad = ImmDefLoad.Empty;

View File

@ -175,7 +175,7 @@ namespace lib
} }
#region Deserialize #region Deserialize
private static FormatterConverter s_conv = new FormatterConverter(); private static FormatterConverter s_conv = new();
public object Deserialize( Stream stream ) public object Deserialize( Stream stream )
@ -188,7 +188,7 @@ namespace lib
public object DeserializeKnownType( Stream stream, Type t ) public object DeserializeKnownType( Stream stream, Type t )
{ {
XmlTextReader reader = new XmlTextReader( stream ); XmlTextReader reader = new( stream );
object obj = Deserialize( reader, t ); object obj = Deserialize( reader, t );
@ -262,7 +262,7 @@ namespace lib
private object Deserialize( XmlElement elem, MemberInfo mi, Type type, object existing /*, object enclosing = null*/ ) private object Deserialize( XmlElement elem, MemberInfo mi, Type type, object existing /*, object enclosing = null*/ )
{ {
string name = mi?.Name ?? "{NOT_FOUND}"; var name = mi?.Name ?? "{NOT_FOUND}";
return Deserialize( elem, mi, type, name, existing ); return Deserialize( elem, mi, type, name, existing );
} }
@ -312,17 +312,17 @@ namespace lib
return existing; return existing;
} }
Type[] mm_types = new Type[1];
private object GetDefault( Type t ) private object GetDefault( Type t )
{ {
mm_types[0] = t; var types = new Type[1];
types[0] = t;
var fn = GetType().GetMethod( "GetDefaultGeneric" ).MakeGenericMethod( mm_types ); var fn = GetType().GetMethod( "GetDefaultGeneric" ).MakeGenericMethod( types );
return fn.Invoke( this, null ); return fn.Invoke( this, null );
} }
public T GetDefaultGeneric<T>() static public T GetDefaultGeneric<T>()
{ {
return default( T ); return default( T );
} }
@ -436,9 +436,9 @@ namespace lib
{ {
var node = objNode as XmlElement; var node = objNode as XmlElement;
String name = node.Name; string name = node.Name;
String childType = node.GetAttribute( "_.t" ); string childType = node.GetAttribute( "_.t" );
name = refl.TypeToIdentifier( name ); name = refl.TypeToIdentifier( name );
@ -455,7 +455,7 @@ namespace lib
//object objUn = FormatterServices.GetSafeUninitializedObject( finalType ); //object objUn = FormatterServices.GetSafeUninitializedObject( finalType );
IDeserializationCallback objUnOnDeser = obj as IDeserializationCallback; var objUnOnDeser = obj as IDeserializationCallback;
mm_consType[0] = typeof( SerializationInfo ); mm_consType[0] = typeof( SerializationInfo );
mm_consType[1] = typeof( StreamingContext ); mm_consType[1] = typeof( StreamingContext );
@ -479,7 +479,7 @@ namespace lib
foreach( var serMember in serInfo ) foreach( var serMember in serInfo )
{ {
String name = serMember.Name; string name = serMember.Name;
name = refl.TypeToIdentifier( name ); name = refl.TypeToIdentifier( name );
@ -512,7 +512,7 @@ namespace lib
foreach( FieldInfo childFi in fields ) foreach( FieldInfo childFi in fields )
{ {
String name = childFi.Name; string name = childFi.Name;
var dontAtt = childFi.GetCustomAttributes<lib.Dont>(); var dontAtt = childFi.GetCustomAttributes<lib.Dont>();
@ -581,7 +581,7 @@ namespace lib
foreach( var childPi in props ) foreach( var childPi in props )
{ {
String name = childPi.Name; string name = childPi.Name;
var dontAtt = childPi.GetCustomAttributes<lib.Dont>(); var dontAtt = childPi.GetCustomAttributes<lib.Dont>();
if( dontAtt.Any() ) if( dontAtt.Any() )
{ {
@ -1155,7 +1155,7 @@ namespace lib
foreach( var serMember in serInfo ) foreach( var serMember in serInfo )
{ {
String name = serMember.Name; string name = serMember.Name;
name = refl.TypeToIdentifier( name ); name = refl.TypeToIdentifier( name );
@ -1206,7 +1206,7 @@ namespace lib
foreach( var childFi in fields ) foreach( var childFi in fields )
{ {
String name = childFi.Name; string name = childFi.Name;
var dontAtt = childFi.GetCustomAttributes<lib.Dont>(); var dontAtt = childFi.GetCustomAttributes<lib.Dont>();
string propName = ""; string propName = "";
@ -1255,7 +1255,7 @@ namespace lib
foreach( var childPi in props ) foreach( var childPi in props )
{ {
String name = childPi.Name; string name = childPi.Name;
var dontAtt = childPi.GetCustomAttributes<lib.Dont>(); var dontAtt = childPi.GetCustomAttributes<lib.Dont>();
if( dontAtt.Any() ) if( dontAtt.Any() )