コード例 #1
0
ファイル: KeywordLookupSite.cs プロジェクト: 101v/clojure-clr
 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);
 }
コード例 #2
0
ファイル: KeywordLookupSite.cs プロジェクト: 101v/clojure-clr
 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);
 }