Browse Source

Highlight constructors the same way as types

pull/2906/head
Lucas Trzesniewski 2 years ago
parent
commit
7221b6cc64
  1. 64
      ILSpy/Languages/CSharpHighlightingTokenWriter.cs

64
ILSpy/Languages/CSharpHighlightingTokenWriter.cs

@ -384,24 +384,7 @@ namespace ICSharpCode.ILSpy @@ -384,24 +384,7 @@ namespace ICSharpCode.ILSpy
switch (GetCurrentDefinition())
{
case ITypeDefinition t:
switch (t.Kind)
{
case TypeKind.Delegate:
color = delegateTypeColor;
break;
case TypeKind.Class:
color = referenceTypeColor;
break;
case TypeKind.Interface:
color = interfaceTypeColor;
break;
case TypeKind.Enum:
color = enumerationTypeColor;
break;
case TypeKind.Struct:
color = valueTypeColor;
break;
}
ApplyTypeColor(t, ref color);
break;
case IMethod:
color = methodDeclarationColor;
@ -419,27 +402,12 @@ namespace ICSharpCode.ILSpy @@ -419,27 +402,12 @@ namespace ICSharpCode.ILSpy
switch (GetCurrentMemberReference())
{
case IType t:
switch (t.Kind)
{
case TypeKind.Delegate:
color = delegateTypeColor;
break;
case TypeKind.Class:
color = referenceTypeColor;
break;
case TypeKind.Interface:
color = interfaceTypeColor;
break;
case TypeKind.Enum:
color = enumerationTypeColor;
break;
case TypeKind.Struct:
color = valueTypeColor;
break;
}
ApplyTypeColor(t, ref color);
break;
case IMethod:
case IMethod m:
color = methodCallColor;
if (m.IsConstructor)
ApplyTypeColor(m.DeclaringType, ref color);
break;
case IField:
color = fieldAccessColor;
@ -462,6 +430,28 @@ namespace ICSharpCode.ILSpy @@ -462,6 +430,28 @@ namespace ICSharpCode.ILSpy
}
}
void ApplyTypeColor(IType type, ref HighlightingColor color)
{
switch (type?.Kind)
{
case TypeKind.Delegate:
color = delegateTypeColor;
break;
case TypeKind.Class:
color = referenceTypeColor;
break;
case TypeKind.Interface:
color = interfaceTypeColor;
break;
case TypeKind.Enum:
color = enumerationTypeColor;
break;
case TypeKind.Struct:
color = valueTypeColor;
break;
}
}
public override void WritePrimitiveValue(object value, Decompiler.CSharp.Syntax.LiteralFormat format)
{
HighlightingColor color = null;

Loading…
Cancel
Save