Esempio n. 1
0
 private void SetEntryMap(TableMethodPair entry, TableMethodPair impl)
 {
     if (impl != null)
     {
         EntryMap[entry] = new TableMethodImpl(impl, DerivedLevel);
     }
     else
     {
         EntryMap[entry] = null;
     }
 }
Esempio n. 2
0
 private void MergeExpandedEntry(
     Dictionary <TableMethodPair, TableMethodImpl> expEntryMap,
     TableMethodPair entry,
     TableMethodPair impl,
     uint level)
 {
     if (expEntryMap.TryGetValue(entry, out var oval))
     {
         // 不覆盖同一个类内的相同签名, 对于不同的类则子类方法优先
         if (oval.Level >= level)
         {
             return;
         }
     }
     expEntryMap[entry] = new TableMethodImpl(impl, level);
 }
Esempio n. 3
0
 public TypeMethodImpl(TableMethodImpl tbImpl)
 {
     MethodPair = new TypeMethodPair(tbImpl.MethodPair.Item1.GetTypeX(), tbImpl.MethodPair.Item2);
     Level      = tbImpl.Level;
 }