(1) MetaLinks allow attaching metaobjects to nodes in a method's AST that are called before, after, or instead of the node executing. (2) This enables fine-grained behavioral reflection by reflecting on individual nodes in the AST. (3) MetaLinks were demonstrated to add logging, breakpoints, code coverage tracking, and a way to "accept methods for testing" without modifying the original code.
Related topics: