Skip to content

Commit

Permalink
Merge pull request #433 from ToddGrun/dev/toddgrun/RemoveHasFlagUsage
Browse files Browse the repository at this point in the history
Remove HasFlag usage as it's particularly slow on netfx
  • Loading branch information
AArnott committed Nov 30, 2023
2 parents 92c50df + cbfdaa1 commit d1f52ba
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ private ImportDefinitionBinding CreateImport(ParameterInfo parameter)
{
if (result.ContainsKey(property.Name))
{
string memberName = member.MemberType.HasFlag(MemberTypes.TypeInfo) || member.MemberType.HasFlag(MemberTypes.NestedType)
string memberName = (member.MemberType & (MemberTypes.TypeInfo | MemberTypes.NestedType)) != 0
? ((TypeInfo)member).FullName!
: $"{member.DeclaringType?.FullName}.{member.Name}";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,14 +281,14 @@ private RuntimeComposition.RuntimeImport ReadRuntimeImport()
{
var flags = (RuntimeImportFlags)this.reader!.ReadByte();
var cardinality =
flags.HasFlag(RuntimeImportFlags.CardinalityOneOrZero) ? ImportCardinality.OneOrZero :
flags.HasFlag(RuntimeImportFlags.CardinalityExactlyOne) ? ImportCardinality.ExactlyOne :
(flags & RuntimeImportFlags.CardinalityOneOrZero) == RuntimeImportFlags.CardinalityOneOrZero ? ImportCardinality.OneOrZero :
(flags & RuntimeImportFlags.CardinalityExactlyOne) == RuntimeImportFlags.CardinalityExactlyOne ? ImportCardinality.ExactlyOne :
ImportCardinality.ZeroOrMore;
bool isExportFactory = flags.HasFlag(RuntimeImportFlags.IsExportFactory);
bool isExportFactory = (flags & RuntimeImportFlags.IsExportFactory) == RuntimeImportFlags.IsExportFactory;

MemberRef? importingMember = default(MemberRef);
ParameterRef? importingParameter = default(ParameterRef);
if (flags.HasFlag(RuntimeImportFlags.IsParameter))
if ((flags & RuntimeImportFlags.IsParameter) == RuntimeImportFlags.IsParameter)
{
importingParameter = this.ReadParameterRef();
}
Expand All @@ -313,7 +313,7 @@ private RuntimeComposition.RuntimeImport ReadRuntimeImport()
importingSiteTypeWithoutCollectionRef,
cardinality,
satisfyingExports!,
flags.HasFlag(RuntimeImportFlags.IsNonSharedInstanceRequired),
(flags & RuntimeImportFlags.IsNonSharedInstanceRequired) == RuntimeImportFlags.IsNonSharedInstanceRequired,
isExportFactory,
metadata,
exportFactorySharingBoundaries!)
Expand All @@ -323,7 +323,7 @@ private RuntimeComposition.RuntimeImport ReadRuntimeImport()
importingSiteTypeWithoutCollectionRef,
cardinality,
satisfyingExports!,
flags.HasFlag(RuntimeImportFlags.IsNonSharedInstanceRequired),
(flags & RuntimeImportFlags.IsNonSharedInstanceRequired) == RuntimeImportFlags.IsNonSharedInstanceRequired,
isExportFactory,
metadata,
exportFactorySharingBoundaries!);
Expand Down

0 comments on commit d1f52ba

Please sign in to comment.