Esempio n. 1
0
 private object Install(object target, ILookupHost host)
 {
     ILookupThunk t = ((IKeywordLookup)target).getLookupThunk(_k);
     if (t != null)
     {
         host.swapThunk(_n, t);
         return t.get(target);
     }
     host.swapThunk(_n, CreateThunk(target.GetType()));
     return ((ILookup)target).valAt(_k);
 }
Esempio n. 2
0
 public object fault(object target, ILookupHost host)
 {
     if (target is IKeywordLookup)
         return Install(target, host);
     else if (target is ILookup)
     {
         host.swapThunk(_n, CreateThunk(target.GetType()));
         return ((ILookup)target).valAt(_k);
     }
     host.swapThunk(_n, this);
     return RT.get(target, _k);
 }