Skip to content

Commit 079c26f

Browse files
authored
Fix minimization of return types with arrays (#82)
***UPDATE_DEPENDENTS***
1 parent 1ee8287 commit 079c26f

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

source/MetadataProcessor.Core/nanoAssemblyBuilder.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,13 @@ private HashSet<MetadataToken> BuildDependencyList(MetadataToken token)
433433
}
434434
else
435435
{
436-
set.Add(fr.DeclaringType.MetadataToken);
436+
if ( fr.FieldType.FullName != "System.Void" &&
437+
fr.FieldType.FullName != "System.String" &&
438+
fr.FieldType.FullName != "System.Object" &&
439+
!fr.FieldType.IsPrimitive)
440+
{
441+
set.Add(fr.FieldType.MetadataToken);
442+
}
437443
}
438444
}
439445
else if (!fr.FieldType.IsPrimitive &&
@@ -537,7 +543,13 @@ private HashSet<MetadataToken> BuildDependencyList(MetadataToken token)
537543
}
538544
else
539545
{
540-
set.Add(fd.DeclaringType.MetadataToken);
546+
if (fd.FieldType.GetElementType().FullName != "System.Void" &&
547+
fd.FieldType.GetElementType().FullName != "System.String" &&
548+
fd.FieldType.GetElementType().FullName != "System.Object" &&
549+
!fd.FieldType.GetElementType().IsPrimitive)
550+
{
551+
set.Add(fd.FieldType.GetElementType().MetadataToken);
552+
}
541553
}
542554
}
543555
else if (!fd.FieldType.IsValueType &&
@@ -578,7 +590,13 @@ private HashSet<MetadataToken> BuildDependencyList(MetadataToken token)
578590
}
579591
else
580592
{
581-
set.Add(md.DeclaringType.MetadataToken);
593+
if (md.ReturnType.GetElementType().FullName != "System.Void" &&
594+
md.ReturnType.GetElementType().FullName != "System.String" &&
595+
md.ReturnType.GetElementType().FullName != "System.Object" &&
596+
!md.ReturnType.GetElementType().IsPrimitive)
597+
{
598+
set.Add(md.ReturnType.GetElementType().MetadataToken);
599+
}
582600
}
583601
}
584602
else if (!md.ReturnType.IsValueType &&

0 commit comments

Comments
 (0)