code: function findDirectiveMatches(tNode) {
      var registry = tView.directiveRegistry;
      var matches = null;
      if (registry) {
          for (var i = 0; i < registry.length; i++) {
              var def = registry[i];
              if (isNodeMatchingSelectorList(tNode, def.selectors)) {
                  if (def.template) {
                      if (tNode.flags & 4096 /* isComponent */)
                          throwMultipleComponentError(tNode);
                      tNode.flags = 4096 /* isComponent */;
                  }
                  if (def.diPublic)
                      def.diPublic(def);
                  (matches || (matches = [])).push(def, null);
              }
          }
      }
      return matches;
  }
docs: Matches the current node against all available selectors.