| File: Compiler\DependencyAnalysis\TypeManagerIndirectionNode.cs | Web Access |
| Project: src\runtime\src\coreclr\tools\aot\ILCompiler.Compiler\ILCompiler.Compiler.csproj (ILCompiler.Compiler) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Internal.Text; namespace ILCompiler.DependencyAnalysis { public class TypeManagerIndirectionNode : ObjectNode, ISymbolDefinitionNode { public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__typemanager_indirection"u8); } public int Offset => 0; public override bool IsShareable => false; protected override string GetName(NodeFactory factory) => this.GetMangledName(factory.NameMangler); public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.DataSection; public override bool StaticDependenciesAreComputed => true; public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory, relocsOnly); objData.AddSymbol(this); objData.RequireInitialPointerAlignment(); objData.EmitZeroPointer(); objData.EmitZeroPointer(); return objData.ToObjectData(); } public override int ClassCode => -2028598574; } }