private EntityHandle FindOrCreateNotImplementedStringCtor()

in src/Refasmer/Importer/MockupMethodBody.cs [39:65]


    private EntityHandle FindOrCreateNotImplementedStringCtor()
    {
        var ctorHandle = FindMethod(FullNames.NotImplementedException, ".ctor", CheckNotImplementedCtorSignature);
            
        if (!IsNil(ctorHandle))
        {
            Trace?.Invoke($"Found NotImplementedException constructor {_reader.ToString(ctorHandle)}");                
            return Import(ctorHandle);
        }

        var runtimeRef = FindOrCreateRuntimeReference();

        var notImplExceptionTypeRef = _builder.AddTypeReference(runtimeRef, _builder.GetOrAddString("System"), 
            _builder.GetOrAddString("NotImplementedException"));

        var ctor = new BlobBuilder();

        new BlobEncoder(ctor).MethodSignature(isInstanceMethod: true).Parameters(1, t => t.Void(),
            p => { p.AddParameter().Type().String(); });

        var ctorBlob = _builder.GetOrAddBlob(ctor);

        ctorHandle = _builder.AddMemberReference(notImplExceptionTypeRef, _builder.GetOrAddString(".ctor"), ctorBlob);
        Trace?.Invoke($"Created NotImplementedException constructor reference {RowId(ctorHandle)}");

        return ctorHandle;
    }