def METHOD_NAME(self, **kwargs):
    """Perform app syntax checking"""
    # Check that the supplied content dir exists
    content_dir = mooseutils.eval_path(self.content_directory)
    if not os.path.isdir(content_dir):
        content_dir = os.path.join(self.working_dir, content_dir)
    if not os.path.isdir(content_dir):
        raise NotADirectoryError("'content_directory' input is not a directory: {}".format(content_dir))
    # Populate the available list of files
    file_cache = mooseutils.git_ls_files(content_dir)
    # Check that the supplied exe dir exists
    exe_dir = mooseutils.eval_path(self.exe_directory)
    if not os.path.isdir(exe_dir):
        exe_dir = os.path.join(self.working_dir, exe_dir)
    if not os.path.isdir(exe_dir):
        raise NotADirectoryError("'exe_directory' input is not a directory: {}".format(exe_dir))
    # Locate the executable
    exe = mooseutils.find_moose_executable(exe_dir, name=self.exe_name, show_error=False)
    if exe is None:
        raise OSError("An executable was not found in '{}' with a name '{}'.".format(exe_dir, self.exe_name))
    # Determine the application type (e.g., MooseTestApp)
    if self.app_types is None:
        out = subprocess.check_output([exe, '--type'], encoding='utf-8')
        match = re.search(r'^MooseApp Type:\s+(?P<type>.*?)$', out, flags=re.MULTILINE)
        if match:
            self.app_types = [match.group("type").replace('TestApp', 'App')]
    # Build syntax tree if not provided
    if self.app_syntax is None:
        # Get the removed/alias information
        remove = self._loadYamlFiles(self.remove)
        alias = self._loadYamlFiles(self.alias)
        unregister = self._loadYamlFiles(self.unregister)
        # Build the complete syntax tree
        self.app_syntax = moosesyntax.get_moose_syntax_tree(exe, remove=remove,
                                                            alias=alias, unregister=unregister)
    # Perform the checks
    kwargs.setdefault('syntax_prefix', mooseutils.eval_path(self.syntax_prefix))
    kwargs.setdefault('object_prefix', mooseutils.eval_path(self.object_prefix))
    kwargs.setdefault('allow_test_objects', self.allow_test_objects)
    logger = check_syntax(self.app_syntax, self.app_types, file_cache, **kwargs)
    return logger