    # File lib/yard/docstring_parser.rb, line 208
        def create_directive(tag_name, tag_buf)
          if library.has_directive?(tag_name)
            dir = library.directive_create(tag_name, tag_buf, self)
            if dir.is_a?(Tags::Directive)
              @directives << dir
              dir
            end
          else
            log.warn "Unknown directive @!#{tag_name}" +
              (object ? " in file `#{object.file}` near line #{object.line}" : "")
            nil
          end
        rescue Tags::TagFormatError
          log.warn "Invalid directive format for @!#{tag_name}" +
            (object ? " in file `#{object.file}` near line #{object.line}" : "")
          nil
        end