| File: Compiler\SingleMethodCompilationModuleGroup.cs | Web Access |
| Project: src\runtime\src\coreclr\tools\aot\ILCompiler.ReadyToRun\ILCompiler.ReadyToRun.csproj (ILCompiler.ReadyToRun) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Generic; using Internal.ReadyToRunConstants; using Internal.TypeSystem; using Internal.TypeSystem.Ecma; namespace ILCompiler { /// <summary> /// A compilation group that only contains a single method. Useful for development purposes when investigating /// code generation issues. /// </summary> public class SingleMethodCompilationModuleGroup : ReadyToRunCompilationModuleGroupBase { private MethodDesc _method; public SingleMethodCompilationModuleGroup( ReadyToRunCompilationModuleGroupConfig config, MethodDesc method) : base(config) { _method = method; } public override bool ContainsMethodBody(MethodDesc method, bool unboxingStub) { return (method == _method) || (method == _method.GetCanonMethodTarget(CanonicalFormKind.Specific)); } public override ReadyToRunFlags GetReadyToRunFlags() { // Partial by definition. return base.GetReadyToRunFlags() | ReadyToRunFlags.READYTORUN_FLAG_Partial; } } }