private void SetEntryMap(TableMethodPair entry, TableMethodPair impl) { if (impl != null) { EntryMap[entry] = new TableMethodImpl(impl, DerivedLevel); } else { EntryMap[entry] = null; } }
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); }
public TypeMethodImpl(TableMethodImpl tbImpl) { MethodPair = new TypeMethodPair(tbImpl.MethodPair.Item1.GetTypeX(), tbImpl.MethodPair.Item2); Level = tbImpl.Level; }