code: function(state) {
        var views = {};
  
        forEach(isDefined(state.views) ? state.views : { '': state }, function (view, name) {
          if (name.indexOf('@') < 0) name += '@' + state.parent.name;
          views[name] = view;
        });
        return views;
      }
docs: If there is no explicit multi-view configuration, make one up so we don't have to handle both cases in the view directive later. Note that having an explicit 'views' property will mean the default unnamed view properties are ignored. This is also a good time to resolve view names to absolute names, so everything is a straight lookup at link time.