Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Rename things
  • Loading branch information
jasper-d committed Aug 16, 2022
commit 78c3e9d2b190947aa286bdd2b25c57a0d8cddd6f
Original file line number Diff line number Diff line change
Expand Up @@ -185,22 +185,21 @@ private void EmitMethodParameters(MethodSignature methodSignature)
/// <param name="methodHandle">Method handle to use for parameter formatting</param>
private void EmitMethodParameters(MethodHandle methodHandle)
{
bool EnumerateParameters(ref ParameterHandleCollection.Enumerator enumerator, out Parameter parameter)
bool TryGetNextParameter(ref ParameterHandleCollection.Enumerator enumerator, out Parameter parameter)
{
bool hasNext = enumerator.MoveNext();
parameter = hasNext ? enumerator.Current.GetParameter(_metadataReader) : default;

return hasNext;
}

Method method = methodHandle.GetMethod(_metadataReader);
HandleCollection typeVector = method.Signature.GetMethodSignature(_metadataReader).Parameters;
ParameterHandleCollection.Enumerator parameters = method.Parameters.GetEnumerator();

bool hasNext = EnumerateParameters(ref parameters, out Parameter parameter);
if (hasNext && parameter.Sequence == 0)
bool hasParameter = TryGetNextParameter(ref parameters, out Parameter parameter);
if (hasParameter && parameter.Sequence == 0)
{
hasNext = EnumerateParameters(ref parameters, out parameter);
hasParameter = TryGetNextParameter(ref parameters, out parameter);
}

_outputBuilder.Append('(');
Expand All @@ -215,10 +214,10 @@ bool EnumerateParameters(ref ParameterHandleCollection.Enumerator enumerator, ou

EmitTypeName(type, namespaceQualified: false);

if (++typeIndex == parameter.Sequence && hasNext)
if (++typeIndex == parameter.Sequence && hasParameter)
{
string name = parameter.Name.GetConstantStringValue(_metadataReader).Value;
hasNext = EnumerateParameters(ref parameters, out parameter);
hasParameter = TryGetNextParameter(ref parameters, out parameter);

if (!string.IsNullOrEmpty(name))
{
Expand Down