I've found that significant improvement could be applied to the ILSpy. Consider the following code:
Unfortunately, the base and this words near the constructors are not clickable. I'd expect to have them clickable and navigate to appropriate constructor.
I've found that this is because of the following code in the CSharpOutputVisitor.cs file:
public virtual void VisitConstructorInitializer(ConstructorInitializer constructorInitializer)
{
//.....
if (constructorInitializer.ConstructorInitializerType == ConstructorInitializerType.This) {
WriteKeyword(ConstructorInitializer.ThisKeywordRole);
} else {
WriteKeyword(ConstructorInitializer.BaseKeywordRole);
}
//.....
}
You write this and base as keywords, rather than as tokens. If we change that to WriteToken, they will become clickable and navigation will be hugely improved.
Could you please clarify whether that is an appropriate way to fix the issue and improve the navigation? If yes, I could create a PR. If not, please point me to the right direction.
P.S. I've also found that issue could be fixed in the TextTokenWriter.cs file in the ILSpy project. We could check if this is a special token and fix handle it as identifier. Is that more appropriate way?
Hi guys,
I've found that significant improvement could be applied to the ILSpy. Consider the following code:![image](https://cloud.githubusercontent.com/assets/1074182/17279785/9c74ae02-5786-11e6-800a-c2106e52acca.png)
Unfortunately, the
base
andthis
words near the constructors are not clickable. I'd expect to have them clickable and navigate to appropriate constructor.I've found that this is because of the following code in the CSharpOutputVisitor.cs file:
You write
this
andbase
as keywords, rather than as tokens. If we change that toWriteToken
, they will become clickable and navigation will be hugely improved.Could you please clarify whether that is an appropriate way to fix the issue and improve the navigation? If yes, I could create a PR. If not, please point me to the right direction.
P.S. I've also found that issue could be fixed in the TextTokenWriter.cs file in the ILSpy project. We could check if this is a special token and fix handle it as identifier. Is that more appropriate way?
Thanks!