Looking at this post, you cannot extends Map and its subclass. I think the best way to get what you want is to implement it.
class LazyMap implements Map {
Map _inner = {};
operator [](key) => _inner.putIfAbsent(key, () => key.length);
// forward all method to _inner
}