def _checkEpytext(self, node_type, node, linenoDocstring):
        """
        Check epytext of docstring.

        @param node_type: type of node
        @param node: current node of pylint
        @param linenoDocstring: linenumber of docstring
        """
        if node_type not in ['function', 'method']:
            return
        # Check for arguments.
        # If current node is method,
        # then first argument could not have a epytext markup.
        # The first argument usually named 'self'.
        argnames = (node.argnames()[1:] if node_type == 'method'
                    else node.argnames())

        if _isSetter(node_type, node):
            # For setter methods we remove the `value` argument as it
            # does not need to be documented.
            try:
                argnames.remove('value')
            except ValueError:
                # No `value` in arguments.
                pass

        for argname in argnames:
            if node.name.startswith('opt_'):
                # The docstring for option methods is presented as user-facing
                # documentation.  Avoid requiring epytext in them.
                return
            if not re.search(r"@param\s+%s\s*:" % argname, node.doc):
                self.add_message('W9202', line=linenoDocstring,
                                 node=node, args=argname)
            if not re.search(r"@type\s+%s\s*:" % argname, node.doc):
                self.add_message('W9203', line=linenoDocstring,
                                 node=node, args=argname)

        self._checkReturnValueEpytext(node, linenoDocstring)
Check epytext of docstring.

        @param node_type: type of node
        @param node: current node of pylint
        @param linenoDocstring: linenumber of docstring