private AssemblyReferenceHandle FindOrCreateRuntimeReference()

in src/Refasmer/Importer/Utils.cs [83:102]


    private AssemblyReferenceHandle FindOrCreateRuntimeReference()
    {
        var runtimeRef = FindRuntimeReference();

        if (!IsNil(runtimeRef))
            return runtimeRef;

        // For now always creating ref to mscorlib
        // TODO: try to detect which runtime should be referenced

        runtimeRef = _builder.AddAssemblyReference(
            _builder.GetOrAddString("mscorlib"),
            new Version(4, 0, 0, 0),
            default, _builder.GetOrAddBlob(MscorlibPublicKeyBlob),
            default, default);

        Trace?.Invoke($"Created mscorlib assembly reference {RowId(runtimeRef)}");

        return runtimeRef;
    }