dotnet / dotnet/linker

[feature/dataflow] Design and implement programmatic way to disable method body scanning

Open
#1,102 0 comments 0 reactions 1 assignee Claimed by @mrvoorhe View on GitHub
area-Linker: DataFlow
Dominant language
C#
Stars
392
Forks
128
Avg merge
2d 10h
Merged PRs (30d)
2

Description

Before the dataflow changes there were several ways custom code could override default linker behavior to either tweak or completely disable reflection pattern matching:
* `MarkInstruction` is virtual - related but was not necessary to override to get custom behavior
* `MarkReflectionLikeDependencies` is virtual - all up override
* `ProcessReflectionDepenency` specific extension point - called once per "call" instruction

With the method body scanner the behavior of the linker changed somewhat. We need to revisit these extension points and decide which ones to keep, and what to add/remove. The goal should be:
* Make it easy to disable the method body scanning in its entirety
* Make it possible to have the same extension points as before (or at least something very similar)
* Fast - extension points should not slow down linker when they're not used

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.