diff options
author | Michal Strehovský <MichalStrehovsky@users.noreply.github.com> | 2017-07-01 04:38:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-01 04:38:31 +0300 |
commit | db7a7cb1c8acfb9c29a3e1e3400ac5394efefefb (patch) | |
tree | ab33e6c9a6e0ec680125865bc666fa7c9554287f /src/ILVerify | |
parent | 5a7b35a81a0e2faf2255f96e44d96e32fa375bec (diff) |
Fix handling of bad IL in ILScanner (#4044)
While the scanner is not trying to be an IL validator, we should at
least not crash.
* Update IL importer to provide hooks for bad IL (this is mostly to
prevent it from crashing with IndexOutOfRangeExceptions).
* Remove exception throwing from the shared ILImporter (while we might
want to throw most of the time, ILVerify probably doesn't want to).
* Do not crash when trying to determine static bases of instance fields.
* Fix constrained method handling.
Diffstat (limited to 'src/ILVerify')
-rw-r--r-- | src/ILVerify/src/ILImporter.Verify.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ILVerify/src/ILImporter.Verify.cs b/src/ILVerify/src/ILImporter.Verify.cs index 806980e8f..fc732a8a2 100644 --- a/src/ILVerify/src/ILImporter.Verify.cs +++ b/src/ILVerify/src/ILImporter.Verify.cs @@ -1740,5 +1740,20 @@ namespace Internal.IL { throw new PlatformNotSupportedException("TypedReference not supported in .NET Core"); } + + private void ReportInvalidBranchTarget(int targetOffset) + { + throw new NotImplementedException(); + } + + private void ReportFallthroughAtEndOfMethod() + { + throw new NotImplementedException(); + } + + private void ReportInvalidInstruction(ILOpcode opcode) + { + throw new NotImplementedException(); + } } } |