src/sys/dotnet/fan/sys/ClassType.cs
/// <summary>
/// Finish ensures we have reflected and emitted, then does
/// the final binding between slots and .NET members.
/// </summary>
Finish ensures we have reflected and emitted, then does
the final binding between slots and .NET members.
Finish ensures we have reflected and emitted then does the final binding between slots and . NET members .
[MethodImpl(MethodImplOptions.Synchronized)]
    public override void finish()
    {
      if (m_finished) return;
      try
      {
        reflect();
        emit();
        m_finished = true;
        finishSlots(m_type, false);
        if (isMixin()) finishSlots(m_auxType, true);
      }
      catch (Exception e)
      {
        Err.dumpStack(e);
        throw Err.make("Cannot emitFinish: " + m_qname + "." + m_finishing, e).val;
      }
      finally
      {
        m_finishing = null;
      }
    }
[ MethodImpl ( MethodImplOptions . Synchronized ) ] public override void finish ( ) { if ( m_finished ) return ; try { reflect ( ) ; emit ( ) ; m_finished = true ; finishSlots ( m_type , false ) ; if ( isMixin ( ) ) finishSlots ( m_auxType , true ) ; } catch ( Exception e ) { Err . dumpStack ( e ) ; throw Err . make ( " " + m_qname + " " + m_finishing , e ) . val ; } finally { m_finishing = null ; } }
Finish ensures we have reflected and emitted, then does
the final binding between slots and .NET members.
Finish ensures we have reflected and emitted then does the final binding between slots and . NET members .
// ensure reflected and emitted // map .NET members to my slots for reflection; if // mixin then we do this for both the interface and // the static methods only of the implementation class