title: How to implement call caching (Memoization)
body: <p>I want to implement call cache(memoization) in non-intrusive way with the metadata annotations.</p>
  
  <p>Hopefully, it will work like this:</p>
  
  
  
  <pre class="lang-dart prettyprint-override"><code>class A{
    @Cached
    foo(msg) {
      return msg;
    }
  }
  
  void main() {
    @Cached
    var foo = ()=&gt;"hello";
  }
  </code></pre>
  
  <p>Can it be achieved with only <code>dart:mirrors</code> ?</p>