dotnet/runtime

[ILVerify]Add '--tokens' switch

Open

#37,395 建立於 2018年12月18日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)C# (5,445 fork)batch import
Priority:3area-Tools-ILVerificationhelp wanted

倉庫指標

Star
 (17,886 star)
PR 合併指標
 (平均合併 12天 11小時) (30 天內合併 661 個 PR)

描述

Today when ILVerify found issue we report tokens/offsets value for type system item for IL methods i.e.

[IL]: Error: [C:\git\corert\bin\Windows_NT.x64.Debug\ILVerification.Tests\Tests\BranchingTests.dll : BranchingTestsType::Branching.FromTryIntoFinally_Invalid_BranchOutOfTry.BranchIntoHandler()][offset 0x00000004] Branch out of try block.

We added some new type check and we decided to not report token value for it because they are not useful for regular use i.e.

[MD]: Error: Interface implementation has a duplicate. Class '[InterfaceImplementation]InterfaceImplHasDuplicate_InvalidType_InterfaceImplHasDuplicate' Interface: '[InterfaceDefinition]Interface'

However there are some scenario where tokens are useful, for instance on obfuscated code. We should refactor code to have token values only if a user pass '--tokens' switch to command line. Reference https://github.com/dotnet/corert/pull/6687#discussion_r241916514

Task list:

Extra: cleanup code https://github.com/dotnet/corert/pull/6758#discussion_r248405930

貢獻者指南